From 7c12bbafcb138d91c0e774ec6cb1b27e4d4ff1b0 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Thu, 10 Sep 2026 18:33:16 -0700 Subject: [PATCH 01/15] regen projects from latest --- .../ai/projects/BetaDatasetsAsyncClient.java | 10 +-- .../azure/ai/projects/BetaDatasetsClient.java | 10 +-- .../implementation/BetaDatasetsImpl.java | 40 +++++----- .../models/DataGenerationJobOptions.java | 54 +++---------- .../DataGenerationJobOutputOptions.java | 35 ++++++++ .../DataGenerationJobOutputWriteMode.java | 59 ++++++++++++++ .../SimpleQnADataGenerationJobOptions.java | 28 +++++-- ...imulationSeedDataGenerationJobOptions.java | 43 ++++------ ...UseFineTuningDataGenerationJobOptions.java | 28 +++++-- .../TracesDataGenerationJobOptions.java | 80 ++++++++++++------- .../models/TracesDataGenerationJobSource.java | 34 ++++++++ .../META-INF/azure-ai-projects_metadata.json | 2 +- sdk/ai/azure-ai-projects/tsp-location.yaml | 2 +- 13 files changed, 282 insertions(+), 143 deletions(-) create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java index 8ff2cf9f3da79..2f9db4a46db1b 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java @@ -69,7 +69,6 @@ public final class BetaDatasetsAsyncClient { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -82,6 +81,7 @@ public final class BetaDatasetsAsyncClient { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -183,7 +183,6 @@ public Mono> getGenerationJobWithResponse(String jobId, Req * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -196,6 +195,7 @@ public Mono> getGenerationJobWithResponse(String jobId, Req * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -266,7 +266,6 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -279,6 +278,7 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -535,7 +535,6 @@ public Mono deleteGenerationJob(String jobId) { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -548,6 +547,7 @@ public Mono deleteGenerationJob(String jobId) { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -601,7 +601,6 @@ public Mono deleteGenerationJob(String jobId) { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -614,6 +613,7 @@ public Mono deleteGenerationJob(String jobId) { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java index 0ea47c7e7fd8c..942e519482162 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java @@ -63,7 +63,6 @@ public final class BetaDatasetsClient { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -76,6 +75,7 @@ public final class BetaDatasetsClient { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -176,7 +176,6 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -189,6 +188,7 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -259,7 +259,6 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -272,6 +271,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -503,7 +503,6 @@ public void deleteGenerationJob(String jobId) { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -516,6 +515,7 @@ public void deleteGenerationJob(String jobId) { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -569,7 +569,6 @@ public void deleteGenerationJob(String jobId) { * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -582,6 +581,7 @@ public void deleteGenerationJob(String jobId) { * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java index b9ae3941c5add..86055c770bb5c 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java @@ -208,7 +208,6 @@ Response deleteGenerationJobSync(@HostParam("endpoint") String endpoint, @ * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -221,6 +220,7 @@ Response deleteGenerationJobSync(@HostParam("endpoint") String endpoint, @ * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -303,7 +303,6 @@ public Mono> getGenerationJobWithResponseAsync(String jobId * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -316,6 +315,7 @@ public Mono> getGenerationJobWithResponseAsync(String jobId * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -417,7 +417,6 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -430,6 +429,7 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -525,7 +525,6 @@ private Mono> listGenerationJobsSinglePageAsync(Reques * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -538,6 +537,7 @@ private Mono> listGenerationJobsSinglePageAsync(Reques * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -627,7 +627,6 @@ public PagedFlux listGenerationJobsAsync(RequestOptions requestOptio * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -640,6 +639,7 @@ public PagedFlux listGenerationJobsAsync(RequestOptions requestOptio * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -733,7 +733,6 @@ private PagedResponse listGenerationJobsSinglePage(RequestOptions re * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -746,6 +745,7 @@ private PagedResponse listGenerationJobsSinglePage(RequestOptions re * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -823,7 +823,6 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -836,6 +835,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -889,7 +889,6 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -902,6 +901,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -984,7 +984,6 @@ private Mono> createGenerationJobWithResponseAsync(BinaryDa * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -997,6 +996,7 @@ private Mono> createGenerationJobWithResponseAsync(BinaryDa * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1050,7 +1050,6 @@ private Mono> createGenerationJobWithResponseAsync(BinaryDa * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1063,6 +1062,7 @@ private Mono> createGenerationJobWithResponseAsync(BinaryDa * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1144,7 +1144,6 @@ private Response createGenerationJobWithResponse(BinaryData job, Req * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1157,6 +1156,7 @@ private Response createGenerationJobWithResponse(BinaryData job, Req * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1210,7 +1210,6 @@ private Response createGenerationJobWithResponse(BinaryData job, Req * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1223,6 +1222,7 @@ private Response createGenerationJobWithResponse(BinaryData job, Req * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1313,7 +1313,6 @@ public PollerFlux beginCreateGenerat * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1326,6 +1325,7 @@ public PollerFlux beginCreateGenerat * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1379,7 +1379,6 @@ public PollerFlux beginCreateGenerat * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1392,6 +1391,7 @@ public PollerFlux beginCreateGenerat * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1482,7 +1482,6 @@ public SyncPoller beginCreateGenerat * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1495,6 +1494,7 @@ public SyncPoller beginCreateGenerat * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1548,7 +1548,6 @@ public SyncPoller beginCreateGenerat * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1561,6 +1560,7 @@ public SyncPoller beginCreateGenerat * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1650,7 +1650,6 @@ public PollerFlux beginCreateGenerationJobAsync(BinaryDa * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1663,6 +1662,7 @@ public PollerFlux beginCreateGenerationJobAsync(BinaryDa * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1716,7 +1716,6 @@ public PollerFlux beginCreateGenerationJobAsync(BinaryDa * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1729,6 +1728,7 @@ public PollerFlux beginCreateGenerationJobAsync(BinaryDa * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1809,7 +1809,6 @@ public SyncPoller beginCreateGenerationJob(BinaryData jo * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1822,6 +1821,7 @@ public SyncPoller beginCreateGenerationJob(BinaryData jo * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { @@ -1895,7 +1895,6 @@ public Mono> cancelGenerationJobWithResponseAsync(String jo * ] * options (Required): { * type: String(simple_qna/traces/tool_use/simulation_seed) (Required) - * max_samples: int (Required) * train_split: Double (Optional) * model_options (Optional): { * model: String (Required) @@ -1908,6 +1907,7 @@ public Mono> cancelGenerationJobWithResponseAsync(String jo * tags (Optional): { * String: String (Required) * } + * write_mode: String(overwrite/merge) (Optional) * } * } * result (Optional): { diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java index 5b2180d91b3d9..76cb2279eeab9 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java @@ -25,12 +25,6 @@ public class DataGenerationJobOptions implements JsonSerializable { - int maxSamples = 0; - DataGenerationJobType type = null; - Double trainSplit = null; - DataGenerationModelOptions modelOptions = null; + DataGenerationJobOptions deserializedDataGenerationJobOptions = new DataGenerationJobOptions(); while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_samples".equals(fieldName)) { - maxSamples = reader.getInt(); - } else if ("type".equals(fieldName)) { - type = DataGenerationJobType.fromString(reader.getString()); + if ("type".equals(fieldName)) { + deserializedDataGenerationJobOptions.type = DataGenerationJobType.fromString(reader.getString()); } else if ("train_split".equals(fieldName)) { - trainSplit = reader.getNullable(JsonReader::getDouble); + deserializedDataGenerationJobOptions.trainSplit = reader.getNullable(JsonReader::getDouble); } else if ("model_options".equals(fieldName)) { - modelOptions = DataGenerationModelOptions.fromJson(reader); + deserializedDataGenerationJobOptions.modelOptions = DataGenerationModelOptions.fromJson(reader); } else { reader.skipChildren(); } } - DataGenerationJobOptions deserializedDataGenerationJobOptions = new DataGenerationJobOptions(maxSamples); - deserializedDataGenerationJobOptions.type = type; - deserializedDataGenerationJobOptions.trainSplit = trainSplit; - deserializedDataGenerationJobOptions.modelOptions = modelOptions; return deserializedDataGenerationJobOptions; }); } + + /** + * Creates an instance of DataGenerationJobOptions class. + */ + @Generated + public DataGenerationJobOptions() { + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java index c173aa33a6802..57f8f575b3f18 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java @@ -130,6 +130,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStringField("name", this.name); jsonWriter.writeStringField("description", this.description); jsonWriter.writeMapField("tags", this.tags, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("write_mode", this.writeMode == null ? null : this.writeMode.toString()); return jsonWriter.writeEndObject(); } @@ -156,6 +157,9 @@ public static DataGenerationJobOutputOptions fromJson(JsonReader jsonReader) thr } else if ("tags".equals(fieldName)) { Map tags = reader.readMap(reader1 -> reader1.getString()); deserializedDataGenerationJobOutputOptions.tags = tags; + } else if ("write_mode".equals(fieldName)) { + deserializedDataGenerationJobOutputOptions.writeMode + = DataGenerationJobOutputWriteMode.fromString(reader.getString()); } else { reader.skipChildren(); } @@ -163,4 +167,35 @@ public static DataGenerationJobOutputOptions fromJson(JsonReader jsonReader) thr return deserializedDataGenerationJobOutputOptions; }); } + + /* + * Controls how dataset outputs are written. If omitted, defaults to `overwrite` and creates the next dataset + * version using only newly generated rows. + */ + @Generated + private DataGenerationJobOutputWriteMode writeMode; + + /** + * Get the writeMode property: Controls how dataset outputs are written. If omitted, defaults to `overwrite` and + * creates the next dataset version using only newly generated rows. + * + * @return the writeMode value. + */ + @Generated + public DataGenerationJobOutputWriteMode getWriteMode() { + return this.writeMode; + } + + /** + * Set the writeMode property: Controls how dataset outputs are written. If omitted, defaults to `overwrite` and + * creates the next dataset version using only newly generated rows. + * + * @param writeMode the writeMode value to set. + * @return the DataGenerationJobOutputOptions object itself. + */ + @Generated + public DataGenerationJobOutputOptions setWriteMode(DataGenerationJobOutputWriteMode writeMode) { + this.writeMode = writeMode; + return this; + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java new file mode 100644 index 0000000000000..b577747222a82 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.projects.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The supported write modes for data generation job outputs. + */ +public final class DataGenerationJobOutputWriteMode extends ExpandableStringEnum { + + /** + * Default behavior. Create the next dataset version using only newly generated rows, replacing the previous + * version's rows in the new version. + */ + @Generated + public static final DataGenerationJobOutputWriteMode OVERWRITE = fromString("overwrite"); + + /** + * Applicable only for trace data generation jobs that output evaluation datasets. Create the next dataset version + * by merging newly generated rows with the latest existing dataset version and de-duping trace rows. + */ + @Generated + public static final DataGenerationJobOutputWriteMode MERGE = fromString("merge"); + + /** + * Creates a new instance of DataGenerationJobOutputWriteMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public DataGenerationJobOutputWriteMode() { + } + + /** + * Creates or finds a DataGenerationJobOutputWriteMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding DataGenerationJobOutputWriteMode. + */ + @Generated + public static DataGenerationJobOutputWriteMode fromString(String name) { + return fromString(name, DataGenerationJobOutputWriteMode.class); + } + + /** + * Gets known DataGenerationJobOutputWriteMode values. + * + * @return known DataGenerationJobOutputWriteMode values. + */ + @Generated + public static Collection values() { + return values(DataGenerationJobOutputWriteMode.class); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java index f2daf837f12b8..b403e1dac08c4 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java @@ -38,7 +38,7 @@ public final class SimpleQnADataGenerationJobOptions extends DataGenerationJobOp */ @Generated public SimpleQnADataGenerationJobOptions(int maxSamples) { - super(maxSamples); + this.maxSamples = maxSamples; } /** @@ -101,9 +101,9 @@ public SimpleQnADataGenerationJobOptions setModelOptions(DataGenerationModelOpti @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeIntField("max_samples", getMaxSamples()); jsonWriter.writeNumberField("train_split", getTrainSplit()); jsonWriter.writeJsonField("model_options", getModelOptions()); + jsonWriter.writeIntField("max_samples", this.maxSamples); jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); jsonWriter.writeArrayField("question_types", this.questionTypes, (writer, element) -> writer.writeString(element == null ? null : element.toString())); @@ -122,20 +122,20 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { @Generated public static SimpleQnADataGenerationJobOptions fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - int maxSamples = 0; Double trainSplit = null; DataGenerationModelOptions modelOptions = null; + int maxSamples = 0; DataGenerationJobType type = DataGenerationJobType.SIMPLE_QNA; List questionTypes = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_samples".equals(fieldName)) { - maxSamples = reader.getInt(); - } else if ("train_split".equals(fieldName)) { + if ("train_split".equals(fieldName)) { trainSplit = reader.getNullable(JsonReader::getDouble); } else if ("model_options".equals(fieldName)) { modelOptions = DataGenerationModelOptions.fromJson(reader); + } else if ("max_samples".equals(fieldName)) { + maxSamples = reader.getInt(); } else if ("type".equals(fieldName)) { type = DataGenerationJobType.fromString(reader.getString()); } else if ("question_types".equals(fieldName)) { @@ -154,4 +154,20 @@ public static SimpleQnADataGenerationJobOptions fromJson(JsonReader jsonReader) return deserializedSimpleQnADataGenerationJobOptions; }); } + + /* + * Maximum number of samples to generate, up to service-defined limits. + */ + @Generated + private final int maxSamples; + + /** + * Get the maxSamples property: Maximum number of samples to generate, up to service-defined limits. + * + * @return the maxSamples value. + */ + @Generated + public int getMaxSamples() { + return this.maxSamples; + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java index ea68e78e59dae..95fcc69f27be1 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java @@ -26,16 +26,6 @@ public final class SimulationSeedDataGenerationJobOptions extends DataGeneration @Generated private DataGenerationJobType type = DataGenerationJobType.SIMULATION_SEED; - /** - * Creates an instance of SimulationSeedDataGenerationJobOptions class. - * - * @param maxSamples the maxSamples value to set. - */ - @Generated - public SimulationSeedDataGenerationJobOptions(int maxSamples) { - super(maxSamples); - } - /** * Get the type property: The data generation job type. * @@ -74,7 +64,6 @@ public SimulationSeedDataGenerationJobOptions setModelOptions(DataGenerationMode @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeIntField("max_samples", getMaxSamples()); jsonWriter.writeNumberField("train_split", getTrainSplit()); jsonWriter.writeJsonField("model_options", getModelOptions()); jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); @@ -87,37 +76,37 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { * @param jsonReader The JsonReader being read. * @return An instance of SimulationSeedDataGenerationJobOptions 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 SimulationSeedDataGenerationJobOptions. */ @Generated public static SimulationSeedDataGenerationJobOptions fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - int maxSamples = 0; - Double trainSplit = null; - DataGenerationModelOptions modelOptions = null; - DataGenerationJobType type = DataGenerationJobType.SIMULATION_SEED; + SimulationSeedDataGenerationJobOptions deserializedSimulationSeedDataGenerationJobOptions + = new SimulationSeedDataGenerationJobOptions(); while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_samples".equals(fieldName)) { - maxSamples = reader.getInt(); - } else if ("train_split".equals(fieldName)) { - trainSplit = reader.getNullable(JsonReader::getDouble); + if ("train_split".equals(fieldName)) { + deserializedSimulationSeedDataGenerationJobOptions + .setTrainSplit(reader.getNullable(JsonReader::getDouble)); } else if ("model_options".equals(fieldName)) { - modelOptions = DataGenerationModelOptions.fromJson(reader); + deserializedSimulationSeedDataGenerationJobOptions + .setModelOptions(DataGenerationModelOptions.fromJson(reader)); } else if ("type".equals(fieldName)) { - type = DataGenerationJobType.fromString(reader.getString()); + deserializedSimulationSeedDataGenerationJobOptions.type + = DataGenerationJobType.fromString(reader.getString()); } else { reader.skipChildren(); } } - SimulationSeedDataGenerationJobOptions deserializedSimulationSeedDataGenerationJobOptions - = new SimulationSeedDataGenerationJobOptions(maxSamples); - deserializedSimulationSeedDataGenerationJobOptions.setTrainSplit(trainSplit); - deserializedSimulationSeedDataGenerationJobOptions.setModelOptions(modelOptions); - deserializedSimulationSeedDataGenerationJobOptions.type = type; return deserializedSimulationSeedDataGenerationJobOptions; }); } + + /** + * Creates an instance of SimulationSeedDataGenerationJobOptions class. + */ + @Generated + public SimulationSeedDataGenerationJobOptions() { + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java index 61772e83165c8..7e88fea0e6a37 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java @@ -31,7 +31,7 @@ public final class ToolUseFineTuningDataGenerationJobOptions extends DataGenerat */ @Generated public ToolUseFineTuningDataGenerationJobOptions(int maxSamples) { - super(maxSamples); + this.maxSamples = maxSamples; } /** @@ -72,9 +72,9 @@ public ToolUseFineTuningDataGenerationJobOptions setModelOptions(DataGenerationM @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeIntField("max_samples", getMaxSamples()); jsonWriter.writeNumberField("train_split", getTrainSplit()); jsonWriter.writeJsonField("model_options", getModelOptions()); + jsonWriter.writeIntField("max_samples", this.maxSamples); jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); return jsonWriter.writeEndObject(); } @@ -91,19 +91,19 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { @Generated public static ToolUseFineTuningDataGenerationJobOptions fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - int maxSamples = 0; Double trainSplit = null; DataGenerationModelOptions modelOptions = null; + int maxSamples = 0; DataGenerationJobType type = DataGenerationJobType.TOOL_USE; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_samples".equals(fieldName)) { - maxSamples = reader.getInt(); - } else if ("train_split".equals(fieldName)) { + if ("train_split".equals(fieldName)) { trainSplit = reader.getNullable(JsonReader::getDouble); } else if ("model_options".equals(fieldName)) { modelOptions = DataGenerationModelOptions.fromJson(reader); + } else if ("max_samples".equals(fieldName)) { + maxSamples = reader.getInt(); } else if ("type".equals(fieldName)) { type = DataGenerationJobType.fromString(reader.getString()); } else { @@ -118,4 +118,20 @@ public static ToolUseFineTuningDataGenerationJobOptions fromJson(JsonReader json return deserializedToolUseFineTuningDataGenerationJobOptions; }); } + + /* + * Maximum number of samples to generate, up to service-defined limits. + */ + @Generated + private final int maxSamples; + + /** + * Get the maxSamples property: Maximum number of samples to generate, up to service-defined limits. + * + * @return the maxSamples value. + */ + @Generated + public int getMaxSamples() { + return this.maxSamples; + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java index 042c4b89086b9..49d9ee70f0c60 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java @@ -24,16 +24,6 @@ public final class TracesDataGenerationJobOptions extends DataGenerationJobOptio @Generated private DataGenerationJobType type = DataGenerationJobType.TRACES; - /** - * Creates an instance of TracesDataGenerationJobOptions class. - * - * @param maxSamples the maxSamples value to set. - */ - @Generated - public TracesDataGenerationJobOptions(int maxSamples) { - super(maxSamples); - } - /** * Get the type property: The data generation job type. * @@ -72,10 +62,10 @@ public TracesDataGenerationJobOptions setModelOptions(DataGenerationModelOptions @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeIntField("max_samples", getMaxSamples()); jsonWriter.writeNumberField("train_split", getTrainSplit()); jsonWriter.writeJsonField("model_options", getModelOptions()); jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("max_samples", this.maxSamples); jsonWriter.writeBooleanField("redact_private_content", this.redactPrivateContent); return jsonWriter.writeEndObject(); } @@ -86,40 +76,33 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { * @param jsonReader The JsonReader being read. * @return An instance of TracesDataGenerationJobOptions 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 TracesDataGenerationJobOptions. */ @Generated public static TracesDataGenerationJobOptions fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - int maxSamples = 0; - Double trainSplit = null; - DataGenerationModelOptions modelOptions = null; - DataGenerationJobType type = DataGenerationJobType.TRACES; - Boolean redactPrivateContent = null; + TracesDataGenerationJobOptions deserializedTracesDataGenerationJobOptions + = new TracesDataGenerationJobOptions(); while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_samples".equals(fieldName)) { - maxSamples = reader.getInt(); - } else if ("train_split".equals(fieldName)) { - trainSplit = reader.getNullable(JsonReader::getDouble); + if ("train_split".equals(fieldName)) { + deserializedTracesDataGenerationJobOptions.setTrainSplit(reader.getNullable(JsonReader::getDouble)); } else if ("model_options".equals(fieldName)) { - modelOptions = DataGenerationModelOptions.fromJson(reader); + deserializedTracesDataGenerationJobOptions + .setModelOptions(DataGenerationModelOptions.fromJson(reader)); } else if ("type".equals(fieldName)) { - type = DataGenerationJobType.fromString(reader.getString()); + deserializedTracesDataGenerationJobOptions.type + = DataGenerationJobType.fromString(reader.getString()); + } else if ("max_samples".equals(fieldName)) { + deserializedTracesDataGenerationJobOptions.maxSamples = reader.getNullable(JsonReader::getInt); } else if ("redact_private_content".equals(fieldName)) { - redactPrivateContent = reader.getNullable(JsonReader::getBoolean); + deserializedTracesDataGenerationJobOptions.redactPrivateContent + = reader.getNullable(JsonReader::getBoolean); } else { reader.skipChildren(); } } - TracesDataGenerationJobOptions deserializedTracesDataGenerationJobOptions - = new TracesDataGenerationJobOptions(maxSamples); - deserializedTracesDataGenerationJobOptions.setTrainSplit(trainSplit); - deserializedTracesDataGenerationJobOptions.setModelOptions(modelOptions); - deserializedTracesDataGenerationJobOptions.type = type; - deserializedTracesDataGenerationJobOptions.redactPrivateContent = redactPrivateContent; return deserializedTracesDataGenerationJobOptions; }); } @@ -154,4 +137,41 @@ public TracesDataGenerationJobOptions setRedactPrivateContent(Boolean redactPriv this.redactPrivateContent = redactPrivateContent; return this; } + + /* + * Maximum number of samples to generate, up to service-defined limits. If omitted, sampling is turned off. + */ + @Generated + private Integer maxSamples; + + /** + * Creates an instance of TracesDataGenerationJobOptions class. + */ + @Generated + public TracesDataGenerationJobOptions() { + } + + /** + * Get the maxSamples property: Maximum number of samples to generate, up to service-defined limits. If omitted, + * sampling is turned off. + * + * @return the maxSamples value. + */ + @Generated + public Integer getMaxSamples() { + return this.maxSamples; + } + + /** + * Set the maxSamples property: Maximum number of samples to generate, up to service-defined limits. If omitted, + * sampling is turned off. + * + * @param maxSamples the maxSamples value to set. + * @return the TracesDataGenerationJobOptions object itself. + */ + @Generated + public TracesDataGenerationJobOptions setMaxSamples(Integer maxSamples) { + this.maxSamples = maxSamples; + return this; + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java index 6a70f04c7c629..3dbdfc2ab95f0 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java @@ -13,6 +13,7 @@ import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneOffset; +import java.util.List; /** * Traces source for data generation jobs — conversation traces from Application Insights. @@ -238,6 +239,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStringField("agent_name", this.agentName); jsonWriter.writeStringField("agent_version", this.agentVersion); jsonWriter.writeNumberField("end_time", this.endTime); + jsonWriter.writeArrayField("trace_ids", this.traceIds, (writer, element) -> writer.writeString(element)); return jsonWriter.writeEndObject(); } @@ -260,6 +262,7 @@ public static TracesDataGenerationJobSource fromJson(JsonReader jsonReader) thro String agentName = null; String agentVersion = null; Long endTime = null; + List traceIds = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); @@ -277,6 +280,8 @@ public static TracesDataGenerationJobSource fromJson(JsonReader jsonReader) thro agentVersion = reader.getString(); } else if ("end_time".equals(fieldName)) { endTime = reader.getNullable(JsonReader::getLong); + } else if ("trace_ids".equals(fieldName)) { + traceIds = reader.readArray(reader1 -> reader1.getString()); } else { reader.skipChildren(); } @@ -289,7 +294,36 @@ public static TracesDataGenerationJobSource fromJson(JsonReader jsonReader) thro deserializedTracesDataGenerationJobSource.agentName = agentName; deserializedTracesDataGenerationJobSource.agentVersion = agentVersion; deserializedTracesDataGenerationJobSource.endTime = endTime; + deserializedTracesDataGenerationJobSource.traceIds = traceIds; return deserializedTracesDataGenerationJobSource; }); } + + /* + * Optional explicit list of trace IDs to include. + */ + @Generated + private List traceIds; + + /** + * Get the traceIds property: Optional explicit list of trace IDs to include. + * + * @return the traceIds value. + */ + @Generated + public List getTraceIds() { + return this.traceIds; + } + + /** + * Set the traceIds property: Optional explicit list of trace IDs to include. + * + * @param traceIds the traceIds value to set. + * @return the TracesDataGenerationJobSource object itself. + */ + @Generated + public TracesDataGenerationJobSource setTraceIds(List traceIds) { + this.traceIds = traceIds; + return this; + } } diff --git a/sdk/ai/azure-ai-projects/src/main/resources/META-INF/azure-ai-projects_metadata.json b/sdk/ai/azure-ai-projects/src/main/resources/META-INF/azure-ai-projects_metadata.json index c2b3139aac305..304c508b86592 100644 --- a/sdk/ai/azure-ai-projects/src/main/resources/META-INF/azure-ai-projects_metadata.json +++ b/sdk/ai/azure-ai-projects/src/main/resources/META-INF/azure-ai-projects_metadata.json @@ -1 +1 @@ -{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"eda2c016ab74","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient":"Azure.AI.Projects.Beta.AgentInsightMonitors","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.beginCreateAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.beginCreateAgentInsightRunWithModel":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.cancelAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.cancelAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.createAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.createAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.deleteAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.deleteAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsightMonitors":"Azure.AI.Projects.AgentInsightMonitors.list","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsightRuns":"Azure.AI.Projects.AgentInsightMonitors.listRuns","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsights":"Azure.AI.Projects.AgentInsightMonitors.listInsights","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.resetAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.resetAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient":"Azure.AI.Projects.Beta.AgentInsightMonitors","com.azure.ai.projects.BetaAgentInsightMonitorsClient.beginCreateAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.beginCreateAgentInsightRunWithModel":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.cancelAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.cancelAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.createAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsClient.createAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsClient.deleteAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsClient.deleteAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsightMonitors":"Azure.AI.Projects.AgentInsightMonitors.list","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsightRuns":"Azure.AI.Projects.AgentInsightMonitors.listRuns","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsights":"Azure.AI.Projects.AgentInsightMonitors.listInsights","com.azure.ai.projects.BetaAgentInsightMonitorsClient.resetAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsClient.resetAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaDatasetsAsyncClient":"Azure.AI.Projects.Beta.Datasets","com.azure.ai.projects.BetaDatasetsAsyncClient.beginCreateGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.beginCreateGenerationJobWithModel":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsAsyncClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsAsyncClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsAsyncClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsAsyncClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsAsyncClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsAsyncClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.BetaDatasetsClient":"Azure.AI.Projects.Beta.Datasets","com.azure.ai.projects.BetaDatasetsClient.beginCreateGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.beginCreateGenerationJobWithModel":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient":"Azure.AI.Projects.Beta.EvaluationTaxonomies","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesClient":"Azure.AI.Projects.Beta.EvaluationTaxonomies","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluatorsAsyncClient":"Azure.AI.Projects.Beta.Evaluators","com.azure.ai.projects.BetaEvaluatorsAsyncClient.beginCreateEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.beginCreateEvaluatorGenerationJobWithModel":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.BetaEvaluatorsAsyncClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsAsyncClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsAsyncClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsClient":"Azure.AI.Projects.Beta.Evaluators","com.azure.ai.projects.BetaEvaluatorsClient.beginCreateEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.beginCreateEvaluatorGenerationJobWithModel":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.BetaEvaluatorsClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.BetaEvaluatorsClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.BetaEvaluatorsClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaInsightsAsyncClient":"Azure.AI.Projects.Beta.Insights","com.azure.ai.projects.BetaInsightsAsyncClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsAsyncClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsAsyncClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsAsyncClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsAsyncClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.BetaInsightsClient":"Azure.AI.Projects.Beta.Insights","com.azure.ai.projects.BetaInsightsClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.BetaModelsAsyncClient":"Azure.AI.Projects.Beta.Models","com.azure.ai.projects.BetaModelsAsyncClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.BetaModelsAsyncClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsAsyncClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsAsyncClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsAsyncClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsAsyncClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsAsyncClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsAsyncClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.BetaModelsAsyncClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.BetaModelsAsyncClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsAsyncClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsAsyncClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsAsyncClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsClient":"Azure.AI.Projects.Beta.Models","com.azure.ai.projects.BetaModelsClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.BetaModelsClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.BetaModelsClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.BetaModelsClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaRedTeamsAsyncClient":"Azure.AI.Projects.Beta.RedTeams","com.azure.ai.projects.BetaRedTeamsAsyncClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsAsyncClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsAsyncClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsAsyncClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsAsyncClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.BetaRedTeamsClient":"Azure.AI.Projects.Beta.RedTeams","com.azure.ai.projects.BetaRedTeamsClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.BetaRoutinesAsyncClient":"Azure.AI.Projects.Beta.Routines","com.azure.ai.projects.BetaRoutinesAsyncClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.dispatchRoutine":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesAsyncClient.dispatchRoutineWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesAsyncClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.BetaRoutinesAsyncClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.BetaRoutinesClient":"Azure.AI.Projects.Beta.Routines","com.azure.ai.projects.BetaRoutinesClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesClient.dispatchRoutine":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesClient.dispatchRoutineWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.BetaRoutinesClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.BetaSchedulesAsyncClient":"Azure.AI.Projects.Beta.Schedules","com.azure.ai.projects.BetaSchedulesAsyncClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesAsyncClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesAsyncClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesAsyncClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesAsyncClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesAsyncClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.BetaSchedulesAsyncClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.BetaSchedulesClient":"Azure.AI.Projects.Beta.Schedules","com.azure.ai.projects.BetaSchedulesClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.BetaSchedulesClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.BetaSkillsAsyncClient":"Azure.AI.Projects.Beta.Skills","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionFromFilesWithResponseInternal":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsAsyncClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.BetaSkillsAsyncClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.BetaSkillsAsyncClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsAsyncClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsClient":"Azure.AI.Projects.Beta.Skills","com.azure.ai.projects.BetaSkillsClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsClient.createSkillVersionFromFilesWithResponseInternal":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.BetaSkillsClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.BetaSkillsClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.ConnectionsAsyncClient":"Azure.AI.Projects.Connections","com.azure.ai.projects.ConnectionsAsyncClient.getConnection":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithCredentials":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithCredentialsWithResponse":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithResponse":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsAsyncClient.listConnections":"Azure.AI.Projects.Connections.list","com.azure.ai.projects.ConnectionsClient":"Azure.AI.Projects.Connections","com.azure.ai.projects.ConnectionsClient.getConnection":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsClient.getConnectionWithCredentials":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsClient.getConnectionWithCredentialsWithResponse":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsClient.getConnectionWithResponse":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsClient.listConnections":"Azure.AI.Projects.Connections.list","com.azure.ai.projects.DatasetsAsyncClient":"Azure.AI.Projects.Datasets","com.azure.ai.projects.DatasetsAsyncClient.createOrUpdateDatasetVersion":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsAsyncClient.createOrUpdateDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsAsyncClient.deleteDatasetVersion":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsAsyncClient.deleteDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsAsyncClient.getCredentials":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsAsyncClient.getDatasetVersion":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsAsyncClient.getDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsAsyncClient.listDatasetVersions":"Azure.AI.Projects.Datasets.listVersions","com.azure.ai.projects.DatasetsAsyncClient.listLatestDatasetVersions":"Azure.AI.Projects.Datasets.listLatest","com.azure.ai.projects.DatasetsAsyncClient.pendingUpload":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsAsyncClient.pendingUploadWithResponse":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsClient":"Azure.AI.Projects.Datasets","com.azure.ai.projects.DatasetsClient.createOrUpdateDatasetVersion":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsClient.createOrUpdateDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsClient.deleteDatasetVersion":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsClient.deleteDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsClient.getCredentials":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsClient.getCredentialsWithResponse":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsClient.getDatasetVersion":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsClient.getDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsClient.listDatasetVersions":"Azure.AI.Projects.Datasets.listVersions","com.azure.ai.projects.DatasetsClient.listLatestDatasetVersions":"Azure.AI.Projects.Datasets.listLatest","com.azure.ai.projects.DatasetsClient.pendingUpload":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsClient.pendingUploadWithResponse":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DeploymentsAsyncClient":"Azure.AI.Projects.Deployments","com.azure.ai.projects.DeploymentsAsyncClient.getDeployment":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsAsyncClient.getDeploymentWithResponse":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsAsyncClient.listDeployments":"Azure.AI.Projects.Deployments.list","com.azure.ai.projects.DeploymentsClient":"Azure.AI.Projects.Deployments","com.azure.ai.projects.DeploymentsClient.getDeployment":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsClient.getDeploymentWithResponse":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsClient.listDeployments":"Azure.AI.Projects.Deployments.list","com.azure.ai.projects.EvaluationRulesAsyncClient":"Azure.AI.Projects.EvaluationRules","com.azure.ai.projects.EvaluationRulesAsyncClient.createOrUpdateEvaluationRule":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesAsyncClient.createOrUpdateEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesAsyncClient.deleteEvaluationRule":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesAsyncClient.deleteEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesAsyncClient.getEvaluationRule":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesAsyncClient.getEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesAsyncClient.listEvaluationRules":"Azure.AI.Projects.EvaluationRules.list","com.azure.ai.projects.EvaluationRulesClient":"Azure.AI.Projects.EvaluationRules","com.azure.ai.projects.EvaluationRulesClient.createOrUpdateEvaluationRule":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesClient.createOrUpdateEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesClient.deleteEvaluationRule":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesClient.deleteEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesClient.getEvaluationRule":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesClient.getEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesClient.listEvaluationRules":"Azure.AI.Projects.EvaluationRules.list","com.azure.ai.projects.IndexesAsyncClient":"Azure.AI.Projects.Indexes","com.azure.ai.projects.IndexesAsyncClient.createOrUpdateIndexVersion":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesAsyncClient.createOrUpdateIndexVersionWithResponse":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesAsyncClient.deleteIndexVersion":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesAsyncClient.deleteIndexVersionWithResponse":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesAsyncClient.getIndexVersion":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesAsyncClient.getIndexVersionWithResponse":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesAsyncClient.listIndexVersions":"Azure.AI.Projects.Indexes.listVersions","com.azure.ai.projects.IndexesAsyncClient.listLatestIndexVersions":"Azure.AI.Projects.Indexes.listLatest","com.azure.ai.projects.IndexesClient":"Azure.AI.Projects.Indexes","com.azure.ai.projects.IndexesClient.createOrUpdateIndexVersion":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesClient.createOrUpdateIndexVersionWithResponse":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesClient.deleteIndexVersion":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesClient.deleteIndexVersionWithResponse":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesClient.getIndexVersion":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesClient.getIndexVersionWithResponse":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesClient.listIndexVersions":"Azure.AI.Projects.Indexes.listVersions","com.azure.ai.projects.IndexesClient.listLatestIndexVersions":"Azure.AI.Projects.Indexes.listLatest","com.azure.ai.projects.implementation.models.CreateOrUpdateRoutineRequest":"Azure.AI.Projects.createOrUpdateRoutine.Request.anonymous","com.azure.ai.projects.implementation.models.CreateSkillVersionRequest":"Azure.AI.Projects.createSkillVersion.Request.anonymous","com.azure.ai.projects.implementation.models.DispatchRoutineAsyncRequest":"Azure.AI.Projects.dispatchRoutineAsync.Request.anonymous","com.azure.ai.projects.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.projects.implementation.models.UpdateSkillRequest":"Azure.AI.Projects.updateSkill.Request.anonymous","com.azure.ai.projects.models.AIProjectIndex":"Azure.AI.Projects.Index","com.azure.ai.projects.models.AgentClusterInsightRequest":"Azure.AI.Projects.AgentClusterInsightRequest","com.azure.ai.projects.models.AgentClusterInsightResult":"Azure.AI.Projects.AgentClusterInsightResult","com.azure.ai.projects.models.AgentDataGenerationJobSource":"Azure.AI.Projects.AgentDataGenerationJobSource","com.azure.ai.projects.models.AgentEvaluatorGenerationJobSource":"Azure.AI.Projects.AgentEvaluatorGenerationJobSource","com.azure.ai.projects.models.AgentInsight":"Azure.AI.Projects.AgentInsight","com.azure.ai.projects.models.AgentInsightDetails":"Azure.AI.Projects.AgentInsightDetails","com.azure.ai.projects.models.AgentInsightEstimatedCost":"Azure.AI.Projects.AgentInsightEstimatedCost","com.azure.ai.projects.models.AgentInsightHighlightedTrace":"Azure.AI.Projects.AgentInsightHighlightedTrace","com.azure.ai.projects.models.AgentInsightLinkedTrace":"Azure.AI.Projects.AgentInsightLinkedTrace","com.azure.ai.projects.models.AgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitor","com.azure.ai.projects.models.AgentInsightMonitorCreate":"Azure.AI.Projects.AgentInsightMonitorCreate","com.azure.ai.projects.models.AgentInsightMonitorListItem":"Azure.AI.Projects.AgentInsightMonitorListItem","com.azure.ai.projects.models.AgentInsightMonitorUpdate":"Azure.AI.Projects.AgentInsightMonitorUpdate","com.azure.ai.projects.models.AgentInsightOverviewSource":"Azure.AI.Projects.AgentInsightOverviewSource","com.azure.ai.projects.models.AgentInsightPromptSurface":"Azure.AI.Projects.AgentInsightPromptSurface","com.azure.ai.projects.models.AgentInsightProposedFix":"Azure.AI.Projects.AgentInsightProposedFix","com.azure.ai.projects.models.AgentInsightProposedFixChange":"Azure.AI.Projects.AgentInsightProposedFixChange","com.azure.ai.projects.models.AgentInsightProposedFixKind":"Azure.AI.Projects.AgentInsightProposedFixKind","com.azure.ai.projects.models.AgentInsightRecommendedAction":"Azure.AI.Projects.AgentInsightRecommendedAction","com.azure.ai.projects.models.AgentInsightRun":"Azure.AI.Projects.AgentInsightRun","com.azure.ai.projects.models.AgentInsightRunCreate":"Azure.AI.Projects.AgentInsightRunCreate","com.azure.ai.projects.models.AgentInsightRunResult":"Azure.AI.Projects.AgentInsightRunResult","com.azure.ai.projects.models.AgentInsightRunTrigger":"Azure.AI.Projects.AgentInsightRunTrigger","com.azure.ai.projects.models.AgentInsightSeverity":"Azure.AI.Projects.AgentInsightSeverity","com.azure.ai.projects.models.AgentInsightStatus":"Azure.AI.Projects.AgentInsightStatus","com.azure.ai.projects.models.AgentInsightSuspension":"Azure.AI.Projects.AgentInsightSuspension","com.azure.ai.projects.models.AgentInsightTokenUsage":"Azure.AI.Projects.AgentInsightTokenUsage","com.azure.ai.projects.models.AgentInsightUpdate":"Azure.AI.Projects.AgentInsightUpdate","com.azure.ai.projects.models.AgentInsightsOverview":"Azure.AI.Projects.AgentInsightsOverview","com.azure.ai.projects.models.AgentInsightsOverviewOverride":"Azure.AI.Projects.AgentInsightsOverviewOverride","com.azure.ai.projects.models.AgentTaxonomyInput":"Azure.AI.Projects.AgentTaxonomyInput","com.azure.ai.projects.models.AgenticIdentityPreviewCredential":"Azure.AI.Projects.AgenticIdentityPreviewCredentials","com.azure.ai.projects.models.ApiError":"OpenAI.Error","com.azure.ai.projects.models.ApiKeyCredential":"Azure.AI.Projects.ApiKeyCredentials","com.azure.ai.projects.models.ArtifactProfile":"Azure.AI.Projects.ArtifactProfile","com.azure.ai.projects.models.AttackStrategy":"Azure.AI.Projects.AttackStrategy","com.azure.ai.projects.models.AzureAIAgentTarget":"Azure.AI.Projects.AzureAIAgentTarget","com.azure.ai.projects.models.AzureAIModelTarget":"Azure.AI.Projects.AzureAIModelTarget","com.azure.ai.projects.models.AzureAISearchIndex":"Azure.AI.Projects.AzureAISearchIndex","com.azure.ai.projects.models.AzureOpenAIModelConfiguration":"Azure.AI.Projects.AzureOpenAIModelConfiguration","com.azure.ai.projects.models.BaseCredential":"Azure.AI.Projects.BaseCredentials","com.azure.ai.projects.models.BlobReference":"Azure.AI.Projects.BlobReference","com.azure.ai.projects.models.BlobReferenceSasCredential":"Azure.AI.Projects.SasCredential","com.azure.ai.projects.models.ChartCoordinate":"Azure.AI.Projects.ChartCoordinate","com.azure.ai.projects.models.ClusterInsightResult":"Azure.AI.Projects.ClusterInsightResult","com.azure.ai.projects.models.ClusterTokenUsage":"Azure.AI.Projects.ClusterTokenUsage","com.azure.ai.projects.models.CodeBasedEvaluatorDefinition":"Azure.AI.Projects.CodeBasedEvaluatorDefinition","com.azure.ai.projects.models.Connection":"Azure.AI.Projects.Connection","com.azure.ai.projects.models.ConnectionType":"Azure.AI.Projects.ConnectionType","com.azure.ai.projects.models.ContinuousEvaluationRuleAction":"Azure.AI.Projects.ContinuousEvaluationRuleAction","com.azure.ai.projects.models.CosmosDBIndex":"Azure.AI.Projects.CosmosDBIndex","com.azure.ai.projects.models.CreateAsyncResponse":"Azure.AI.Projects.createAsync.Response.anonymous","com.azure.ai.projects.models.CreateSkillVersionFromFilesBody":"Azure.AI.Projects.CreateSkillVersionFromFilesBody","com.azure.ai.projects.models.CredentialType":"Azure.AI.Projects.CredentialType","com.azure.ai.projects.models.CronTrigger":"Azure.AI.Projects.CronTrigger","com.azure.ai.projects.models.CustomCredential":"Azure.AI.Projects.CustomCredential","com.azure.ai.projects.models.CustomRoutineTrigger":"Azure.AI.Projects.CustomRoutineTrigger","com.azure.ai.projects.models.DailyRecurrenceSchedule":"Azure.AI.Projects.DailyRecurrenceSchedule","com.azure.ai.projects.models.DataGenerationJob":"Azure.AI.Projects.DataGenerationJob","com.azure.ai.projects.models.DataGenerationJobInputs":"Azure.AI.Projects.DataGenerationJobInputs","com.azure.ai.projects.models.DataGenerationJobOptions":"Azure.AI.Projects.DataGenerationJobOptions","com.azure.ai.projects.models.DataGenerationJobOutput":"Azure.AI.Projects.DataGenerationJobOutput","com.azure.ai.projects.models.DataGenerationJobOutputOptions":"Azure.AI.Projects.DataGenerationJobOutputOptions","com.azure.ai.projects.models.DataGenerationJobOutputType":"Azure.AI.Projects.DataGenerationJobOutputType","com.azure.ai.projects.models.DataGenerationJobResult":"Azure.AI.Projects.DataGenerationJobResult","com.azure.ai.projects.models.DataGenerationJobScenario":"Azure.AI.Projects.DataGenerationJobScenario","com.azure.ai.projects.models.DataGenerationJobSource":"Azure.AI.Projects.DataGenerationJobSource","com.azure.ai.projects.models.DataGenerationJobSourceType":"Azure.AI.Projects.DataGenerationJobSourceType","com.azure.ai.projects.models.DataGenerationJobType":"Azure.AI.Projects.DataGenerationJobType","com.azure.ai.projects.models.DataGenerationModelOptions":"Azure.AI.Projects.DataGenerationModelOptions","com.azure.ai.projects.models.DataGenerationTokenUsage":"Azure.AI.Projects.DataGenerationTokenUsage","com.azure.ai.projects.models.DatasetCredential":"Azure.AI.Projects.AssetCredentialResponse","com.azure.ai.projects.models.DatasetDataGenerationJobOutput":"Azure.AI.Projects.DatasetDataGenerationJobOutput","com.azure.ai.projects.models.DatasetEvaluatorGenerationJobSource":"Azure.AI.Projects.DatasetEvaluatorGenerationJobSource","com.azure.ai.projects.models.DatasetReference":"Azure.AI.Projects.DatasetReference","com.azure.ai.projects.models.DatasetType":"Azure.AI.Projects.DatasetType","com.azure.ai.projects.models.DatasetVersion":"Azure.AI.Projects.DatasetVersion","com.azure.ai.projects.models.Deployment":"Azure.AI.Projects.Deployment","com.azure.ai.projects.models.DeploymentType":"Azure.AI.Projects.DeploymentType","com.azure.ai.projects.models.Dimension":"Azure.AI.Projects.Dimension","com.azure.ai.projects.models.DispatchRoutineResult":"Azure.AI.Projects.DispatchRoutineResponse","com.azure.ai.projects.models.EmbeddingConfiguration":"Azure.AI.Projects.EmbeddingConfiguration","com.azure.ai.projects.models.EndpointBasedEvaluatorDefinition":"Azure.AI.Projects.EndpointBasedEvaluatorDefinition","com.azure.ai.projects.models.EntraIdCredential":"Azure.AI.Projects.EntraIDCredentials","com.azure.ai.projects.models.EvaluationComparisonInsightRequest":"Azure.AI.Projects.EvaluationComparisonInsightRequest","com.azure.ai.projects.models.EvaluationComparisonInsightResult":"Azure.AI.Projects.EvaluationComparisonInsightResult","com.azure.ai.projects.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.projects.models.EvaluationResult":"Azure.AI.Projects.EvalResult","com.azure.ai.projects.models.EvaluationResultSample":"Azure.AI.Projects.EvaluationResultSample","com.azure.ai.projects.models.EvaluationRule":"Azure.AI.Projects.EvaluationRule","com.azure.ai.projects.models.EvaluationRuleAction":"Azure.AI.Projects.EvaluationRuleAction","com.azure.ai.projects.models.EvaluationRuleActionType":"Azure.AI.Projects.EvaluationRuleActionType","com.azure.ai.projects.models.EvaluationRuleEventType":"Azure.AI.Projects.EvaluationRuleEventType","com.azure.ai.projects.models.EvaluationRuleFilter":"Azure.AI.Projects.EvaluationRuleFilter","com.azure.ai.projects.models.EvaluationRunClusterInsightRequest":"Azure.AI.Projects.EvaluationRunClusterInsightRequest","com.azure.ai.projects.models.EvaluationRunClusterInsightResult":"Azure.AI.Projects.EvaluationRunClusterInsightResult","com.azure.ai.projects.models.EvaluationRunResultCompareItem":"Azure.AI.Projects.EvalRunResultCompareItem","com.azure.ai.projects.models.EvaluationRunResultComparison":"Azure.AI.Projects.EvalRunResultComparison","com.azure.ai.projects.models.EvaluationRunResultSummary":"Azure.AI.Projects.EvalRunResultSummary","com.azure.ai.projects.models.EvaluationScheduleTask":"Azure.AI.Projects.EvaluationScheduleTask","com.azure.ai.projects.models.EvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomy","com.azure.ai.projects.models.EvaluationTaxonomyInput":"Azure.AI.Projects.EvaluationTaxonomyInput","com.azure.ai.projects.models.EvaluationTaxonomyInputType":"Azure.AI.Projects.EvaluationTaxonomyInputType","com.azure.ai.projects.models.EvaluatorCategory":"Azure.AI.Projects.EvaluatorCategory","com.azure.ai.projects.models.EvaluatorCredentialInput":"Azure.AI.Projects.EvaluatorCredentialRequest","com.azure.ai.projects.models.EvaluatorDefinition":"Azure.AI.Projects.EvaluatorDefinition","com.azure.ai.projects.models.EvaluatorDefinitionType":"Azure.AI.Projects.EvaluatorDefinitionType","com.azure.ai.projects.models.EvaluatorGenerationArtifacts":"Azure.AI.Projects.EvaluatorGenerationArtifacts","com.azure.ai.projects.models.EvaluatorGenerationInputs":"Azure.AI.Projects.EvaluatorGenerationInputs","com.azure.ai.projects.models.EvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJob","com.azure.ai.projects.models.EvaluatorGenerationJobSource":"Azure.AI.Projects.EvaluatorGenerationJobSource","com.azure.ai.projects.models.EvaluatorGenerationJobSourceType":"Azure.AI.Projects.EvaluatorGenerationJobSourceType","com.azure.ai.projects.models.EvaluatorGenerationTokenUsage":"Azure.AI.Projects.EvaluatorGenerationTokenUsage","com.azure.ai.projects.models.EvaluatorMetric":"Azure.AI.Projects.EvaluatorMetric","com.azure.ai.projects.models.EvaluatorMetricDirection":"Azure.AI.Projects.EvaluatorMetricDirection","com.azure.ai.projects.models.EvaluatorMetricType":"Azure.AI.Projects.EvaluatorMetricType","com.azure.ai.projects.models.EvaluatorType":"Azure.AI.Projects.EvaluatorType","com.azure.ai.projects.models.EvaluatorVersion":"Azure.AI.Projects.EvaluatorVersion","com.azure.ai.projects.models.FieldMapping":"Azure.AI.Projects.FieldMapping","com.azure.ai.projects.models.FileDataGenerationJobOutput":"Azure.AI.Projects.FileDataGenerationJobOutput","com.azure.ai.projects.models.FileDataGenerationJobSource":"Azure.AI.Projects.FileDataGenerationJobSource","com.azure.ai.projects.models.FileDatasetVersion":"Azure.AI.Projects.FileDatasetVersion","com.azure.ai.projects.models.FolderDatasetVersion":"Azure.AI.Projects.FolderDatasetVersion","com.azure.ai.projects.models.FoundryModelArtifactProfileCategory":"Azure.AI.Projects.FoundryModelArtifactProfileCategory","com.azure.ai.projects.models.FoundryModelArtifactProfileSignal":"Azure.AI.Projects.FoundryModelArtifactProfileSignal","com.azure.ai.projects.models.FoundryModelSourceType":"Azure.AI.Projects.FoundryModelSourceType","com.azure.ai.projects.models.FoundryModelWarning":"Azure.AI.Projects.FoundryModelWarning","com.azure.ai.projects.models.FoundryModelWarningCode":"Azure.AI.Projects.FoundryModelWarningCode","com.azure.ai.projects.models.FoundryModelWeightType":"Azure.AI.Projects.FoundryModelWeightType","com.azure.ai.projects.models.GenerationWarningType":"Azure.AI.Projects.GenerationWarningType","com.azure.ai.projects.models.GitHubIssueEvent":"Azure.AI.Projects.GitHubIssueEvent","com.azure.ai.projects.models.GitHubIssueRoutineTrigger":"Azure.AI.Projects.GitHubIssueRoutineTrigger","com.azure.ai.projects.models.GraderAzureAIEvaluator":"Azure.AI.Projects.GraderAzureAIEvaluator","com.azure.ai.projects.models.HourlyRecurrenceSchedule":"Azure.AI.Projects.HourlyRecurrenceSchedule","com.azure.ai.projects.models.HumanEvaluationPreviewRuleAction":"Azure.AI.Projects.HumanEvaluationPreviewRuleAction","com.azure.ai.projects.models.IndexType":"Azure.AI.Projects.IndexType","com.azure.ai.projects.models.Insight":"Azure.AI.Projects.Insight","com.azure.ai.projects.models.InsightCluster":"Azure.AI.Projects.InsightCluster","com.azure.ai.projects.models.InsightModelConfiguration":"Azure.AI.Projects.InsightModelConfiguration","com.azure.ai.projects.models.InsightRequest":"Azure.AI.Projects.InsightRequest","com.azure.ai.projects.models.InsightResult":"Azure.AI.Projects.InsightResult","com.azure.ai.projects.models.InsightSample":"Azure.AI.Projects.InsightSample","com.azure.ai.projects.models.InsightScheduleTask":"Azure.AI.Projects.InsightScheduleTask","com.azure.ai.projects.models.InsightSummary":"Azure.AI.Projects.InsightSummary","com.azure.ai.projects.models.InsightType":"Azure.AI.Projects.InsightType","com.azure.ai.projects.models.InsightsMetadata":"Azure.AI.Projects.InsightsMetadata","com.azure.ai.projects.models.InvokeAgentInvocationsApiDispatchPayload":"Azure.AI.Projects.InvokeAgentInvocationsApiDispatchPayload","com.azure.ai.projects.models.InvokeAgentInvocationsApiRoutineAction":"Azure.AI.Projects.InvokeAgentInvocationsApiRoutineAction","com.azure.ai.projects.models.InvokeAgentResponsesApiDispatchPayload":"Azure.AI.Projects.InvokeAgentResponsesApiDispatchPayload","com.azure.ai.projects.models.InvokeAgentResponsesApiRoutineAction":"Azure.AI.Projects.InvokeAgentResponsesApiRoutineAction","com.azure.ai.projects.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.projects.models.ListVersionsRequestType":"Azure.AI.Projects.listVersions.RequestType.anonymous","com.azure.ai.projects.models.LoraConfig":"Azure.AI.Projects.LoraConfig","com.azure.ai.projects.models.ManagedAzureAISearchIndex":"Azure.AI.Projects.ManagedAzureAISearchIndex","com.azure.ai.projects.models.ModelCredentialInput":"Azure.AI.Projects.ModelCredentialRequest","com.azure.ai.projects.models.ModelDeployment":"Azure.AI.Projects.ModelDeployment","com.azure.ai.projects.models.ModelDeploymentSku":"Azure.AI.Projects.Sku","com.azure.ai.projects.models.ModelPendingUploadInput":"Azure.AI.Projects.ModelPendingUploadRequest","com.azure.ai.projects.models.ModelPendingUploadResult":"Azure.AI.Projects.ModelPendingUploadResponse","com.azure.ai.projects.models.ModelSamplingParams":"Azure.AI.Projects.ModelSamplingParams","com.azure.ai.projects.models.ModelSourceData":"Azure.AI.Projects.ModelSourceData","com.azure.ai.projects.models.ModelVersion":"Azure.AI.Projects.ModelVersion","com.azure.ai.projects.models.MonthlyRecurrenceSchedule":"Azure.AI.Projects.MonthlyRecurrenceSchedule","com.azure.ai.projects.models.NoAuthenticationCredential":"Azure.AI.Projects.NoAuthenticationCredentials","com.azure.ai.projects.models.OneTimeTrigger":"Azure.AI.Projects.OneTimeTrigger","com.azure.ai.projects.models.OperationStatus":"Azure.Core.Foundations.OperationState","com.azure.ai.projects.models.PendingUploadRequest":"Azure.AI.Projects.PendingUploadRequest","com.azure.ai.projects.models.PendingUploadResponse":"Azure.AI.Projects.PendingUploadResponse","com.azure.ai.projects.models.PendingUploadType":"Azure.AI.Projects.PendingUploadType","com.azure.ai.projects.models.PromptBasedEvaluatorDefinition":"Azure.AI.Projects.PromptBasedEvaluatorDefinition","com.azure.ai.projects.models.PromptDataGenerationJobSource":"Azure.AI.Projects.PromptDataGenerationJobSource","com.azure.ai.projects.models.PromptEvaluatorGenerationJobSource":"Azure.AI.Projects.PromptEvaluatorGenerationJobSource","com.azure.ai.projects.models.RecurrenceSchedule":"Azure.AI.Projects.RecurrenceSchedule","com.azure.ai.projects.models.RecurrenceTrigger":"Azure.AI.Projects.RecurrenceTrigger","com.azure.ai.projects.models.RecurrenceType":"Azure.AI.Projects.RecurrenceType","com.azure.ai.projects.models.RedTeam":"Azure.AI.Projects.RedTeam","com.azure.ai.projects.models.RiskCategory":"Azure.AI.Projects.RiskCategory","com.azure.ai.projects.models.Routine":"Azure.AI.Projects.Routine","com.azure.ai.projects.models.RoutineAction":"Azure.AI.Projects.RoutineAction","com.azure.ai.projects.models.RoutineActionType":"Azure.AI.Projects.RoutineActionType","com.azure.ai.projects.models.RoutineAttemptSource":"Azure.AI.Projects.RoutineAttemptSource","com.azure.ai.projects.models.RoutineAuthorization":"Azure.AI.Projects.RoutineAuthorization","com.azure.ai.projects.models.RoutineDispatchIdentity":"Azure.AI.Projects.RoutineDispatchIdentity","com.azure.ai.projects.models.RoutineDispatchPayload":"Azure.AI.Projects.RoutineDispatchPayload","com.azure.ai.projects.models.RoutineDispatchPayloadType":"Azure.AI.Projects.RoutineDispatchPayloadType","com.azure.ai.projects.models.RoutineRun":"Azure.AI.Projects.RoutineRun","com.azure.ai.projects.models.RoutineRunPhase":"Azure.AI.Projects.RoutineRunPhase","com.azure.ai.projects.models.RoutineTrigger":"Azure.AI.Projects.RoutineTrigger","com.azure.ai.projects.models.RoutineTriggerType":"Azure.AI.Projects.RoutineTriggerType","com.azure.ai.projects.models.RubricBasedEvaluatorDefinition":"Azure.AI.Projects.RubricBasedEvaluatorDefinition","com.azure.ai.projects.models.RubricGenerationInputQualityWarning":"Azure.AI.Projects.RubricGenerationInputQualityWarning","com.azure.ai.projects.models.RubricGenerationInputQualityWarningCode":"Azure.AI.Projects.RubricGenerationInputQualityWarningCode","com.azure.ai.projects.models.RubricGenerationInputQualityWarningSeverity":"Azure.AI.Projects.RubricGenerationInputQualityWarningSeverity","com.azure.ai.projects.models.RubricGenerationInputQualityWarningSource":"Azure.AI.Projects.RubricGenerationInputQualityWarningSource","com.azure.ai.projects.models.SampleType":"Azure.AI.Projects.SampleType","com.azure.ai.projects.models.SasCredential":"Azure.AI.Projects.SASCredentials","com.azure.ai.projects.models.Schedule":"Azure.AI.Projects.Schedule","com.azure.ai.projects.models.ScheduleProvisioningStatus":"Azure.AI.Projects.ScheduleProvisioningStatus","com.azure.ai.projects.models.ScheduleRoutineTrigger":"Azure.AI.Projects.ScheduleRoutineTrigger","com.azure.ai.projects.models.ScheduleRun":"Azure.AI.Projects.ScheduleRun","com.azure.ai.projects.models.ScheduleTask":"Azure.AI.Projects.ScheduleTask","com.azure.ai.projects.models.ScheduleTaskType":"Azure.AI.Projects.ScheduleTaskType","com.azure.ai.projects.models.SimpleQnADataGenerationJobOptions":"Azure.AI.Projects.SimpleQnADataGenerationJobOptions","com.azure.ai.projects.models.SimpleQnAFineTuningQuestionType":"Azure.AI.Projects.SimpleQnAFineTuningQuestionType","com.azure.ai.projects.models.SimulationSeedDataGenerationJobOptions":"Azure.AI.Projects.SimulationSeedDataGenerationJobOptions","com.azure.ai.projects.models.SkillDetails":"Azure.AI.Projects.Skill","com.azure.ai.projects.models.SkillFileDetails":"TypeSpec.Http.File","com.azure.ai.projects.models.SkillInlineContent":"Azure.AI.Projects.SkillInlineContent","com.azure.ai.projects.models.SkillVersion":"Azure.AI.Projects.SkillVersion","com.azure.ai.projects.models.Target":"Azure.AI.Projects.Target","com.azure.ai.projects.models.TargetConfig":"Azure.AI.Projects.RedTeamTargetConfig","com.azure.ai.projects.models.TaxonomyCategory":"Azure.AI.Projects.TaxonomyCategory","com.azure.ai.projects.models.TaxonomySubCategory":"Azure.AI.Projects.TaxonomySubCategory","com.azure.ai.projects.models.TestingCriterionAzureAIEvaluator":"Azure.AI.Projects.TestingCriterionAzureAIEvaluator","com.azure.ai.projects.models.TimerRoutineTrigger":"Azure.AI.Projects.TimerRoutineTrigger","com.azure.ai.projects.models.ToolDescription":"Azure.AI.Projects.ToolDescription","com.azure.ai.projects.models.ToolUseFineTuningDataGenerationJobOptions":"Azure.AI.Projects.ToolUseFineTuningDataGenerationJobOptions","com.azure.ai.projects.models.TracesDataGenerationJobOptions":"Azure.AI.Projects.TracesDataGenerationJobOptions","com.azure.ai.projects.models.TracesDataGenerationJobSource":"Azure.AI.Projects.TracesDataGenerationJobSource","com.azure.ai.projects.models.TracesEvaluatorGenerationJobSource":"Azure.AI.Projects.TracesEvaluatorGenerationJobSource","com.azure.ai.projects.models.TreatmentEffectType":"Azure.AI.Projects.TreatmentEffectType","com.azure.ai.projects.models.Trigger":"Azure.AI.Projects.Trigger","com.azure.ai.projects.models.TriggerType":"Azure.AI.Projects.TriggerType","com.azure.ai.projects.models.UpdateModelVersionInput":"Azure.AI.Projects.UpdateModelVersionRequest","com.azure.ai.projects.models.WeeklyRecurrenceSchedule":"Azure.AI.Projects.WeeklyRecurrenceSchedule"},"generatedFiles":["src/main/java/com/azure/ai/projects/AIProjectClientBuilder.java","src/main/java/com/azure/ai/projects/AIProjectsServiceVersion.java","src/main/java/com/azure/ai/projects/BetaAgentInsightMonitorsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaAgentInsightMonitorsClient.java","src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaDatasetsClient.java","src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java","src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java","src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaInsightsClient.java","src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaModelsClient.java","src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java","src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaRoutinesClient.java","src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaSchedulesClient.java","src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaSkillsClient.java","src/main/java/com/azure/ai/projects/ConnectionsAsyncClient.java","src/main/java/com/azure/ai/projects/ConnectionsClient.java","src/main/java/com/azure/ai/projects/DatasetsAsyncClient.java","src/main/java/com/azure/ai/projects/DatasetsClient.java","src/main/java/com/azure/ai/projects/DeploymentsAsyncClient.java","src/main/java/com/azure/ai/projects/DeploymentsClient.java","src/main/java/com/azure/ai/projects/EvaluationRulesAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluationRulesClient.java","src/main/java/com/azure/ai/projects/IndexesAsyncClient.java","src/main/java/com/azure/ai/projects/IndexesClient.java","src/main/java/com/azure/ai/projects/implementation/AIProjectClientImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaAgentInsightMonitorsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaEvaluationTaxonomiesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaEvaluatorsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaInsightsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaRedTeamsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaSchedulesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaSkillsImpl.java","src/main/java/com/azure/ai/projects/implementation/ConnectionsImpl.java","src/main/java/com/azure/ai/projects/implementation/DatasetsImpl.java","src/main/java/com/azure/ai/projects/implementation/DeploymentsImpl.java","src/main/java/com/azure/ai/projects/implementation/EvaluationRulesImpl.java","src/main/java/com/azure/ai/projects/implementation/IndexesImpl.java","src/main/java/com/azure/ai/projects/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/projects/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/projects/implementation/PollingUtils.java","src/main/java/com/azure/ai/projects/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/projects/implementation/models/CreateOrUpdateRoutineRequest.java","src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java","src/main/java/com/azure/ai/projects/implementation/models/DispatchRoutineAsyncRequest.java","src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java","src/main/java/com/azure/ai/projects/implementation/models/package-info.java","src/main/java/com/azure/ai/projects/implementation/package-info.java","src/main/java/com/azure/ai/projects/models/AIProjectIndex.java","src/main/java/com/azure/ai/projects/models/AgentClusterInsightRequest.java","src/main/java/com/azure/ai/projects/models/AgentClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/AgentDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/AgentEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/AgentInsight.java","src/main/java/com/azure/ai/projects/models/AgentInsightDetails.java","src/main/java/com/azure/ai/projects/models/AgentInsightEstimatedCost.java","src/main/java/com/azure/ai/projects/models/AgentInsightHighlightedTrace.java","src/main/java/com/azure/ai/projects/models/AgentInsightLinkedTrace.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitor.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorCreate.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorListItem.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorUpdate.java","src/main/java/com/azure/ai/projects/models/AgentInsightOverviewSource.java","src/main/java/com/azure/ai/projects/models/AgentInsightPromptSurface.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFix.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFixChange.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFixKind.java","src/main/java/com/azure/ai/projects/models/AgentInsightRecommendedAction.java","src/main/java/com/azure/ai/projects/models/AgentInsightRun.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunCreate.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunResult.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunTrigger.java","src/main/java/com/azure/ai/projects/models/AgentInsightSeverity.java","src/main/java/com/azure/ai/projects/models/AgentInsightStatus.java","src/main/java/com/azure/ai/projects/models/AgentInsightSuspension.java","src/main/java/com/azure/ai/projects/models/AgentInsightTokenUsage.java","src/main/java/com/azure/ai/projects/models/AgentInsightUpdate.java","src/main/java/com/azure/ai/projects/models/AgentInsightsOverview.java","src/main/java/com/azure/ai/projects/models/AgentInsightsOverviewOverride.java","src/main/java/com/azure/ai/projects/models/AgentTaxonomyInput.java","src/main/java/com/azure/ai/projects/models/AgenticIdentityPreviewCredential.java","src/main/java/com/azure/ai/projects/models/ApiError.java","src/main/java/com/azure/ai/projects/models/ApiKeyCredential.java","src/main/java/com/azure/ai/projects/models/ArtifactProfile.java","src/main/java/com/azure/ai/projects/models/AttackStrategy.java","src/main/java/com/azure/ai/projects/models/AzureAIAgentTarget.java","src/main/java/com/azure/ai/projects/models/AzureAIModelTarget.java","src/main/java/com/azure/ai/projects/models/AzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/AzureOpenAIModelConfiguration.java","src/main/java/com/azure/ai/projects/models/BaseCredential.java","src/main/java/com/azure/ai/projects/models/BlobReference.java","src/main/java/com/azure/ai/projects/models/BlobReferenceSasCredential.java","src/main/java/com/azure/ai/projects/models/ChartCoordinate.java","src/main/java/com/azure/ai/projects/models/ClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/ClusterTokenUsage.java","src/main/java/com/azure/ai/projects/models/CodeBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/Connection.java","src/main/java/com/azure/ai/projects/models/ConnectionType.java","src/main/java/com/azure/ai/projects/models/ContinuousEvaluationRuleAction.java","src/main/java/com/azure/ai/projects/models/CosmosDBIndex.java","src/main/java/com/azure/ai/projects/models/CreateAsyncResponse.java","src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java","src/main/java/com/azure/ai/projects/models/CredentialType.java","src/main/java/com/azure/ai/projects/models/CronTrigger.java","src/main/java/com/azure/ai/projects/models/CustomCredential.java","src/main/java/com/azure/ai/projects/models/CustomRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/DailyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/DataGenerationJob.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobInputs.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputType.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobResult.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobScenario.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobType.java","src/main/java/com/azure/ai/projects/models/DataGenerationModelOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationTokenUsage.java","src/main/java/com/azure/ai/projects/models/DatasetCredential.java","src/main/java/com/azure/ai/projects/models/DatasetDataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/DatasetEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/DatasetReference.java","src/main/java/com/azure/ai/projects/models/DatasetType.java","src/main/java/com/azure/ai/projects/models/DatasetVersion.java","src/main/java/com/azure/ai/projects/models/Deployment.java","src/main/java/com/azure/ai/projects/models/DeploymentType.java","src/main/java/com/azure/ai/projects/models/Dimension.java","src/main/java/com/azure/ai/projects/models/DispatchRoutineResult.java","src/main/java/com/azure/ai/projects/models/EmbeddingConfiguration.java","src/main/java/com/azure/ai/projects/models/EndpointBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/EntraIdCredential.java","src/main/java/com/azure/ai/projects/models/EvaluationComparisonInsightRequest.java","src/main/java/com/azure/ai/projects/models/EvaluationComparisonInsightResult.java","src/main/java/com/azure/ai/projects/models/EvaluationLevel.java","src/main/java/com/azure/ai/projects/models/EvaluationResult.java","src/main/java/com/azure/ai/projects/models/EvaluationResultSample.java","src/main/java/com/azure/ai/projects/models/EvaluationRule.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleAction.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleActionType.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleEventType.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleFilter.java","src/main/java/com/azure/ai/projects/models/EvaluationRunClusterInsightRequest.java","src/main/java/com/azure/ai/projects/models/EvaluationRunClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultCompareItem.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultComparison.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultSummary.java","src/main/java/com/azure/ai/projects/models/EvaluationScheduleTask.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomy.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomyInput.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomyInputType.java","src/main/java/com/azure/ai/projects/models/EvaluatorCategory.java","src/main/java/com/azure/ai/projects/models/EvaluatorCredentialInput.java","src/main/java/com/azure/ai/projects/models/EvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/EvaluatorDefinitionType.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationArtifacts.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationInputs.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJob.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJobSourceType.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationTokenUsage.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetric.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetricDirection.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetricType.java","src/main/java/com/azure/ai/projects/models/EvaluatorType.java","src/main/java/com/azure/ai/projects/models/EvaluatorVersion.java","src/main/java/com/azure/ai/projects/models/FieldMapping.java","src/main/java/com/azure/ai/projects/models/FileDataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/FileDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/FileDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FolderDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FoundryModelArtifactProfileCategory.java","src/main/java/com/azure/ai/projects/models/FoundryModelArtifactProfileSignal.java","src/main/java/com/azure/ai/projects/models/FoundryModelSourceType.java","src/main/java/com/azure/ai/projects/models/FoundryModelWarning.java","src/main/java/com/azure/ai/projects/models/FoundryModelWarningCode.java","src/main/java/com/azure/ai/projects/models/FoundryModelWeightType.java","src/main/java/com/azure/ai/projects/models/GenerationWarningType.java","src/main/java/com/azure/ai/projects/models/GitHubIssueEvent.java","src/main/java/com/azure/ai/projects/models/GitHubIssueRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/GraderAzureAIEvaluator.java","src/main/java/com/azure/ai/projects/models/HourlyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/HumanEvaluationPreviewRuleAction.java","src/main/java/com/azure/ai/projects/models/IndexType.java","src/main/java/com/azure/ai/projects/models/Insight.java","src/main/java/com/azure/ai/projects/models/InsightCluster.java","src/main/java/com/azure/ai/projects/models/InsightModelConfiguration.java","src/main/java/com/azure/ai/projects/models/InsightRequest.java","src/main/java/com/azure/ai/projects/models/InsightResult.java","src/main/java/com/azure/ai/projects/models/InsightSample.java","src/main/java/com/azure/ai/projects/models/InsightScheduleTask.java","src/main/java/com/azure/ai/projects/models/InsightSummary.java","src/main/java/com/azure/ai/projects/models/InsightType.java","src/main/java/com/azure/ai/projects/models/InsightsMetadata.java","src/main/java/com/azure/ai/projects/models/InvokeAgentInvocationsApiDispatchPayload.java","src/main/java/com/azure/ai/projects/models/InvokeAgentInvocationsApiRoutineAction.java","src/main/java/com/azure/ai/projects/models/InvokeAgentResponsesApiDispatchPayload.java","src/main/java/com/azure/ai/projects/models/InvokeAgentResponsesApiRoutineAction.java","src/main/java/com/azure/ai/projects/models/JobStatus.java","src/main/java/com/azure/ai/projects/models/ListVersionsRequestType.java","src/main/java/com/azure/ai/projects/models/LoraConfig.java","src/main/java/com/azure/ai/projects/models/ManagedAzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/ModelCredentialInput.java","src/main/java/com/azure/ai/projects/models/ModelDeployment.java","src/main/java/com/azure/ai/projects/models/ModelDeploymentSku.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadInput.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadResult.java","src/main/java/com/azure/ai/projects/models/ModelSamplingParams.java","src/main/java/com/azure/ai/projects/models/ModelSourceData.java","src/main/java/com/azure/ai/projects/models/ModelVersion.java","src/main/java/com/azure/ai/projects/models/MonthlyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/NoAuthenticationCredential.java","src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java","src/main/java/com/azure/ai/projects/models/OperationStatus.java","src/main/java/com/azure/ai/projects/models/PendingUploadRequest.java","src/main/java/com/azure/ai/projects/models/PendingUploadResponse.java","src/main/java/com/azure/ai/projects/models/PendingUploadType.java","src/main/java/com/azure/ai/projects/models/PromptBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/PromptDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/PromptEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/RecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java","src/main/java/com/azure/ai/projects/models/RecurrenceType.java","src/main/java/com/azure/ai/projects/models/RedTeam.java","src/main/java/com/azure/ai/projects/models/RiskCategory.java","src/main/java/com/azure/ai/projects/models/Routine.java","src/main/java/com/azure/ai/projects/models/RoutineAction.java","src/main/java/com/azure/ai/projects/models/RoutineActionType.java","src/main/java/com/azure/ai/projects/models/RoutineAttemptSource.java","src/main/java/com/azure/ai/projects/models/RoutineAuthorization.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchIdentity.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchPayload.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchPayloadType.java","src/main/java/com/azure/ai/projects/models/RoutineRun.java","src/main/java/com/azure/ai/projects/models/RoutineRunPhase.java","src/main/java/com/azure/ai/projects/models/RoutineTrigger.java","src/main/java/com/azure/ai/projects/models/RoutineTriggerType.java","src/main/java/com/azure/ai/projects/models/RubricBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarning.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningCode.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningSeverity.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningSource.java","src/main/java/com/azure/ai/projects/models/SampleType.java","src/main/java/com/azure/ai/projects/models/SasCredential.java","src/main/java/com/azure/ai/projects/models/Schedule.java","src/main/java/com/azure/ai/projects/models/ScheduleProvisioningStatus.java","src/main/java/com/azure/ai/projects/models/ScheduleRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/ScheduleRun.java","src/main/java/com/azure/ai/projects/models/ScheduleTask.java","src/main/java/com/azure/ai/projects/models/ScheduleTaskType.java","src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/SimpleQnAFineTuningQuestionType.java","src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/SkillDetails.java","src/main/java/com/azure/ai/projects/models/SkillFileDetails.java","src/main/java/com/azure/ai/projects/models/SkillInlineContent.java","src/main/java/com/azure/ai/projects/models/SkillVersion.java","src/main/java/com/azure/ai/projects/models/Target.java","src/main/java/com/azure/ai/projects/models/TargetConfig.java","src/main/java/com/azure/ai/projects/models/TaxonomyCategory.java","src/main/java/com/azure/ai/projects/models/TaxonomySubCategory.java","src/main/java/com/azure/ai/projects/models/TestingCriterionAzureAIEvaluator.java","src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/ToolDescription.java","src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/TracesEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/TreatmentEffectType.java","src/main/java/com/azure/ai/projects/models/Trigger.java","src/main/java/com/azure/ai/projects/models/TriggerType.java","src/main/java/com/azure/ai/projects/models/UpdateModelVersionInput.java","src/main/java/com/azure/ai/projects/models/WeeklyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/package-info.java","src/main/java/com/azure/ai/projects/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":"f063de0bed09","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient":"Azure.AI.Projects.Beta.AgentInsightMonitors","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.beginCreateAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.beginCreateAgentInsightRunWithModel":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.cancelAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.cancelAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.createAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.createAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.deleteAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.deleteAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.getAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsightMonitors":"Azure.AI.Projects.AgentInsightMonitors.list","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsightRuns":"Azure.AI.Projects.AgentInsightMonitors.listRuns","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.listAgentInsights":"Azure.AI.Projects.AgentInsightMonitors.listInsights","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.resetAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.resetAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsAsyncClient.updateAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient":"Azure.AI.Projects.Beta.AgentInsightMonitors","com.azure.ai.projects.BetaAgentInsightMonitorsClient.beginCreateAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.beginCreateAgentInsightRunWithModel":"Azure.AI.Projects.AgentInsightMonitors.createRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.cancelAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.cancelAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.cancelRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.createAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsClient.createAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.create","com.azure.ai.projects.BetaAgentInsightMonitorsClient.deleteAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsClient.deleteAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.delete","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.get","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightRun":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightRunWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getRun","com.azure.ai.projects.BetaAgentInsightMonitorsClient.getAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.getInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsightMonitors":"Azure.AI.Projects.AgentInsightMonitors.list","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsightRuns":"Azure.AI.Projects.AgentInsightMonitors.listRuns","com.azure.ai.projects.BetaAgentInsightMonitorsClient.listAgentInsights":"Azure.AI.Projects.AgentInsightMonitors.listInsights","com.azure.ai.projects.BetaAgentInsightMonitorsClient.resetAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsClient.resetAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.reset","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsight":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightMonitorWithResponse":"Azure.AI.Projects.AgentInsightMonitors.update","com.azure.ai.projects.BetaAgentInsightMonitorsClient.updateAgentInsightWithResponse":"Azure.AI.Projects.AgentInsightMonitors.updateInsight","com.azure.ai.projects.BetaDatasetsAsyncClient":"Azure.AI.Projects.Beta.Datasets","com.azure.ai.projects.BetaDatasetsAsyncClient.beginCreateGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.beginCreateGenerationJobWithModel":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsAsyncClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsAsyncClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsAsyncClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsAsyncClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsAsyncClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsAsyncClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.BetaDatasetsClient":"Azure.AI.Projects.Beta.Datasets","com.azure.ai.projects.BetaDatasetsClient.beginCreateGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.beginCreateGenerationJobWithModel":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.BetaDatasetsClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.BetaDatasetsClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient":"Azure.AI.Projects.Beta.EvaluationTaxonomies","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesClient":"Azure.AI.Projects.Beta.EvaluationTaxonomies","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluationTaxonomiesClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.BetaEvaluatorsAsyncClient":"Azure.AI.Projects.Beta.Evaluators","com.azure.ai.projects.BetaEvaluatorsAsyncClient.beginCreateEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.beginCreateEvaluatorGenerationJobWithModel":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.BetaEvaluatorsAsyncClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.BetaEvaluatorsAsyncClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsAsyncClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsAsyncClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsAsyncClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsClient":"Azure.AI.Projects.Beta.Evaluators","com.azure.ai.projects.BetaEvaluatorsClient.beginCreateEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.beginCreateEvaluatorGenerationJobWithModel":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.BetaEvaluatorsClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.BetaEvaluatorsClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.BetaEvaluatorsClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.BetaEvaluatorsClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.BetaEvaluatorsClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.BetaEvaluatorsClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaEvaluatorsClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.BetaInsightsAsyncClient":"Azure.AI.Projects.Beta.Insights","com.azure.ai.projects.BetaInsightsAsyncClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsAsyncClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsAsyncClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsAsyncClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsAsyncClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.BetaInsightsClient":"Azure.AI.Projects.Beta.Insights","com.azure.ai.projects.BetaInsightsClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.BetaInsightsClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.BetaInsightsClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.BetaModelsAsyncClient":"Azure.AI.Projects.Beta.Models","com.azure.ai.projects.BetaModelsAsyncClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.BetaModelsAsyncClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsAsyncClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsAsyncClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsAsyncClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsAsyncClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsAsyncClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsAsyncClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.BetaModelsAsyncClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.BetaModelsAsyncClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsAsyncClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsAsyncClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsAsyncClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsClient":"Azure.AI.Projects.Beta.Models","com.azure.ai.projects.BetaModelsClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.BetaModelsClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.BetaModelsClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.BetaModelsClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.BetaModelsClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.BetaModelsClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.BetaModelsClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.BetaModelsClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaModelsClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.BetaRedTeamsAsyncClient":"Azure.AI.Projects.Beta.RedTeams","com.azure.ai.projects.BetaRedTeamsAsyncClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsAsyncClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsAsyncClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsAsyncClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsAsyncClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.BetaRedTeamsClient":"Azure.AI.Projects.Beta.RedTeams","com.azure.ai.projects.BetaRedTeamsClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.BetaRedTeamsClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.BetaRedTeamsClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.BetaRoutinesAsyncClient":"Azure.AI.Projects.Beta.Routines","com.azure.ai.projects.BetaRoutinesAsyncClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.dispatchRoutine":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesAsyncClient.dispatchRoutineWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesAsyncClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesAsyncClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.BetaRoutinesAsyncClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.BetaRoutinesClient":"Azure.AI.Projects.Beta.Routines","com.azure.ai.projects.BetaRoutinesClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.BetaRoutinesClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.BetaRoutinesClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.BetaRoutinesClient.dispatchRoutine":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesClient.dispatchRoutineWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.BetaRoutinesClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.BetaRoutinesClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.BetaRoutinesClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.BetaRoutinesClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.BetaSchedulesAsyncClient":"Azure.AI.Projects.Beta.Schedules","com.azure.ai.projects.BetaSchedulesAsyncClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesAsyncClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesAsyncClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesAsyncClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesAsyncClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesAsyncClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesAsyncClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.BetaSchedulesAsyncClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.BetaSchedulesClient":"Azure.AI.Projects.Beta.Schedules","com.azure.ai.projects.BetaSchedulesClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.BetaSchedulesClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.BetaSchedulesClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.BetaSchedulesClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.BetaSchedulesClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.BetaSchedulesClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.BetaSkillsAsyncClient":"Azure.AI.Projects.Beta.Skills","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionFromFilesWithResponseInternal":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsAsyncClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsAsyncClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsAsyncClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.BetaSkillsAsyncClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.BetaSkillsAsyncClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsAsyncClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsClient":"Azure.AI.Projects.Beta.Skills","com.azure.ai.projects.BetaSkillsClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsClient.createSkillVersionFromFilesWithResponseInternal":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.BetaSkillsClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.BetaSkillsClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.BetaSkillsClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.BetaSkillsClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.BetaSkillsClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.BetaSkillsClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.BetaSkillsClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.ConnectionsAsyncClient":"Azure.AI.Projects.Connections","com.azure.ai.projects.ConnectionsAsyncClient.getConnection":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithCredentials":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithCredentialsWithResponse":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsAsyncClient.getConnectionWithResponse":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsAsyncClient.listConnections":"Azure.AI.Projects.Connections.list","com.azure.ai.projects.ConnectionsClient":"Azure.AI.Projects.Connections","com.azure.ai.projects.ConnectionsClient.getConnection":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsClient.getConnectionWithCredentials":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsClient.getConnectionWithCredentialsWithResponse":"Azure.AI.Projects.Connections.getWithCredentials","com.azure.ai.projects.ConnectionsClient.getConnectionWithResponse":"Azure.AI.Projects.Connections.get","com.azure.ai.projects.ConnectionsClient.listConnections":"Azure.AI.Projects.Connections.list","com.azure.ai.projects.DatasetsAsyncClient":"Azure.AI.Projects.Datasets","com.azure.ai.projects.DatasetsAsyncClient.createOrUpdateDatasetVersion":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsAsyncClient.createOrUpdateDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsAsyncClient.deleteDatasetVersion":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsAsyncClient.deleteDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsAsyncClient.getCredentials":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsAsyncClient.getDatasetVersion":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsAsyncClient.getDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsAsyncClient.listDatasetVersions":"Azure.AI.Projects.Datasets.listVersions","com.azure.ai.projects.DatasetsAsyncClient.listLatestDatasetVersions":"Azure.AI.Projects.Datasets.listLatest","com.azure.ai.projects.DatasetsAsyncClient.pendingUpload":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsAsyncClient.pendingUploadWithResponse":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsClient":"Azure.AI.Projects.Datasets","com.azure.ai.projects.DatasetsClient.createOrUpdateDatasetVersion":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsClient.createOrUpdateDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.createOrUpdateVersion","com.azure.ai.projects.DatasetsClient.deleteDatasetVersion":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsClient.deleteDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.deleteVersion","com.azure.ai.projects.DatasetsClient.getCredentials":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsClient.getCredentialsWithResponse":"Azure.AI.Projects.Datasets.getCredentials","com.azure.ai.projects.DatasetsClient.getDatasetVersion":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsClient.getDatasetVersionWithResponse":"Azure.AI.Projects.Datasets.getVersion","com.azure.ai.projects.DatasetsClient.listDatasetVersions":"Azure.AI.Projects.Datasets.listVersions","com.azure.ai.projects.DatasetsClient.listLatestDatasetVersions":"Azure.AI.Projects.Datasets.listLatest","com.azure.ai.projects.DatasetsClient.pendingUpload":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DatasetsClient.pendingUploadWithResponse":"Azure.AI.Projects.Datasets.startPendingUploadVersion","com.azure.ai.projects.DeploymentsAsyncClient":"Azure.AI.Projects.Deployments","com.azure.ai.projects.DeploymentsAsyncClient.getDeployment":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsAsyncClient.getDeploymentWithResponse":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsAsyncClient.listDeployments":"Azure.AI.Projects.Deployments.list","com.azure.ai.projects.DeploymentsClient":"Azure.AI.Projects.Deployments","com.azure.ai.projects.DeploymentsClient.getDeployment":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsClient.getDeploymentWithResponse":"Azure.AI.Projects.Deployments.get","com.azure.ai.projects.DeploymentsClient.listDeployments":"Azure.AI.Projects.Deployments.list","com.azure.ai.projects.EvaluationRulesAsyncClient":"Azure.AI.Projects.EvaluationRules","com.azure.ai.projects.EvaluationRulesAsyncClient.createOrUpdateEvaluationRule":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesAsyncClient.createOrUpdateEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesAsyncClient.deleteEvaluationRule":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesAsyncClient.deleteEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesAsyncClient.getEvaluationRule":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesAsyncClient.getEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesAsyncClient.listEvaluationRules":"Azure.AI.Projects.EvaluationRules.list","com.azure.ai.projects.EvaluationRulesClient":"Azure.AI.Projects.EvaluationRules","com.azure.ai.projects.EvaluationRulesClient.createOrUpdateEvaluationRule":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesClient.createOrUpdateEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.createOrUpdate","com.azure.ai.projects.EvaluationRulesClient.deleteEvaluationRule":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesClient.deleteEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.delete","com.azure.ai.projects.EvaluationRulesClient.getEvaluationRule":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesClient.getEvaluationRuleWithResponse":"Azure.AI.Projects.EvaluationRules.get","com.azure.ai.projects.EvaluationRulesClient.listEvaluationRules":"Azure.AI.Projects.EvaluationRules.list","com.azure.ai.projects.IndexesAsyncClient":"Azure.AI.Projects.Indexes","com.azure.ai.projects.IndexesAsyncClient.createOrUpdateIndexVersion":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesAsyncClient.createOrUpdateIndexVersionWithResponse":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesAsyncClient.deleteIndexVersion":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesAsyncClient.deleteIndexVersionWithResponse":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesAsyncClient.getIndexVersion":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesAsyncClient.getIndexVersionWithResponse":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesAsyncClient.listIndexVersions":"Azure.AI.Projects.Indexes.listVersions","com.azure.ai.projects.IndexesAsyncClient.listLatestIndexVersions":"Azure.AI.Projects.Indexes.listLatest","com.azure.ai.projects.IndexesClient":"Azure.AI.Projects.Indexes","com.azure.ai.projects.IndexesClient.createOrUpdateIndexVersion":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesClient.createOrUpdateIndexVersionWithResponse":"Azure.AI.Projects.Indexes.createOrUpdateVersion","com.azure.ai.projects.IndexesClient.deleteIndexVersion":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesClient.deleteIndexVersionWithResponse":"Azure.AI.Projects.Indexes.deleteVersion","com.azure.ai.projects.IndexesClient.getIndexVersion":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesClient.getIndexVersionWithResponse":"Azure.AI.Projects.Indexes.getVersion","com.azure.ai.projects.IndexesClient.listIndexVersions":"Azure.AI.Projects.Indexes.listVersions","com.azure.ai.projects.IndexesClient.listLatestIndexVersions":"Azure.AI.Projects.Indexes.listLatest","com.azure.ai.projects.implementation.models.CreateOrUpdateRoutineRequest":"Azure.AI.Projects.createOrUpdateRoutine.Request.anonymous","com.azure.ai.projects.implementation.models.CreateSkillVersionRequest":"Azure.AI.Projects.createSkillVersion.Request.anonymous","com.azure.ai.projects.implementation.models.DispatchRoutineAsyncRequest":"Azure.AI.Projects.dispatchRoutineAsync.Request.anonymous","com.azure.ai.projects.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.projects.implementation.models.UpdateSkillRequest":"Azure.AI.Projects.updateSkill.Request.anonymous","com.azure.ai.projects.models.AIProjectIndex":"Azure.AI.Projects.Index","com.azure.ai.projects.models.AgentClusterInsightRequest":"Azure.AI.Projects.AgentClusterInsightRequest","com.azure.ai.projects.models.AgentClusterInsightResult":"Azure.AI.Projects.AgentClusterInsightResult","com.azure.ai.projects.models.AgentDataGenerationJobSource":"Azure.AI.Projects.AgentDataGenerationJobSource","com.azure.ai.projects.models.AgentEvaluatorGenerationJobSource":"Azure.AI.Projects.AgentEvaluatorGenerationJobSource","com.azure.ai.projects.models.AgentInsight":"Azure.AI.Projects.AgentInsight","com.azure.ai.projects.models.AgentInsightDetails":"Azure.AI.Projects.AgentInsightDetails","com.azure.ai.projects.models.AgentInsightEstimatedCost":"Azure.AI.Projects.AgentInsightEstimatedCost","com.azure.ai.projects.models.AgentInsightHighlightedTrace":"Azure.AI.Projects.AgentInsightHighlightedTrace","com.azure.ai.projects.models.AgentInsightLinkedTrace":"Azure.AI.Projects.AgentInsightLinkedTrace","com.azure.ai.projects.models.AgentInsightMonitor":"Azure.AI.Projects.AgentInsightMonitor","com.azure.ai.projects.models.AgentInsightMonitorCreate":"Azure.AI.Projects.AgentInsightMonitorCreate","com.azure.ai.projects.models.AgentInsightMonitorListItem":"Azure.AI.Projects.AgentInsightMonitorListItem","com.azure.ai.projects.models.AgentInsightMonitorUpdate":"Azure.AI.Projects.AgentInsightMonitorUpdate","com.azure.ai.projects.models.AgentInsightOverviewSource":"Azure.AI.Projects.AgentInsightOverviewSource","com.azure.ai.projects.models.AgentInsightPromptSurface":"Azure.AI.Projects.AgentInsightPromptSurface","com.azure.ai.projects.models.AgentInsightProposedFix":"Azure.AI.Projects.AgentInsightProposedFix","com.azure.ai.projects.models.AgentInsightProposedFixChange":"Azure.AI.Projects.AgentInsightProposedFixChange","com.azure.ai.projects.models.AgentInsightProposedFixKind":"Azure.AI.Projects.AgentInsightProposedFixKind","com.azure.ai.projects.models.AgentInsightRecommendedAction":"Azure.AI.Projects.AgentInsightRecommendedAction","com.azure.ai.projects.models.AgentInsightRun":"Azure.AI.Projects.AgentInsightRun","com.azure.ai.projects.models.AgentInsightRunCreate":"Azure.AI.Projects.AgentInsightRunCreate","com.azure.ai.projects.models.AgentInsightRunResult":"Azure.AI.Projects.AgentInsightRunResult","com.azure.ai.projects.models.AgentInsightRunTrigger":"Azure.AI.Projects.AgentInsightRunTrigger","com.azure.ai.projects.models.AgentInsightSeverity":"Azure.AI.Projects.AgentInsightSeverity","com.azure.ai.projects.models.AgentInsightStatus":"Azure.AI.Projects.AgentInsightStatus","com.azure.ai.projects.models.AgentInsightSuspension":"Azure.AI.Projects.AgentInsightSuspension","com.azure.ai.projects.models.AgentInsightTokenUsage":"Azure.AI.Projects.AgentInsightTokenUsage","com.azure.ai.projects.models.AgentInsightUpdate":"Azure.AI.Projects.AgentInsightUpdate","com.azure.ai.projects.models.AgentInsightsOverview":"Azure.AI.Projects.AgentInsightsOverview","com.azure.ai.projects.models.AgentInsightsOverviewOverride":"Azure.AI.Projects.AgentInsightsOverviewOverride","com.azure.ai.projects.models.AgentTaxonomyInput":"Azure.AI.Projects.AgentTaxonomyInput","com.azure.ai.projects.models.AgenticIdentityPreviewCredential":"Azure.AI.Projects.AgenticIdentityPreviewCredentials","com.azure.ai.projects.models.ApiError":"OpenAI.Error","com.azure.ai.projects.models.ApiKeyCredential":"Azure.AI.Projects.ApiKeyCredentials","com.azure.ai.projects.models.ArtifactProfile":"Azure.AI.Projects.ArtifactProfile","com.azure.ai.projects.models.AttackStrategy":"Azure.AI.Projects.AttackStrategy","com.azure.ai.projects.models.AzureAIAgentTarget":"Azure.AI.Projects.AzureAIAgentTarget","com.azure.ai.projects.models.AzureAIModelTarget":"Azure.AI.Projects.AzureAIModelTarget","com.azure.ai.projects.models.AzureAISearchIndex":"Azure.AI.Projects.AzureAISearchIndex","com.azure.ai.projects.models.AzureOpenAIModelConfiguration":"Azure.AI.Projects.AzureOpenAIModelConfiguration","com.azure.ai.projects.models.BaseCredential":"Azure.AI.Projects.BaseCredentials","com.azure.ai.projects.models.BlobReference":"Azure.AI.Projects.BlobReference","com.azure.ai.projects.models.BlobReferenceSasCredential":"Azure.AI.Projects.SasCredential","com.azure.ai.projects.models.ChartCoordinate":"Azure.AI.Projects.ChartCoordinate","com.azure.ai.projects.models.ClusterInsightResult":"Azure.AI.Projects.ClusterInsightResult","com.azure.ai.projects.models.ClusterTokenUsage":"Azure.AI.Projects.ClusterTokenUsage","com.azure.ai.projects.models.CodeBasedEvaluatorDefinition":"Azure.AI.Projects.CodeBasedEvaluatorDefinition","com.azure.ai.projects.models.Connection":"Azure.AI.Projects.Connection","com.azure.ai.projects.models.ConnectionType":"Azure.AI.Projects.ConnectionType","com.azure.ai.projects.models.ContinuousEvaluationRuleAction":"Azure.AI.Projects.ContinuousEvaluationRuleAction","com.azure.ai.projects.models.CosmosDBIndex":"Azure.AI.Projects.CosmosDBIndex","com.azure.ai.projects.models.CreateAsyncResponse":"Azure.AI.Projects.createAsync.Response.anonymous","com.azure.ai.projects.models.CreateSkillVersionFromFilesBody":"Azure.AI.Projects.CreateSkillVersionFromFilesBody","com.azure.ai.projects.models.CredentialType":"Azure.AI.Projects.CredentialType","com.azure.ai.projects.models.CronTrigger":"Azure.AI.Projects.CronTrigger","com.azure.ai.projects.models.CustomCredential":"Azure.AI.Projects.CustomCredential","com.azure.ai.projects.models.CustomRoutineTrigger":"Azure.AI.Projects.CustomRoutineTrigger","com.azure.ai.projects.models.DailyRecurrenceSchedule":"Azure.AI.Projects.DailyRecurrenceSchedule","com.azure.ai.projects.models.DataGenerationJob":"Azure.AI.Projects.DataGenerationJob","com.azure.ai.projects.models.DataGenerationJobInputs":"Azure.AI.Projects.DataGenerationJobInputs","com.azure.ai.projects.models.DataGenerationJobOptions":"Azure.AI.Projects.DataGenerationJobOptions","com.azure.ai.projects.models.DataGenerationJobOutput":"Azure.AI.Projects.DataGenerationJobOutput","com.azure.ai.projects.models.DataGenerationJobOutputOptions":"Azure.AI.Projects.DataGenerationJobOutputOptions","com.azure.ai.projects.models.DataGenerationJobOutputType":"Azure.AI.Projects.DataGenerationJobOutputType","com.azure.ai.projects.models.DataGenerationJobOutputWriteMode":"Azure.AI.Projects.DataGenerationJobOutputWriteMode","com.azure.ai.projects.models.DataGenerationJobResult":"Azure.AI.Projects.DataGenerationJobResult","com.azure.ai.projects.models.DataGenerationJobScenario":"Azure.AI.Projects.DataGenerationJobScenario","com.azure.ai.projects.models.DataGenerationJobSource":"Azure.AI.Projects.DataGenerationJobSource","com.azure.ai.projects.models.DataGenerationJobSourceType":"Azure.AI.Projects.DataGenerationJobSourceType","com.azure.ai.projects.models.DataGenerationJobType":"Azure.AI.Projects.DataGenerationJobType","com.azure.ai.projects.models.DataGenerationModelOptions":"Azure.AI.Projects.DataGenerationModelOptions","com.azure.ai.projects.models.DataGenerationTokenUsage":"Azure.AI.Projects.DataGenerationTokenUsage","com.azure.ai.projects.models.DatasetCredential":"Azure.AI.Projects.AssetCredentialResponse","com.azure.ai.projects.models.DatasetDataGenerationJobOutput":"Azure.AI.Projects.DatasetDataGenerationJobOutput","com.azure.ai.projects.models.DatasetEvaluatorGenerationJobSource":"Azure.AI.Projects.DatasetEvaluatorGenerationJobSource","com.azure.ai.projects.models.DatasetReference":"Azure.AI.Projects.DatasetReference","com.azure.ai.projects.models.DatasetType":"Azure.AI.Projects.DatasetType","com.azure.ai.projects.models.DatasetVersion":"Azure.AI.Projects.DatasetVersion","com.azure.ai.projects.models.Deployment":"Azure.AI.Projects.Deployment","com.azure.ai.projects.models.DeploymentType":"Azure.AI.Projects.DeploymentType","com.azure.ai.projects.models.Dimension":"Azure.AI.Projects.Dimension","com.azure.ai.projects.models.DispatchRoutineResult":"Azure.AI.Projects.DispatchRoutineResponse","com.azure.ai.projects.models.EmbeddingConfiguration":"Azure.AI.Projects.EmbeddingConfiguration","com.azure.ai.projects.models.EndpointBasedEvaluatorDefinition":"Azure.AI.Projects.EndpointBasedEvaluatorDefinition","com.azure.ai.projects.models.EntraIdCredential":"Azure.AI.Projects.EntraIDCredentials","com.azure.ai.projects.models.EvaluationComparisonInsightRequest":"Azure.AI.Projects.EvaluationComparisonInsightRequest","com.azure.ai.projects.models.EvaluationComparisonInsightResult":"Azure.AI.Projects.EvaluationComparisonInsightResult","com.azure.ai.projects.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.projects.models.EvaluationResult":"Azure.AI.Projects.EvalResult","com.azure.ai.projects.models.EvaluationResultSample":"Azure.AI.Projects.EvaluationResultSample","com.azure.ai.projects.models.EvaluationRule":"Azure.AI.Projects.EvaluationRule","com.azure.ai.projects.models.EvaluationRuleAction":"Azure.AI.Projects.EvaluationRuleAction","com.azure.ai.projects.models.EvaluationRuleActionType":"Azure.AI.Projects.EvaluationRuleActionType","com.azure.ai.projects.models.EvaluationRuleEventType":"Azure.AI.Projects.EvaluationRuleEventType","com.azure.ai.projects.models.EvaluationRuleFilter":"Azure.AI.Projects.EvaluationRuleFilter","com.azure.ai.projects.models.EvaluationRunClusterInsightRequest":"Azure.AI.Projects.EvaluationRunClusterInsightRequest","com.azure.ai.projects.models.EvaluationRunClusterInsightResult":"Azure.AI.Projects.EvaluationRunClusterInsightResult","com.azure.ai.projects.models.EvaluationRunResultCompareItem":"Azure.AI.Projects.EvalRunResultCompareItem","com.azure.ai.projects.models.EvaluationRunResultComparison":"Azure.AI.Projects.EvalRunResultComparison","com.azure.ai.projects.models.EvaluationRunResultSummary":"Azure.AI.Projects.EvalRunResultSummary","com.azure.ai.projects.models.EvaluationScheduleTask":"Azure.AI.Projects.EvaluationScheduleTask","com.azure.ai.projects.models.EvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomy","com.azure.ai.projects.models.EvaluationTaxonomyInput":"Azure.AI.Projects.EvaluationTaxonomyInput","com.azure.ai.projects.models.EvaluationTaxonomyInputType":"Azure.AI.Projects.EvaluationTaxonomyInputType","com.azure.ai.projects.models.EvaluatorCategory":"Azure.AI.Projects.EvaluatorCategory","com.azure.ai.projects.models.EvaluatorCredentialInput":"Azure.AI.Projects.EvaluatorCredentialRequest","com.azure.ai.projects.models.EvaluatorDefinition":"Azure.AI.Projects.EvaluatorDefinition","com.azure.ai.projects.models.EvaluatorDefinitionType":"Azure.AI.Projects.EvaluatorDefinitionType","com.azure.ai.projects.models.EvaluatorGenerationArtifacts":"Azure.AI.Projects.EvaluatorGenerationArtifacts","com.azure.ai.projects.models.EvaluatorGenerationInputs":"Azure.AI.Projects.EvaluatorGenerationInputs","com.azure.ai.projects.models.EvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJob","com.azure.ai.projects.models.EvaluatorGenerationJobSource":"Azure.AI.Projects.EvaluatorGenerationJobSource","com.azure.ai.projects.models.EvaluatorGenerationJobSourceType":"Azure.AI.Projects.EvaluatorGenerationJobSourceType","com.azure.ai.projects.models.EvaluatorGenerationTokenUsage":"Azure.AI.Projects.EvaluatorGenerationTokenUsage","com.azure.ai.projects.models.EvaluatorMetric":"Azure.AI.Projects.EvaluatorMetric","com.azure.ai.projects.models.EvaluatorMetricDirection":"Azure.AI.Projects.EvaluatorMetricDirection","com.azure.ai.projects.models.EvaluatorMetricType":"Azure.AI.Projects.EvaluatorMetricType","com.azure.ai.projects.models.EvaluatorType":"Azure.AI.Projects.EvaluatorType","com.azure.ai.projects.models.EvaluatorVersion":"Azure.AI.Projects.EvaluatorVersion","com.azure.ai.projects.models.FieldMapping":"Azure.AI.Projects.FieldMapping","com.azure.ai.projects.models.FileDataGenerationJobOutput":"Azure.AI.Projects.FileDataGenerationJobOutput","com.azure.ai.projects.models.FileDataGenerationJobSource":"Azure.AI.Projects.FileDataGenerationJobSource","com.azure.ai.projects.models.FileDatasetVersion":"Azure.AI.Projects.FileDatasetVersion","com.azure.ai.projects.models.FolderDatasetVersion":"Azure.AI.Projects.FolderDatasetVersion","com.azure.ai.projects.models.FoundryModelArtifactProfileCategory":"Azure.AI.Projects.FoundryModelArtifactProfileCategory","com.azure.ai.projects.models.FoundryModelArtifactProfileSignal":"Azure.AI.Projects.FoundryModelArtifactProfileSignal","com.azure.ai.projects.models.FoundryModelSourceType":"Azure.AI.Projects.FoundryModelSourceType","com.azure.ai.projects.models.FoundryModelWarning":"Azure.AI.Projects.FoundryModelWarning","com.azure.ai.projects.models.FoundryModelWarningCode":"Azure.AI.Projects.FoundryModelWarningCode","com.azure.ai.projects.models.FoundryModelWeightType":"Azure.AI.Projects.FoundryModelWeightType","com.azure.ai.projects.models.GenerationWarningType":"Azure.AI.Projects.GenerationWarningType","com.azure.ai.projects.models.GitHubIssueEvent":"Azure.AI.Projects.GitHubIssueEvent","com.azure.ai.projects.models.GitHubIssueRoutineTrigger":"Azure.AI.Projects.GitHubIssueRoutineTrigger","com.azure.ai.projects.models.GraderAzureAIEvaluator":"Azure.AI.Projects.GraderAzureAIEvaluator","com.azure.ai.projects.models.HourlyRecurrenceSchedule":"Azure.AI.Projects.HourlyRecurrenceSchedule","com.azure.ai.projects.models.HumanEvaluationPreviewRuleAction":"Azure.AI.Projects.HumanEvaluationPreviewRuleAction","com.azure.ai.projects.models.IndexType":"Azure.AI.Projects.IndexType","com.azure.ai.projects.models.Insight":"Azure.AI.Projects.Insight","com.azure.ai.projects.models.InsightCluster":"Azure.AI.Projects.InsightCluster","com.azure.ai.projects.models.InsightModelConfiguration":"Azure.AI.Projects.InsightModelConfiguration","com.azure.ai.projects.models.InsightRequest":"Azure.AI.Projects.InsightRequest","com.azure.ai.projects.models.InsightResult":"Azure.AI.Projects.InsightResult","com.azure.ai.projects.models.InsightSample":"Azure.AI.Projects.InsightSample","com.azure.ai.projects.models.InsightScheduleTask":"Azure.AI.Projects.InsightScheduleTask","com.azure.ai.projects.models.InsightSummary":"Azure.AI.Projects.InsightSummary","com.azure.ai.projects.models.InsightType":"Azure.AI.Projects.InsightType","com.azure.ai.projects.models.InsightsMetadata":"Azure.AI.Projects.InsightsMetadata","com.azure.ai.projects.models.InvokeAgentInvocationsApiDispatchPayload":"Azure.AI.Projects.InvokeAgentInvocationsApiDispatchPayload","com.azure.ai.projects.models.InvokeAgentInvocationsApiRoutineAction":"Azure.AI.Projects.InvokeAgentInvocationsApiRoutineAction","com.azure.ai.projects.models.InvokeAgentResponsesApiDispatchPayload":"Azure.AI.Projects.InvokeAgentResponsesApiDispatchPayload","com.azure.ai.projects.models.InvokeAgentResponsesApiRoutineAction":"Azure.AI.Projects.InvokeAgentResponsesApiRoutineAction","com.azure.ai.projects.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.projects.models.ListVersionsRequestType":"Azure.AI.Projects.listVersions.RequestType.anonymous","com.azure.ai.projects.models.LoraConfig":"Azure.AI.Projects.LoraConfig","com.azure.ai.projects.models.ManagedAzureAISearchIndex":"Azure.AI.Projects.ManagedAzureAISearchIndex","com.azure.ai.projects.models.ModelCredentialInput":"Azure.AI.Projects.ModelCredentialRequest","com.azure.ai.projects.models.ModelDeployment":"Azure.AI.Projects.ModelDeployment","com.azure.ai.projects.models.ModelDeploymentSku":"Azure.AI.Projects.Sku","com.azure.ai.projects.models.ModelPendingUploadInput":"Azure.AI.Projects.ModelPendingUploadRequest","com.azure.ai.projects.models.ModelPendingUploadResult":"Azure.AI.Projects.ModelPendingUploadResponse","com.azure.ai.projects.models.ModelSamplingParams":"Azure.AI.Projects.ModelSamplingParams","com.azure.ai.projects.models.ModelSourceData":"Azure.AI.Projects.ModelSourceData","com.azure.ai.projects.models.ModelVersion":"Azure.AI.Projects.ModelVersion","com.azure.ai.projects.models.MonthlyRecurrenceSchedule":"Azure.AI.Projects.MonthlyRecurrenceSchedule","com.azure.ai.projects.models.NoAuthenticationCredential":"Azure.AI.Projects.NoAuthenticationCredentials","com.azure.ai.projects.models.OneTimeTrigger":"Azure.AI.Projects.OneTimeTrigger","com.azure.ai.projects.models.OperationStatus":"Azure.Core.Foundations.OperationState","com.azure.ai.projects.models.PendingUploadRequest":"Azure.AI.Projects.PendingUploadRequest","com.azure.ai.projects.models.PendingUploadResponse":"Azure.AI.Projects.PendingUploadResponse","com.azure.ai.projects.models.PendingUploadType":"Azure.AI.Projects.PendingUploadType","com.azure.ai.projects.models.PromptBasedEvaluatorDefinition":"Azure.AI.Projects.PromptBasedEvaluatorDefinition","com.azure.ai.projects.models.PromptDataGenerationJobSource":"Azure.AI.Projects.PromptDataGenerationJobSource","com.azure.ai.projects.models.PromptEvaluatorGenerationJobSource":"Azure.AI.Projects.PromptEvaluatorGenerationJobSource","com.azure.ai.projects.models.RecurrenceSchedule":"Azure.AI.Projects.RecurrenceSchedule","com.azure.ai.projects.models.RecurrenceTrigger":"Azure.AI.Projects.RecurrenceTrigger","com.azure.ai.projects.models.RecurrenceType":"Azure.AI.Projects.RecurrenceType","com.azure.ai.projects.models.RedTeam":"Azure.AI.Projects.RedTeam","com.azure.ai.projects.models.RiskCategory":"Azure.AI.Projects.RiskCategory","com.azure.ai.projects.models.Routine":"Azure.AI.Projects.Routine","com.azure.ai.projects.models.RoutineAction":"Azure.AI.Projects.RoutineAction","com.azure.ai.projects.models.RoutineActionType":"Azure.AI.Projects.RoutineActionType","com.azure.ai.projects.models.RoutineAttemptSource":"Azure.AI.Projects.RoutineAttemptSource","com.azure.ai.projects.models.RoutineAuthorization":"Azure.AI.Projects.RoutineAuthorization","com.azure.ai.projects.models.RoutineDispatchIdentity":"Azure.AI.Projects.RoutineDispatchIdentity","com.azure.ai.projects.models.RoutineDispatchPayload":"Azure.AI.Projects.RoutineDispatchPayload","com.azure.ai.projects.models.RoutineDispatchPayloadType":"Azure.AI.Projects.RoutineDispatchPayloadType","com.azure.ai.projects.models.RoutineRun":"Azure.AI.Projects.RoutineRun","com.azure.ai.projects.models.RoutineRunPhase":"Azure.AI.Projects.RoutineRunPhase","com.azure.ai.projects.models.RoutineTrigger":"Azure.AI.Projects.RoutineTrigger","com.azure.ai.projects.models.RoutineTriggerType":"Azure.AI.Projects.RoutineTriggerType","com.azure.ai.projects.models.RubricBasedEvaluatorDefinition":"Azure.AI.Projects.RubricBasedEvaluatorDefinition","com.azure.ai.projects.models.RubricGenerationInputQualityWarning":"Azure.AI.Projects.RubricGenerationInputQualityWarning","com.azure.ai.projects.models.RubricGenerationInputQualityWarningCode":"Azure.AI.Projects.RubricGenerationInputQualityWarningCode","com.azure.ai.projects.models.RubricGenerationInputQualityWarningSeverity":"Azure.AI.Projects.RubricGenerationInputQualityWarningSeverity","com.azure.ai.projects.models.RubricGenerationInputQualityWarningSource":"Azure.AI.Projects.RubricGenerationInputQualityWarningSource","com.azure.ai.projects.models.SampleType":"Azure.AI.Projects.SampleType","com.azure.ai.projects.models.SasCredential":"Azure.AI.Projects.SASCredentials","com.azure.ai.projects.models.Schedule":"Azure.AI.Projects.Schedule","com.azure.ai.projects.models.ScheduleProvisioningStatus":"Azure.AI.Projects.ScheduleProvisioningStatus","com.azure.ai.projects.models.ScheduleRoutineTrigger":"Azure.AI.Projects.ScheduleRoutineTrigger","com.azure.ai.projects.models.ScheduleRun":"Azure.AI.Projects.ScheduleRun","com.azure.ai.projects.models.ScheduleTask":"Azure.AI.Projects.ScheduleTask","com.azure.ai.projects.models.ScheduleTaskType":"Azure.AI.Projects.ScheduleTaskType","com.azure.ai.projects.models.SimpleQnADataGenerationJobOptions":"Azure.AI.Projects.SimpleQnADataGenerationJobOptions","com.azure.ai.projects.models.SimpleQnAFineTuningQuestionType":"Azure.AI.Projects.SimpleQnAFineTuningQuestionType","com.azure.ai.projects.models.SimulationSeedDataGenerationJobOptions":"Azure.AI.Projects.SimulationSeedDataGenerationJobOptions","com.azure.ai.projects.models.SkillDetails":"Azure.AI.Projects.Skill","com.azure.ai.projects.models.SkillFileDetails":"TypeSpec.Http.File","com.azure.ai.projects.models.SkillInlineContent":"Azure.AI.Projects.SkillInlineContent","com.azure.ai.projects.models.SkillVersion":"Azure.AI.Projects.SkillVersion","com.azure.ai.projects.models.Target":"Azure.AI.Projects.FoundryEvaluationTarget","com.azure.ai.projects.models.TargetConfig":"Azure.AI.Projects.RedTeamTargetConfig","com.azure.ai.projects.models.TaxonomyCategory":"Azure.AI.Projects.TaxonomyCategory","com.azure.ai.projects.models.TaxonomySubCategory":"Azure.AI.Projects.TaxonomySubCategory","com.azure.ai.projects.models.TestingCriterionAzureAIEvaluator":"Azure.AI.Projects.TestingCriterionAzureAIEvaluator","com.azure.ai.projects.models.TimerRoutineTrigger":"Azure.AI.Projects.TimerRoutineTrigger","com.azure.ai.projects.models.ToolDescription":"Azure.AI.Projects.ToolDescription","com.azure.ai.projects.models.ToolUseFineTuningDataGenerationJobOptions":"Azure.AI.Projects.ToolUseFineTuningDataGenerationJobOptions","com.azure.ai.projects.models.TracesDataGenerationJobOptions":"Azure.AI.Projects.TracesDataGenerationJobOptions","com.azure.ai.projects.models.TracesDataGenerationJobSource":"Azure.AI.Projects.TracesDataGenerationJobSource","com.azure.ai.projects.models.TracesEvaluatorGenerationJobSource":"Azure.AI.Projects.TracesEvaluatorGenerationJobSource","com.azure.ai.projects.models.TreatmentEffectType":"Azure.AI.Projects.TreatmentEffectType","com.azure.ai.projects.models.Trigger":"Azure.AI.Projects.Trigger","com.azure.ai.projects.models.TriggerType":"Azure.AI.Projects.TriggerType","com.azure.ai.projects.models.UpdateModelVersionInput":"Azure.AI.Projects.UpdateModelVersionRequest","com.azure.ai.projects.models.WeeklyRecurrenceSchedule":"Azure.AI.Projects.WeeklyRecurrenceSchedule"},"generatedFiles":["src/main/java/com/azure/ai/projects/AIProjectClientBuilder.java","src/main/java/com/azure/ai/projects/AIProjectsServiceVersion.java","src/main/java/com/azure/ai/projects/BetaAgentInsightMonitorsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaAgentInsightMonitorsClient.java","src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaDatasetsClient.java","src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java","src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java","src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaInsightsClient.java","src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaModelsClient.java","src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java","src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaRoutinesClient.java","src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java","src/main/java/com/azure/ai/projects/BetaSchedulesClient.java","src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java","src/main/java/com/azure/ai/projects/BetaSkillsClient.java","src/main/java/com/azure/ai/projects/ConnectionsAsyncClient.java","src/main/java/com/azure/ai/projects/ConnectionsClient.java","src/main/java/com/azure/ai/projects/DatasetsAsyncClient.java","src/main/java/com/azure/ai/projects/DatasetsClient.java","src/main/java/com/azure/ai/projects/DeploymentsAsyncClient.java","src/main/java/com/azure/ai/projects/DeploymentsClient.java","src/main/java/com/azure/ai/projects/EvaluationRulesAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluationRulesClient.java","src/main/java/com/azure/ai/projects/IndexesAsyncClient.java","src/main/java/com/azure/ai/projects/IndexesClient.java","src/main/java/com/azure/ai/projects/implementation/AIProjectClientImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaAgentInsightMonitorsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaDatasetsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaEvaluationTaxonomiesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaEvaluatorsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaInsightsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaRedTeamsImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaSchedulesImpl.java","src/main/java/com/azure/ai/projects/implementation/BetaSkillsImpl.java","src/main/java/com/azure/ai/projects/implementation/ConnectionsImpl.java","src/main/java/com/azure/ai/projects/implementation/DatasetsImpl.java","src/main/java/com/azure/ai/projects/implementation/DeploymentsImpl.java","src/main/java/com/azure/ai/projects/implementation/EvaluationRulesImpl.java","src/main/java/com/azure/ai/projects/implementation/IndexesImpl.java","src/main/java/com/azure/ai/projects/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/projects/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/projects/implementation/PollingUtils.java","src/main/java/com/azure/ai/projects/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/projects/implementation/models/CreateOrUpdateRoutineRequest.java","src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java","src/main/java/com/azure/ai/projects/implementation/models/DispatchRoutineAsyncRequest.java","src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java","src/main/java/com/azure/ai/projects/implementation/models/package-info.java","src/main/java/com/azure/ai/projects/implementation/package-info.java","src/main/java/com/azure/ai/projects/models/AIProjectIndex.java","src/main/java/com/azure/ai/projects/models/AgentClusterInsightRequest.java","src/main/java/com/azure/ai/projects/models/AgentClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/AgentDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/AgentEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/AgentInsight.java","src/main/java/com/azure/ai/projects/models/AgentInsightDetails.java","src/main/java/com/azure/ai/projects/models/AgentInsightEstimatedCost.java","src/main/java/com/azure/ai/projects/models/AgentInsightHighlightedTrace.java","src/main/java/com/azure/ai/projects/models/AgentInsightLinkedTrace.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitor.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorCreate.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorListItem.java","src/main/java/com/azure/ai/projects/models/AgentInsightMonitorUpdate.java","src/main/java/com/azure/ai/projects/models/AgentInsightOverviewSource.java","src/main/java/com/azure/ai/projects/models/AgentInsightPromptSurface.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFix.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFixChange.java","src/main/java/com/azure/ai/projects/models/AgentInsightProposedFixKind.java","src/main/java/com/azure/ai/projects/models/AgentInsightRecommendedAction.java","src/main/java/com/azure/ai/projects/models/AgentInsightRun.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunCreate.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunResult.java","src/main/java/com/azure/ai/projects/models/AgentInsightRunTrigger.java","src/main/java/com/azure/ai/projects/models/AgentInsightSeverity.java","src/main/java/com/azure/ai/projects/models/AgentInsightStatus.java","src/main/java/com/azure/ai/projects/models/AgentInsightSuspension.java","src/main/java/com/azure/ai/projects/models/AgentInsightTokenUsage.java","src/main/java/com/azure/ai/projects/models/AgentInsightUpdate.java","src/main/java/com/azure/ai/projects/models/AgentInsightsOverview.java","src/main/java/com/azure/ai/projects/models/AgentInsightsOverviewOverride.java","src/main/java/com/azure/ai/projects/models/AgentTaxonomyInput.java","src/main/java/com/azure/ai/projects/models/AgenticIdentityPreviewCredential.java","src/main/java/com/azure/ai/projects/models/ApiError.java","src/main/java/com/azure/ai/projects/models/ApiKeyCredential.java","src/main/java/com/azure/ai/projects/models/ArtifactProfile.java","src/main/java/com/azure/ai/projects/models/AttackStrategy.java","src/main/java/com/azure/ai/projects/models/AzureAIAgentTarget.java","src/main/java/com/azure/ai/projects/models/AzureAIModelTarget.java","src/main/java/com/azure/ai/projects/models/AzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/AzureOpenAIModelConfiguration.java","src/main/java/com/azure/ai/projects/models/BaseCredential.java","src/main/java/com/azure/ai/projects/models/BlobReference.java","src/main/java/com/azure/ai/projects/models/BlobReferenceSasCredential.java","src/main/java/com/azure/ai/projects/models/ChartCoordinate.java","src/main/java/com/azure/ai/projects/models/ClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/ClusterTokenUsage.java","src/main/java/com/azure/ai/projects/models/CodeBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/Connection.java","src/main/java/com/azure/ai/projects/models/ConnectionType.java","src/main/java/com/azure/ai/projects/models/ContinuousEvaluationRuleAction.java","src/main/java/com/azure/ai/projects/models/CosmosDBIndex.java","src/main/java/com/azure/ai/projects/models/CreateAsyncResponse.java","src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java","src/main/java/com/azure/ai/projects/models/CredentialType.java","src/main/java/com/azure/ai/projects/models/CronTrigger.java","src/main/java/com/azure/ai/projects/models/CustomCredential.java","src/main/java/com/azure/ai/projects/models/CustomRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/DailyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/DataGenerationJob.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobInputs.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputType.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobResult.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobScenario.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java","src/main/java/com/azure/ai/projects/models/DataGenerationJobType.java","src/main/java/com/azure/ai/projects/models/DataGenerationModelOptions.java","src/main/java/com/azure/ai/projects/models/DataGenerationTokenUsage.java","src/main/java/com/azure/ai/projects/models/DatasetCredential.java","src/main/java/com/azure/ai/projects/models/DatasetDataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/DatasetEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/DatasetReference.java","src/main/java/com/azure/ai/projects/models/DatasetType.java","src/main/java/com/azure/ai/projects/models/DatasetVersion.java","src/main/java/com/azure/ai/projects/models/Deployment.java","src/main/java/com/azure/ai/projects/models/DeploymentType.java","src/main/java/com/azure/ai/projects/models/Dimension.java","src/main/java/com/azure/ai/projects/models/DispatchRoutineResult.java","src/main/java/com/azure/ai/projects/models/EmbeddingConfiguration.java","src/main/java/com/azure/ai/projects/models/EndpointBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/EntraIdCredential.java","src/main/java/com/azure/ai/projects/models/EvaluationComparisonInsightRequest.java","src/main/java/com/azure/ai/projects/models/EvaluationComparisonInsightResult.java","src/main/java/com/azure/ai/projects/models/EvaluationLevel.java","src/main/java/com/azure/ai/projects/models/EvaluationResult.java","src/main/java/com/azure/ai/projects/models/EvaluationResultSample.java","src/main/java/com/azure/ai/projects/models/EvaluationRule.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleAction.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleActionType.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleEventType.java","src/main/java/com/azure/ai/projects/models/EvaluationRuleFilter.java","src/main/java/com/azure/ai/projects/models/EvaluationRunClusterInsightRequest.java","src/main/java/com/azure/ai/projects/models/EvaluationRunClusterInsightResult.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultCompareItem.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultComparison.java","src/main/java/com/azure/ai/projects/models/EvaluationRunResultSummary.java","src/main/java/com/azure/ai/projects/models/EvaluationScheduleTask.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomy.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomyInput.java","src/main/java/com/azure/ai/projects/models/EvaluationTaxonomyInputType.java","src/main/java/com/azure/ai/projects/models/EvaluatorCategory.java","src/main/java/com/azure/ai/projects/models/EvaluatorCredentialInput.java","src/main/java/com/azure/ai/projects/models/EvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/EvaluatorDefinitionType.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationArtifacts.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationInputs.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJob.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationJobSourceType.java","src/main/java/com/azure/ai/projects/models/EvaluatorGenerationTokenUsage.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetric.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetricDirection.java","src/main/java/com/azure/ai/projects/models/EvaluatorMetricType.java","src/main/java/com/azure/ai/projects/models/EvaluatorType.java","src/main/java/com/azure/ai/projects/models/EvaluatorVersion.java","src/main/java/com/azure/ai/projects/models/FieldMapping.java","src/main/java/com/azure/ai/projects/models/FileDataGenerationJobOutput.java","src/main/java/com/azure/ai/projects/models/FileDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/FileDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FolderDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FoundryModelArtifactProfileCategory.java","src/main/java/com/azure/ai/projects/models/FoundryModelArtifactProfileSignal.java","src/main/java/com/azure/ai/projects/models/FoundryModelSourceType.java","src/main/java/com/azure/ai/projects/models/FoundryModelWarning.java","src/main/java/com/azure/ai/projects/models/FoundryModelWarningCode.java","src/main/java/com/azure/ai/projects/models/FoundryModelWeightType.java","src/main/java/com/azure/ai/projects/models/GenerationWarningType.java","src/main/java/com/azure/ai/projects/models/GitHubIssueEvent.java","src/main/java/com/azure/ai/projects/models/GitHubIssueRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/GraderAzureAIEvaluator.java","src/main/java/com/azure/ai/projects/models/HourlyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/HumanEvaluationPreviewRuleAction.java","src/main/java/com/azure/ai/projects/models/IndexType.java","src/main/java/com/azure/ai/projects/models/Insight.java","src/main/java/com/azure/ai/projects/models/InsightCluster.java","src/main/java/com/azure/ai/projects/models/InsightModelConfiguration.java","src/main/java/com/azure/ai/projects/models/InsightRequest.java","src/main/java/com/azure/ai/projects/models/InsightResult.java","src/main/java/com/azure/ai/projects/models/InsightSample.java","src/main/java/com/azure/ai/projects/models/InsightScheduleTask.java","src/main/java/com/azure/ai/projects/models/InsightSummary.java","src/main/java/com/azure/ai/projects/models/InsightType.java","src/main/java/com/azure/ai/projects/models/InsightsMetadata.java","src/main/java/com/azure/ai/projects/models/InvokeAgentInvocationsApiDispatchPayload.java","src/main/java/com/azure/ai/projects/models/InvokeAgentInvocationsApiRoutineAction.java","src/main/java/com/azure/ai/projects/models/InvokeAgentResponsesApiDispatchPayload.java","src/main/java/com/azure/ai/projects/models/InvokeAgentResponsesApiRoutineAction.java","src/main/java/com/azure/ai/projects/models/JobStatus.java","src/main/java/com/azure/ai/projects/models/ListVersionsRequestType.java","src/main/java/com/azure/ai/projects/models/LoraConfig.java","src/main/java/com/azure/ai/projects/models/ManagedAzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/ModelCredentialInput.java","src/main/java/com/azure/ai/projects/models/ModelDeployment.java","src/main/java/com/azure/ai/projects/models/ModelDeploymentSku.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadInput.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadResult.java","src/main/java/com/azure/ai/projects/models/ModelSamplingParams.java","src/main/java/com/azure/ai/projects/models/ModelSourceData.java","src/main/java/com/azure/ai/projects/models/ModelVersion.java","src/main/java/com/azure/ai/projects/models/MonthlyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/NoAuthenticationCredential.java","src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java","src/main/java/com/azure/ai/projects/models/OperationStatus.java","src/main/java/com/azure/ai/projects/models/PendingUploadRequest.java","src/main/java/com/azure/ai/projects/models/PendingUploadResponse.java","src/main/java/com/azure/ai/projects/models/PendingUploadType.java","src/main/java/com/azure/ai/projects/models/PromptBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/PromptDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/PromptEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/RecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java","src/main/java/com/azure/ai/projects/models/RecurrenceType.java","src/main/java/com/azure/ai/projects/models/RedTeam.java","src/main/java/com/azure/ai/projects/models/RiskCategory.java","src/main/java/com/azure/ai/projects/models/Routine.java","src/main/java/com/azure/ai/projects/models/RoutineAction.java","src/main/java/com/azure/ai/projects/models/RoutineActionType.java","src/main/java/com/azure/ai/projects/models/RoutineAttemptSource.java","src/main/java/com/azure/ai/projects/models/RoutineAuthorization.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchIdentity.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchPayload.java","src/main/java/com/azure/ai/projects/models/RoutineDispatchPayloadType.java","src/main/java/com/azure/ai/projects/models/RoutineRun.java","src/main/java/com/azure/ai/projects/models/RoutineRunPhase.java","src/main/java/com/azure/ai/projects/models/RoutineTrigger.java","src/main/java/com/azure/ai/projects/models/RoutineTriggerType.java","src/main/java/com/azure/ai/projects/models/RubricBasedEvaluatorDefinition.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarning.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningCode.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningSeverity.java","src/main/java/com/azure/ai/projects/models/RubricGenerationInputQualityWarningSource.java","src/main/java/com/azure/ai/projects/models/SampleType.java","src/main/java/com/azure/ai/projects/models/SasCredential.java","src/main/java/com/azure/ai/projects/models/Schedule.java","src/main/java/com/azure/ai/projects/models/ScheduleProvisioningStatus.java","src/main/java/com/azure/ai/projects/models/ScheduleRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/ScheduleRun.java","src/main/java/com/azure/ai/projects/models/ScheduleTask.java","src/main/java/com/azure/ai/projects/models/ScheduleTaskType.java","src/main/java/com/azure/ai/projects/models/SimpleQnADataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/SimpleQnAFineTuningQuestionType.java","src/main/java/com/azure/ai/projects/models/SimulationSeedDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/SkillDetails.java","src/main/java/com/azure/ai/projects/models/SkillFileDetails.java","src/main/java/com/azure/ai/projects/models/SkillInlineContent.java","src/main/java/com/azure/ai/projects/models/SkillVersion.java","src/main/java/com/azure/ai/projects/models/Target.java","src/main/java/com/azure/ai/projects/models/TargetConfig.java","src/main/java/com/azure/ai/projects/models/TaxonomyCategory.java","src/main/java/com/azure/ai/projects/models/TaxonomySubCategory.java","src/main/java/com/azure/ai/projects/models/TestingCriterionAzureAIEvaluator.java","src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/ToolDescription.java","src/main/java/com/azure/ai/projects/models/ToolUseFineTuningDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobOptions.java","src/main/java/com/azure/ai/projects/models/TracesDataGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/TracesEvaluatorGenerationJobSource.java","src/main/java/com/azure/ai/projects/models/TreatmentEffectType.java","src/main/java/com/azure/ai/projects/models/Trigger.java","src/main/java/com/azure/ai/projects/models/TriggerType.java","src/main/java/com/azure/ai/projects/models/UpdateModelVersionInput.java","src/main/java/com/azure/ai/projects/models/WeeklyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/package-info.java","src/main/java/com/azure/ai/projects/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file diff --git a/sdk/ai/azure-ai-projects/tsp-location.yaml b/sdk/ai/azure-ai-projects/tsp-location.yaml index 7a199c91ee57c..f1136f95da276 100644 --- a/sdk/ai/azure-ai-projects/tsp-location.yaml +++ b/sdk/ai/azure-ai-projects/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-projects -commit: 0d22a924f520701e886d6ce3afd49abc0d6548d1 +commit: d8ea5c455fcce8b9b3140d7bea37f7809e97e0e9 repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/sdk-common From a8c6d66650220864ca94f254e64d0e1d00f53fe2 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Thu, 10 Sep 2026 18:34:15 -0700 Subject: [PATCH 02/15] update pom.xml for revapi filter --- sdk/ai/azure-ai-agents/pom.xml | 8 ++++++++ sdk/ai/azure-ai-projects/pom.xml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/sdk/ai/azure-ai-agents/pom.xml b/sdk/ai/azure-ai-agents/pom.xml index 2e78ebf4f6817..85f3de967f99f 100644 --- a/sdk/ai/azure-ai-agents/pom.xml +++ b/sdk/ai/azure-ai-agents/pom.xml @@ -122,6 +122,14 @@ ${project.basedir}/revapi.json + + + + class-and-package-tree-filter-provider + revapi.filter + + + diff --git a/sdk/ai/azure-ai-projects/pom.xml b/sdk/ai/azure-ai-projects/pom.xml index ee6e80a9ada6e..9d710787a8230 100644 --- a/sdk/ai/azure-ai-projects/pom.xml +++ b/sdk/ai/azure-ai-projects/pom.xml @@ -123,6 +123,14 @@ Code generated by Microsoft (R) TypeSpec Code Generator. ${project.basedir}/revapi.json + + + + class-and-package-tree-filter-provider + revapi.filter + + + From fffa75814294f4f8efba221ccaec480fffd7de41 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Thu, 10 Sep 2026 22:57:22 -0700 Subject: [PATCH 03/15] regen agents minus voice --- .../azure/ai/agents/AgentsAsyncClient.java | 338 +++++++- .../com/azure/ai/agents/AgentsClient.java | 338 +++++++- .../azure/ai/agents/ToolboxesAsyncClient.java | 305 ++++++- .../com/azure/ai/agents/ToolboxesClient.java | 305 ++++++- .../ai/agents/implementation/AgentsImpl.java | 766 ++++++++++++++++-- .../agents/implementation/ToolboxesImpl.java | 730 ++++++++++++++++- .../models/AgentDefinitionOptInKeys.java | 14 +- .../azure/ai/agents/models/AgentDetails.java | 22 + .../azure/ai/agents/models/AgentHarness.java | 105 +++ .../models/AzureCreateResponseOptions.java | 37 + .../agents/models/BrowserAutomationTool.java | 104 +++ .../models/BrowserAutomationToolboxTool.java | 151 ++++ .../models/GitHubCopilotBuiltInTool.java | 71 ++ .../agents/models/GitHubCopilotHarness.java | 78 ++ .../models/GitHubCopilotToolsetConfig.java | 116 +++ .../GitHubCopilotToolsetDefaultConfig.java | 91 +++ .../models/GitHubCopilotToolsetPreview.java | 146 ++++ .../ai/agents/models/ModelRouterDetails.java | 26 +- .../agents/models/PromptAgentDefinition.java | 69 ++ .../com/azure/ai/agents/models/RaiConfig.java | 51 +- .../models/RaiInvocationContentType.java | 57 ++ .../ai/agents/models/RaiInvocationMode.java | 63 ++ .../models/RaiInvocationModeration.java | 263 ++++++ .../ai/agents/models/RaiSseTextSelector.java | 118 +++ .../agents/models/RoutingConfiguration.java | 97 +++ .../models/SessionAffinityConfiguration.java | 127 +++ .../models/SessionAffinityDecision.java | 63 ++ .../agents/models/SessionAffinityDetails.java | 129 +++ .../ai/agents/models/SessionAffinityMode.java | 57 ++ .../models/SessionAffinityRequestMode.java | 56 ++ .../agents/models/SessionAffinitySource.java | 75 ++ .../ai/agents/models/SkillReference.java | 119 +++ .../java/com/azure/ai/agents/models/Tool.java | 6 +- .../azure/ai/agents/models/ToolConfig.java | 16 +- .../com/azure/ai/agents/models/ToolType.java | 12 + .../ai/agents/models/ToolboxDetails.java | 84 +- .../azure/ai/agents/models/ToolboxTool.java | 2 + .../ai/agents/models/ToolboxToolType.java | 7 +- .../ai/agents/models/ToolboxVersions.java | 82 ++ .../META-INF/azure-ai-agents_metadata.json | 2 +- sdk/ai/azure-ai-agents/tsp-location.yaml | 2 +- 41 files changed, 5151 insertions(+), 149 deletions(-) create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotBuiltInTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityConfiguration.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersions.java diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java index 04b9d285f8f93..6c4d3d5060b8f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java @@ -86,6 +86,7 @@ public final class AgentsAsyncClient { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -99,9 +100,26 @@ public final class AgentsAsyncClient { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -208,9 +226,26 @@ public Mono> getAgentWithResponse(String agentName, Request * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -237,9 +272,26 @@ public Mono> getAgentWithResponse(String agentName, Request * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -369,9 +421,26 @@ public Mono deleteAgentVersion(String agentName, String agentVersion) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -512,9 +581,26 @@ public PagedFlux listAgentVersions(String agentName) { * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -586,6 +672,7 @@ public PagedFlux listAgentVersions(String agentName) { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -599,9 +686,26 @@ public PagedFlux listAgentVersions(String agentName) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -706,9 +810,26 @@ Mono> createAgentWithResponse(BinaryData createAgentRequest * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -727,6 +848,7 @@ Mono> createAgentWithResponse(BinaryData createAgentRequest * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -740,9 +862,26 @@ Mono> createAgentWithResponse(BinaryData createAgentRequest * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -903,6 +1042,7 @@ Mono updateAgent(String agentName, AgentDefinition definition) { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -916,9 +1056,26 @@ Mono updateAgent(String agentName, AgentDefinition definition) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1041,6 +1198,7 @@ Mono> createAgentFromManifestWithResponse(BinaryData create * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1054,9 +1212,26 @@ Mono> createAgentFromManifestWithResponse(BinaryData create * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1185,9 +1360,26 @@ Mono> updateAgentFromManifestWithResponse(String agentName, * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1424,9 +1616,26 @@ public Mono createAgentVersionFromManifest(String agentName * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1560,7 +1769,7 @@ public PagedFlux listAgents(AgentKind kind, Integer limit, PageOrd * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -1586,6 +1795,7 @@ public PagedFlux listAgents(AgentKind kind, Integer limit, PageOrd * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1599,9 +1809,26 @@ public PagedFlux listAgents(AgentKind kind, Integer limit, PageOrd * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1776,9 +2003,7 @@ Mono createAgentFromManifest(String agentName, String manifestId, * id: String (Required) * object: String (Required) * metadata (Required): { - * (Optional): { - * String: String (Required) - * } + * String: String (Required) * } * created_at: long (Required) * } @@ -2333,6 +2558,7 @@ Mono updateAgent(String agentName, AgentDefinition definition, Map * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2346,9 +2572,26 @@ Mono updateAgent(String agentName, AgentDefinition definition, Map * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4379,6 +4622,7 @@ public Mono getMicrosoft365PublishDefaults(String a * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -4392,9 +4636,26 @@ public Mono getMicrosoft365PublishDefaults(String a * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4509,6 +4770,7 @@ Mono> createAgentFromCodeWithResponseInternal(String agentN * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -4522,9 +4784,26 @@ Mono> createAgentFromCodeWithResponseInternal(String agentN * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4648,9 +4927,26 @@ Mono> updateAgentFromCodeWithResponseInternal(String agentN * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java index 524765040593a..8c4275ee36e3d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java @@ -82,6 +82,7 @@ public final class AgentsClient { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -95,9 +96,26 @@ public final class AgentsClient { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -203,9 +221,26 @@ public Response getAgentWithResponse(String agentName, RequestOption * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -232,9 +267,26 @@ public Response getAgentWithResponse(String agentName, RequestOption * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -362,9 +414,26 @@ public void deleteAgentVersion(String agentName, String agentVersion) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -481,9 +550,26 @@ public PagedIterable listAgentVersions(String agentName) { * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -555,6 +641,7 @@ public PagedIterable listAgentVersions(String agentName) { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -568,9 +655,26 @@ public PagedIterable listAgentVersions(String agentName) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -675,9 +779,26 @@ Response createAgentWithResponse(BinaryData createAgentRequest, Requ * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -696,6 +817,7 @@ Response createAgentWithResponse(BinaryData createAgentRequest, Requ * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -709,9 +831,26 @@ Response createAgentWithResponse(BinaryData createAgentRequest, Requ * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -872,6 +1011,7 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -885,9 +1025,26 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1009,6 +1166,7 @@ Response createAgentFromManifestWithResponse(BinaryData createAgentF * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1022,9 +1180,26 @@ Response createAgentFromManifestWithResponse(BinaryData createAgentF * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1153,9 +1328,26 @@ Response updateAgentFromManifestWithResponse(String agentName, * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1385,9 +1577,26 @@ public AgentVersionDetails createAgentVersionFromManifest(String agentName, Stri * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1508,7 +1717,7 @@ public PagedIterable listAgents(AgentKind kind, Integer limit, Pag * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -1534,6 +1743,7 @@ public PagedIterable listAgents(AgentKind kind, Integer limit, Pag * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1547,9 +1757,26 @@ public PagedIterable listAgents(AgentKind kind, Integer limit, Pag * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1723,9 +1950,7 @@ AgentDetails createAgentFromManifest(String agentName, String manifestId, Map createAgentFromCodeWithResponseInternal(String agentName, S * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -4354,9 +4616,26 @@ Response createAgentFromCodeWithResponseInternal(String agentName, S * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4480,9 +4759,26 @@ Response updateAgentFromCodeWithResponseInternal(String agentName, S * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index 2dd988e4ebb70..2b5e1f147299f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -67,7 +67,7 @@ public final class ToolboxesAsyncClient { * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -86,6 +86,23 @@ public final class ToolboxesAsyncClient { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -107,7 +124,7 @@ public final class ToolboxesAsyncClient { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -126,6 +143,23 @@ public final class ToolboxesAsyncClient { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -160,6 +194,59 @@ public Mono> createToolboxVersionWithResponse(String name, * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -211,6 +298,59 @@ public Mono> getToolboxWithResponse(String name, RequestOpt * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -268,7 +408,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -287,6 +427,23 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -326,7 +483,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -345,6 +502,23 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -388,6 +562,59 @@ public Mono> getToolboxVersionWithResponse(String name, Str * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -812,4 +1039,74 @@ public Mono deleteToolboxVersion(String name, String version) { RequestOptions requestOptions = new RequestOptions(); return deleteToolboxVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono); } + + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     String: BinaryData (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
content-typeStringThe content type of the MCP response body.
+ * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @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 anything along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> invokeLatestToolboxMcpWithResponse(String name, String contentType, + BinaryData request, RequestOptions requestOptions) { + return this.serviceClient.invokeLatestToolboxMcpWithResponseAsync(name, contentType, request, requestOptions); + } + + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return anything on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono invokeLatestToolboxMcp(String name, String contentType, Map request) { + // Generated convenience method for invokeLatestToolboxMcpWithResponse + RequestOptions requestOptions = new RequestOptions(); + return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).flatMap(FluxUtil::toMono); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index fba494acbcf7e..70e0fb33ceb2b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -61,7 +61,7 @@ public final class ToolboxesClient { * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -80,6 +80,23 @@ public final class ToolboxesClient { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -101,7 +118,7 @@ public final class ToolboxesClient { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -120,6 +137,23 @@ public final class ToolboxesClient { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -153,6 +187,59 @@ public Response createToolboxVersionWithResponse(String name, Binary * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -203,6 +290,59 @@ public Response getToolboxWithResponse(String name, RequestOptions r * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -260,7 +400,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -279,6 +419,23 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -318,7 +475,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -337,6 +494,23 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -380,6 +554,59 @@ public Response getToolboxVersionWithResponse(String name, String ve * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -751,4 +978,74 @@ public void deleteToolboxVersion(String name, String version) { RequestOptions requestOptions = new RequestOptions(); deleteToolboxVersionWithResponse(name, version, requestOptions).getValue(); } + + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     String: BinaryData (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
content-typeStringThe content type of the MCP response body.
+ * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @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 anything along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response invokeLatestToolboxMcpWithResponse(String name, String contentType, BinaryData request, + RequestOptions requestOptions) { + return this.serviceClient.invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions); + } + + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return anything. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData invokeLatestToolboxMcp(String name, String contentType, Map request) { + // Generated convenience method for invokeLatestToolboxMcpWithResponse + RequestOptions requestOptions = new RequestOptions(); + return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).getValue(); + } } 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 60d95512de9c3..6ae6462cf6f34 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 @@ -826,6 +826,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -839,9 +840,26 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -948,6 +966,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -961,9 +980,26 @@ public Mono> getAgentWithResponseAsync(String agentName, Re * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1072,9 +1108,26 @@ public Response getAgentWithResponse(String agentName, RequestOption * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -1146,6 +1199,7 @@ public Response getAgentWithResponse(String agentName, RequestOption * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1159,9 +1213,26 @@ public Response getAgentWithResponse(String agentName, RequestOption * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1271,9 +1342,26 @@ public Mono> createAgentWithResponseAsync(BinaryData create * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -1345,6 +1433,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1358,9 +1447,26 @@ public Mono> createAgentWithResponseAsync(BinaryData create * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1470,6 +1576,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1483,9 +1590,26 @@ public Response createAgentWithResponse(BinaryData createAgentReques * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1601,6 +1725,7 @@ public Mono> createAgentFromCodeWithResponseInternalAsync(S * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1614,9 +1739,26 @@ public Mono> createAgentFromCodeWithResponseInternalAsync(S * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1728,9 +1870,26 @@ public Response createAgentFromCodeWithResponseInternal(String agent * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -1749,6 +1908,7 @@ public Response createAgentFromCodeWithResponseInternal(String agent * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1762,9 +1922,26 @@ public Response createAgentFromCodeWithResponseInternal(String agent * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -1874,9 +2051,26 @@ public Mono> updateAgentWithResponseAsync(String agentName, * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -1895,6 +2089,7 @@ public Mono> updateAgentWithResponseAsync(String agentName, * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -1908,9 +2103,26 @@ public Mono> updateAgentWithResponseAsync(String agentName, * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2022,6 +2234,7 @@ public Response updateAgentWithResponse(String agentName, BinaryData * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2035,9 +2248,26 @@ public Response updateAgentWithResponse(String agentName, BinaryData * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2154,6 +2384,7 @@ public Mono> updateAgentFromCodeWithResponseInternalAsync(S * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2167,9 +2398,26 @@ public Mono> updateAgentFromCodeWithResponseInternalAsync(S * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2299,6 +2547,7 @@ public Response updateAgentFromCodeWithResponseInternal(String agent * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2312,9 +2561,26 @@ public Response updateAgentFromCodeWithResponseInternal(String agent * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2439,6 +2705,7 @@ public Mono> createAgentFromManifestWithResponseAsync( * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2452,9 +2719,26 @@ public Mono> createAgentFromManifestWithResponseAsync( * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2579,6 +2863,7 @@ public Response createAgentFromManifestWithResponse(BinaryData creat * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2592,9 +2877,26 @@ public Response createAgentFromManifestWithResponse(BinaryData creat * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2720,6 +3022,7 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2733,9 +3036,26 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -2924,7 +3244,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -2950,6 +3270,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -2963,9 +3284,26 @@ public Response internalDeleteAgentWithResponse(String agentName, Re * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3068,7 +3406,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -3094,6 +3432,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -3107,9 +3446,26 @@ private Mono> listAgentsSinglePageAsync(RequestOptions * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3206,7 +3562,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) { * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -3232,6 +3588,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) { * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -3245,9 +3602,26 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3348,7 +3722,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt * Query Parameters * NameTypeRequiredDescription * kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external". + * Allowed values: "prompt", "hosted", "workflow", "external", "voice". * limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20. @@ -3374,6 +3748,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -3387,9 +3762,26 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3491,9 +3883,26 @@ public PagedIterable listAgents(RequestOptions requestOptions) { * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -3520,9 +3929,26 @@ public PagedIterable listAgents(RequestOptions requestOptions) { * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3577,9 +4003,26 @@ public Mono> createAgentVersionWithResponseAsync(String age * } * description: String (Optional) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * blueprint_reference (Optional): { @@ -3606,9 +4049,26 @@ public Mono> createAgentVersionWithResponseAsync(String age * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3685,9 +4145,26 @@ public Response createAgentVersionWithResponse(String agentName, Bin * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3764,9 +4241,26 @@ public Mono> createAgentVersionFromManifestWithResponseAsyn * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3826,9 +4320,26 @@ public Response createAgentVersionFromManifestWithResponse(String ag * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -3886,9 +4397,26 @@ public Mono> getAgentVersionDetailsWithResponseAsync(String * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4058,9 +4586,26 @@ public Response internalDeleteAgentVersionWithResponse(String agentN * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4141,9 +4686,26 @@ private Mono> listAgentVersionsSinglePageAsync(String * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4217,9 +4779,26 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4297,9 +4876,26 @@ private PagedResponse listAgentVersionsSinglePage(String agentName, * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4404,6 +5000,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -4417,9 +5014,26 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4589,6 +5203,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age * id: String (Required) * name: String (Required) * state: String(enabled/disabled) (Required) + * configuration_state: String(enabled/disabled) (Required) * state_source: String(agent_instance_identity/agent_blueprint) (Optional) * versions (Required): { * latest (Required): { @@ -4602,9 +5217,26 @@ public Mono> updateAgentDetailsWithResponseAsync(String age * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4725,9 +5357,26 @@ public Response updateAgentDetailsWithResponse(String agentName, Bin * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -4794,9 +5443,26 @@ public Mono> createAgentVersionFromCodeWithResponseInternal * description: String (Optional) * created_at: long (Required) * definition (Required): { - * kind: String(prompt/hosted/workflow/external) (Required) + * kind: String(prompt/hosted/workflow/external/voice) (Required) * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * draft: Boolean (Optional) @@ -6526,9 +7192,7 @@ public Response getMicrosoft365PublishDefaultsWithResponse(String ag * id: String (Required) * object: String (Required) * metadata (Required): { - * (Optional): { - * String: String (Required) - * } + * String: String (Required) * } * created_at: long (Required) * } @@ -6598,9 +7262,7 @@ private Mono> listAgentConversationsSinglePageAsync(Re * id: String (Required) * object: String (Required) * metadata (Required): { - * (Optional): { - * String: String (Required) - * } + * String: String (Required) * } * created_at: long (Required) * } @@ -6664,9 +7326,7 @@ public PagedFlux listAgentConversationsAsync(RequestOptions requestO * id: String (Required) * object: String (Required) * metadata (Required): { - * (Optional): { - * String: String (Required) - * } + * String: String (Required) * } * created_at: long (Required) * } @@ -6734,9 +7394,7 @@ private PagedResponse listAgentConversationsSinglePage(RequestOption * id: String (Required) * object: String (Required) * metadata (Required): { - * (Optional): { - * String: String (Required) - * } + * String: String (Required) * } * created_at: long (Required) * } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java index 7ce322adca41d..5b9c3f04a20b0 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java @@ -186,6 +186,28 @@ Response getToolboxVersionSync(@HostParam("endpoint") String endpoin @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + @Post("/toolboxes/{name}:invoke_mcp") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> invokeLatestToolboxMcp(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("content-type") String contentType, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + @BodyParam("*/*") BinaryData request, RequestOptions requestOptions, Context context); + + @Post("/toolboxes/{name}:invoke_mcp") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response invokeLatestToolboxMcpSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("content-type") String contentType, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + @BodyParam("*/*") BinaryData request, RequestOptions requestOptions, Context context); + @Patch("/toolboxes/{name}") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @@ -262,7 +284,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -281,6 +303,23 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -302,7 +341,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -321,6 +360,23 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -361,7 +417,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -380,6 +436,23 @@ public Mono> createToolboxVersionWithResponseAsync(String n * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -401,7 +474,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -420,6 +493,23 @@ public Mono> createToolboxVersionWithResponseAsync(String n * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -456,6 +546,59 @@ public Response createToolboxVersionWithResponse(String name, Binary * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -488,6 +631,59 @@ public Mono> getToolboxWithResponseAsync(String name, Reque * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -539,6 +735,59 @@ public Response getToolboxWithResponse(String name, RequestOptions r * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -593,6 +842,59 @@ private Mono> listToolboxesSinglePageAsync(RequestOpti * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -641,6 +943,59 @@ public PagedFlux listToolboxesAsync(RequestOptions requestOptions) { * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -693,6 +1048,59 @@ private PagedResponse listToolboxesSinglePage(RequestOptions request * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -749,7 +1157,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -768,6 +1176,23 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -833,7 +1258,7 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -852,6 +1277,23 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -910,7 +1352,7 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -929,6 +1371,23 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -991,7 +1450,7 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1010,6 +1469,23 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -1048,7 +1524,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1067,6 +1543,23 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -1109,7 +1602,7 @@ public Mono> getToolboxVersionWithResponseAsync(String name * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1128,6 +1621,23 @@ public Mono> getToolboxVersionWithResponseAsync(String name * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } * } * } * } @@ -1151,6 +1661,100 @@ public Response getToolboxVersionWithResponse(String name, String ve this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     String: BinaryData (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
content-typeStringThe content type of the MCP response body.
+ * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @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 anything along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> invokeLatestToolboxMcpWithResponseAsync(String name, String contentType, + BinaryData request, RequestOptions requestOptions) { + final String accept = "*/*"; + return FluxUtil.withContext(context -> service.invokeLatestToolboxMcp(this.client.getEndpoint(), name, + contentType, this.client.getServiceVersion().getVersion(), accept, request, requestOptions, context)); + } + + /** + * Invoke the latest toolbox version through MCP + * + * Invokes the latest version of the specified toolbox through its MCP endpoint. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     String: BinaryData (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
content-typeStringThe content type of the MCP response body.
+ * + * @param name The name of the toolbox. + * @param contentType The content type of the MCP request body. + * @param request The MCP request body. + * @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 anything along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response invokeLatestToolboxMcpWithResponse(String name, String contentType, BinaryData request, + RequestOptions requestOptions) { + final String accept = "*/*"; + return service.invokeLatestToolboxMcpSync(this.client.getEndpoint(), name, contentType, + this.client.getServiceVersion().getVersion(), accept, request, requestOptions, Context.NONE); + } + /** * Update a toolbox to point to a specific version * @@ -1172,6 +1776,59 @@ public Response getToolboxVersionWithResponse(String name, String ve * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } @@ -1218,6 +1875,59 @@ public Mono> updateToolboxWithResponseAsync(String name, Bi * { * id: String (Required) * name: String (Required) + * updated_at: long (Required) + * versions (Required): { + * latest (Required): { + * metadata (Required): { + * String: String (Required) + * } + * id: String (Required) + * name: String (Required) + * version: String (Required) + * description: String (Optional) + * created_at: long (Required) + * tools (Required): [ + * (Required){ + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * name: String (Optional) + * description: String (Optional) + * tool_configs (Optional): { + * String (Required): { + * pin: Boolean (Optional) + * additional_search_text: String (Optional) + * } + * } + * } + * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] + * policies (Optional): { + * rai_config (Optional): { + * rai_policy_name: String (Required) + * invocations_moderation (Optional): { + * input_content_type: String(json/text) (Optional) + * output_content_type: String(json/text) (Optional) + * response_mode: String(non_streaming/streaming/both) (Required) + * input_paths (Optional): [ + * String (Optional) + * ] + * output_paths (Optional): [ + * String (Optional) + * ] + * stream_selectors (Optional): [ + * (Optional){ + * event_type: String (Required) + * text_field: String (Optional) + * } + * ] + * } + * } + * } + * } + * } * default_version: String (Required) * } * } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java index 4d8de4270c889..6b9a6421aeecf 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java @@ -5,7 +5,7 @@ package com.azure.ai.agents.implementation.models; /** - * Feature opt-in keys for agent definition operations supporting hosted or workflow agents. + * Feature opt-in keys for agent definition operations supporting conditional preview features. */ public enum AgentDefinitionOptInKeys { /** @@ -31,7 +31,17 @@ public enum AgentDefinitionOptInKeys { /** * Enum value DigitalWorker=V1Preview. */ - DIGITAL_WORKER_V1_PREVIEW("DigitalWorker=V1Preview"); + DIGITAL_WORKER_V1_PREVIEW("DigitalWorker=V1Preview"), + + /** + * Enum value GitHubCopilot=V1Preview. + */ + GITHUB_COPILOT_V1_PREVIEW("GitHubCopilot=V1Preview"), + + /** + * Enum value Skills=V1Preview. + */ + SKILLS_V1_PREVIEW("Skills=V1Preview"); /** * The actual serialized value for a AgentDefinitionOptInKeys instance. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java index 6904f2273e714..06a7e335f6ff7 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java @@ -99,6 +99,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { String id = null; String name = null; AgentState state = null; + AgentState configurationState = null; AgentDetailsVersions versions = null; AgentStateSource stateSource = null; AgentEndpointConfig agentEndpoint = null; @@ -116,6 +117,8 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { name = reader.getString(); } else if ("state".equals(fieldName)) { state = AgentState.fromString(reader.getString()); + } else if ("configuration_state".equals(fieldName)) { + configurationState = AgentState.fromString(reader.getString()); } else if ("versions".equals(fieldName)) { versions = AgentDetailsVersions.fromJson(reader); } else if ("state_source".equals(fieldName)) { @@ -138,6 +141,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { } AgentDetails deserializedAgentDetails = new AgentDetails(id, name, versions); deserializedAgentDetails.state = state; + deserializedAgentDetails.configurationState = configurationState; deserializedAgentDetails.stateSource = stateSource; deserializedAgentDetails.agentEndpoint = agentEndpoint; deserializedAgentDetails.digitalWorkerType = digitalWorkerType; @@ -312,4 +316,22 @@ public AgentStateSource getStateSource() { public DigitalWorkerType getDigitalWorkerType() { return this.digitalWorkerType; } + + /* + * The administrative configuration state of the agent. This reflects whether the agent was explicitly enabled or + * disabled, independently of identity-derived operational state. + */ + @Generated + private AgentState configurationState; + + /** + * Get the configurationState property: The administrative configuration state of the agent. This reflects whether + * the agent was explicitly enabled or disabled, independently of identity-derived operational state. + * + * @return the configurationState value. + */ + @Generated + public AgentState getConfigurationState() { + return this.configurationState; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java new file mode 100644 index 0000000000000..2943eb468cb13 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A managed runtime and agent loop used to execute a prompt agent. + */ +@Immutable +public class AgentHarness implements JsonSerializable { + + /* + * The type of managed harness. + */ + @Generated + private String type = "AgentHarness"; + + /** + * Creates an instance of AgentHarness class. + */ + @Generated + public AgentHarness() { + } + + /** + * Get the type property: The type of managed harness. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AgentHarness from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AgentHarness 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 AgentHarness. + */ + @Generated + public static AgentHarness fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("github_copilot_preview".equals(discriminatorValue)) { + return GitHubCopilotHarness.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static AgentHarness fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AgentHarness deserializedAgentHarness = new AgentHarness(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedAgentHarness.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedAgentHarness; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java index 78e21d1ec267c..6fd06a9bb034d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java @@ -101,6 +101,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } }); jsonWriter.writeJsonField("user_security_context", this.userSecurityContext); + jsonWriter.writeJsonField("routing_config", this.routingConfig); return jsonWriter.writeEndObject(); } @@ -128,6 +129,8 @@ public static AzureCreateResponseOptions fromJson(JsonReader jsonReader) throws } else if ("user_security_context".equals(fieldName)) { deserializedAzureCreateResponseOptions.userSecurityContext = AzureUserSecurityContext.fromJson(reader); + } else if ("routing_config".equals(fieldName)) { + deserializedAzureCreateResponseOptions.routingConfig = RoutingConfiguration.fromJson(reader); } else { reader.skipChildren(); } @@ -175,4 +178,38 @@ public AzureCreateResponseOptions setUserSecurityContext(AzureUserSecurityContex this.userSecurityContext = userSecurityContext; return this; } + + /* + * Per-request configuration for Model Router inference calls. + * Supported on Model Router endpoints (deployed or instant if supported). + * Returns a 400 (Bad Request) error when the target is not a Model Router endpoint. + */ + @Generated + private RoutingConfiguration routingConfig; + + /** + * Get the routingConfig property: Per-request configuration for Model Router inference calls. + * Supported on Model Router endpoints (deployed or instant if supported). + * Returns a 400 (Bad Request) error when the target is not a Model Router endpoint. + * + * @return the routingConfig value. + */ + @Generated + public RoutingConfiguration getRoutingConfig() { + return this.routingConfig; + } + + /** + * Set the routingConfig property: Per-request configuration for Model Router inference calls. + * Supported on Model Router endpoints (deployed or instant if supported). + * Returns a 400 (Bad Request) error when the target is not a Model Router endpoint. + * + * @param routingConfig the routingConfig value to set. + * @return the AzureCreateResponseOptions object itself. + */ + @Generated + public AzureCreateResponseOptions setRoutingConfig(RoutingConfiguration routingConfig) { + this.routingConfig = routingConfig; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java new file mode 100644 index 0000000000000..310a85d1f5188 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The input definition information for a Browser Automation Tool, as used to configure an Agent. + */ +@Immutable +public final class BrowserAutomationTool extends Tool { + + /* + * The type property. + */ + @Generated + private ToolType type = ToolType.BROWSER_AUTOMATION; + + /* + * The Browser Automation Tool parameters. + */ + @Generated + private final BrowserAutomationToolParameters browserAutomation; + + /** + * Creates an instance of BrowserAutomationTool class. + * + * @param browserAutomation the browserAutomation value to set. + */ + @Generated + public BrowserAutomationTool(BrowserAutomationToolParameters browserAutomation) { + this.browserAutomation = browserAutomation; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public ToolType getType() { + return this.type; + } + + /** + * Get the browserAutomation property: The Browser Automation Tool parameters. + * + * @return the browserAutomation value. + */ + @Generated + public BrowserAutomationToolParameters getBrowserAutomation() { + return this.browserAutomation; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("browser_automation", this.browserAutomation); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of BrowserAutomationTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of BrowserAutomationTool 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 BrowserAutomationTool. + */ + @Generated + public static BrowserAutomationTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + BrowserAutomationToolParameters browserAutomation = null; + ToolType type = ToolType.BROWSER_AUTOMATION; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("browser_automation".equals(fieldName)) { + browserAutomation = BrowserAutomationToolParameters.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = ToolType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + BrowserAutomationTool deserializedBrowserAutomationTool = new BrowserAutomationTool(browserAutomation); + deserializedBrowserAutomationTool.type = type; + return deserializedBrowserAutomationTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java new file mode 100644 index 0000000000000..57674bc67f251 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.Map; + +/** + * A browser automation tool stored in a toolbox. + */ +@Fluent +public final class BrowserAutomationToolboxTool extends ToolboxTool { + + /* + * The type of tool. + */ + @Generated + private ToolboxToolType type = ToolboxToolType.BROWSER_AUTOMATION; + + /* + * The Browser Automation Tool parameters. + */ + @Generated + private final BrowserAutomationToolParameters browserAutomation; + + /** + * Creates an instance of BrowserAutomationToolboxTool class. + * + * @param browserAutomation the browserAutomation value to set. + */ + @Generated + public BrowserAutomationToolboxTool(BrowserAutomationToolParameters browserAutomation) { + this.browserAutomation = browserAutomation; + } + + /** + * Get the type property: The type of tool. + * + * @return the type value. + */ + @Generated + @Override + public ToolboxToolType getType() { + return this.type; + } + + /** + * Get the browserAutomation property: The Browser Automation Tool parameters. + * + * @return the browserAutomation value. + */ + @Generated + public BrowserAutomationToolParameters getBrowserAutomation() { + return this.browserAutomation; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public BrowserAutomationToolboxTool setName(String name) { + super.setName(name); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public BrowserAutomationToolboxTool setDescription(String description) { + super.setDescription(description); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public BrowserAutomationToolboxTool setToolConfigs(Map toolConfigs) { + super.setToolConfigs(toolConfigs); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", getName()); + jsonWriter.writeStringField("description", getDescription()); + jsonWriter.writeMapField("tool_configs", getToolConfigs(), (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("browser_automation", this.browserAutomation); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of BrowserAutomationToolboxTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of BrowserAutomationToolboxTool 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 BrowserAutomationToolboxTool. + */ + @Generated + public static BrowserAutomationToolboxTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String description = null; + Map toolConfigs = null; + BrowserAutomationToolParameters browserAutomation = null; + ToolboxToolType type = ToolboxToolType.BROWSER_AUTOMATION; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("tool_configs".equals(fieldName)) { + toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1)); + } else if ("browser_automation".equals(fieldName)) { + browserAutomation = BrowserAutomationToolParameters.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = ToolboxToolType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + BrowserAutomationToolboxTool deserializedBrowserAutomationToolboxTool + = new BrowserAutomationToolboxTool(browserAutomation); + deserializedBrowserAutomationToolboxTool.setName(name); + deserializedBrowserAutomationToolboxTool.setDescription(description); + deserializedBrowserAutomationToolboxTool.setToolConfigs(toolConfigs); + deserializedBrowserAutomationToolboxTool.type = type; + return deserializedBrowserAutomationToolboxTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotBuiltInTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotBuiltInTool.java new file mode 100644 index 0000000000000..915b10aec2764 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotBuiltInTool.java @@ -0,0 +1,71 @@ +// 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; + +/** + * A customer-configurable GitHub Copilot built-in tool. + */ +public enum GitHubCopilotBuiltInTool { + /** + * Read and search files in the harness workspace. + */ + FILESYSTEM_READ("filesystem_read"), + + /** + * Create and modify files in the harness workspace. + */ + FILESYSTEM_WRITE("filesystem_write"), + + /** + * Execute operating-system commands. + */ + SHELL("shell"), + + /** + * Fetch content and search external network resources. + */ + WEB("web"), + + /** + * Delegate work to additional agents. + */ + SUBAGENTS("subagents"); + + /** + * The actual serialized value for a GitHubCopilotBuiltInTool instance. + */ + private final String value; + + GitHubCopilotBuiltInTool(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a GitHubCopilotBuiltInTool instance. + * + * @param value the serialized value to parse. + * @return the parsed GitHubCopilotBuiltInTool object, or null if unable to parse. + */ + public static GitHubCopilotBuiltInTool fromString(String value) { + if (value == null) { + return null; + } + GitHubCopilotBuiltInTool[] items = GitHubCopilotBuiltInTool.values(); + for (GitHubCopilotBuiltInTool item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java new file mode 100644 index 0000000000000..6f254c7e176c1 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The GitHub Copilot managed harness for prompt agents. + */ +@Immutable +public final class GitHubCopilotHarness extends AgentHarness { + + /* + * The type of managed harness. + */ + @Generated + private String type = "github_copilot_preview"; + + /** + * Creates an instance of GitHubCopilotHarness class. + */ + @Generated + public GitHubCopilotHarness() { + } + + /** + * Get the type property: The type of managed harness. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GitHubCopilotHarness from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GitHubCopilotHarness 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 GitHubCopilotHarness. + */ + @Generated + public static GitHubCopilotHarness fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GitHubCopilotHarness deserializedGitHubCopilotHarness = new GitHubCopilotHarness(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedGitHubCopilotHarness.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedGitHubCopilotHarness; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java new file mode 100644 index 0000000000000..ba2a73732c40a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java @@ -0,0 +1,116 @@ +// 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; + +/** + * An enablement override for a GitHub Copilot built-in tool. + */ +@Fluent +public final class GitHubCopilotToolsetConfig implements JsonSerializable { + + /* + * The built-in tool to configure. + */ + @Generated + private final GitHubCopilotBuiltInTool name; + + /* + * Whether the built-in tool is enabled. If omitted, the toolset default applies. + */ + @Generated + private Boolean enabled; + + /** + * Creates an instance of GitHubCopilotToolsetConfig class. + * + * @param name the name value to set. + */ + @Generated + public GitHubCopilotToolsetConfig(GitHubCopilotBuiltInTool name) { + this.name = name; + } + + /** + * Get the name property: The built-in tool to configure. + * + * @return the name value. + */ + @Generated + public GitHubCopilotBuiltInTool getName() { + return this.name; + } + + /** + * Get the enabled property: Whether the built-in tool is enabled. If omitted, the toolset default applies. + * + * @return the enabled value. + */ + @Generated + public Boolean isEnabled() { + return this.enabled; + } + + /** + * Set the enabled property: Whether the built-in tool is enabled. If omitted, the toolset default applies. + * + * @param enabled the enabled value to set. + * @return the GitHubCopilotToolsetConfig object itself. + */ + @Generated + public GitHubCopilotToolsetConfig setEnabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name == null ? null : this.name.toString()); + jsonWriter.writeBooleanField("enabled", this.enabled); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GitHubCopilotToolsetConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GitHubCopilotToolsetConfig 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 GitHubCopilotToolsetConfig. + */ + @Generated + public static GitHubCopilotToolsetConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GitHubCopilotBuiltInTool name = null; + Boolean enabled = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = GitHubCopilotBuiltInTool.fromString(reader.getString()); + } else if ("enabled".equals(fieldName)) { + enabled = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + GitHubCopilotToolsetConfig deserializedGitHubCopilotToolsetConfig = new GitHubCopilotToolsetConfig(name); + deserializedGitHubCopilotToolsetConfig.enabled = enabled; + return deserializedGitHubCopilotToolsetConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java new file mode 100644 index 0000000000000..e742dbe29e6d6 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java @@ -0,0 +1,91 @@ +// 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; + +/** + * The default enablement setting for GitHub Copilot built-in tools. + */ +@Fluent +public final class GitHubCopilotToolsetDefaultConfig implements JsonSerializable { + + /* + * Whether built-in tools are enabled by default. Defaults to true. + */ + @Generated + private Boolean enabled; + + /** + * Creates an instance of GitHubCopilotToolsetDefaultConfig class. + */ + @Generated + public GitHubCopilotToolsetDefaultConfig() { + } + + /** + * Get the enabled property: Whether built-in tools are enabled by default. Defaults to true. + * + * @return the enabled value. + */ + @Generated + public Boolean isEnabled() { + return this.enabled; + } + + /** + * Set the enabled property: Whether built-in tools are enabled by default. Defaults to true. + * + * @param enabled the enabled value to set. + * @return the GitHubCopilotToolsetDefaultConfig object itself. + */ + @Generated + public GitHubCopilotToolsetDefaultConfig setEnabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("enabled", this.enabled); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GitHubCopilotToolsetDefaultConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GitHubCopilotToolsetDefaultConfig 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 GitHubCopilotToolsetDefaultConfig. + */ + @Generated + public static GitHubCopilotToolsetDefaultConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GitHubCopilotToolsetDefaultConfig deserializedGitHubCopilotToolsetDefaultConfig + = new GitHubCopilotToolsetDefaultConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("enabled".equals(fieldName)) { + deserializedGitHubCopilotToolsetDefaultConfig.enabled = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedGitHubCopilotToolsetDefaultConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java new file mode 100644 index 0000000000000..0c2d2ecb60519 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java @@ -0,0 +1,146 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Configuration overrides for GitHub Copilot built-in tools. + */ +@Fluent +public final class GitHubCopilotToolsetPreview extends Tool { + + /* + * The type property. + */ + @Generated + private ToolType type = ToolType.GITHUB_COPILOT_TOOLSET_PREVIEW; + + /* + * The default configuration for built-in tools. If omitted, built-in tools are enabled by default. + */ + @Generated + private GitHubCopilotToolsetDefaultConfig defaultConfig; + + /* + * Per-tool configuration overrides. Duplicate built-in tool names are not allowed. + */ + @Generated + private List configs; + + /** + * Creates an instance of GitHubCopilotToolsetPreview class. + */ + @Generated + public GitHubCopilotToolsetPreview() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public ToolType getType() { + return this.type; + } + + /** + * Get the defaultConfig property: The default configuration for built-in tools. If omitted, built-in tools are + * enabled by default. + * + * @return the defaultConfig value. + */ + @Generated + public GitHubCopilotToolsetDefaultConfig getDefaultConfig() { + return this.defaultConfig; + } + + /** + * Set the defaultConfig property: The default configuration for built-in tools. If omitted, built-in tools are + * enabled by default. + * + * @param defaultConfig the defaultConfig value to set. + * @return the GitHubCopilotToolsetPreview object itself. + */ + @Generated + public GitHubCopilotToolsetPreview setDefaultConfig(GitHubCopilotToolsetDefaultConfig defaultConfig) { + this.defaultConfig = defaultConfig; + return this; + } + + /** + * Get the configs property: Per-tool configuration overrides. Duplicate built-in tool names are not allowed. + * + * @return the configs value. + */ + @Generated + public List getConfigs() { + return this.configs; + } + + /** + * Set the configs property: Per-tool configuration overrides. Duplicate built-in tool names are not allowed. + * + * @param configs the configs value to set. + * @return the GitHubCopilotToolsetPreview object itself. + */ + @Generated + public GitHubCopilotToolsetPreview setConfigs(List configs) { + this.configs = configs; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("default_config", this.defaultConfig); + jsonWriter.writeArrayField("configs", this.configs, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of GitHubCopilotToolsetPreview from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of GitHubCopilotToolsetPreview 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 GitHubCopilotToolsetPreview. + */ + @Generated + public static GitHubCopilotToolsetPreview fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + GitHubCopilotToolsetPreview deserializedGitHubCopilotToolsetPreview = new GitHubCopilotToolsetPreview(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedGitHubCopilotToolsetPreview.type = ToolType.fromString(reader.getString()); + } else if ("default_config".equals(fieldName)) { + deserializedGitHubCopilotToolsetPreview.defaultConfig + = GitHubCopilotToolsetDefaultConfig.fromJson(reader); + } else if ("configs".equals(fieldName)) { + List configs + = reader.readArray(reader1 -> GitHubCopilotToolsetConfig.fromJson(reader1)); + deserializedGitHubCopilotToolsetPreview.configs = configs; + } else { + reader.skipChildren(); + } + } + return deserializedGitHubCopilotToolsetPreview; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java index f0b70f5e5ace3..cb6619b542ac2 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java @@ -75,6 +75,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString()); jsonWriter.writeArrayField("routing_trace", this.routingTrace, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("session_affinity", this.sessionAffinity); return jsonWriter.writeEndObject(); } @@ -92,6 +93,7 @@ public static ModelRouterDetails fromJson(JsonReader jsonReader) throws IOExcept return jsonReader.readObject(reader -> { ModelRouterMode mode = null; List routingTrace = null; + SessionAffinityDetails sessionAffinity = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); @@ -99,11 +101,33 @@ public static ModelRouterDetails fromJson(JsonReader jsonReader) throws IOExcept mode = ModelRouterMode.fromString(reader.getString()); } else if ("routing_trace".equals(fieldName)) { routingTrace = reader.readArray(reader1 -> RoutingTraceEntry.fromJson(reader1)); + } else if ("session_affinity".equals(fieldName)) { + sessionAffinity = SessionAffinityDetails.fromJson(reader); } else { reader.skipChildren(); } } - return new ModelRouterDetails(mode, routingTrace); + ModelRouterDetails deserializedModelRouterDetails = new ModelRouterDetails(mode, routingTrace); + deserializedModelRouterDetails.sessionAffinity = sessionAffinity; + return deserializedModelRouterDetails; }); } + + /* + * Session affinity metadata for the routing decision. Omitted when affinity metadata is unavailable or the preview + * feature is not enabled. + */ + @Generated + private SessionAffinityDetails sessionAffinity; + + /** + * Get the sessionAffinity property: Session affinity metadata for the routing decision. Omitted when affinity + * metadata is unavailable or the preview feature is not enabled. + * + * @return the sessionAffinity value. + */ + @Generated + public SessionAffinityDetails getSessionAffinity() { + return this.sessionAffinity; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java index aca87b1a51dd0..4f4bbea787363 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java @@ -278,9 +278,11 @@ public PromptAgentDefinition setRaiConfig(RaiConfig raiConfig) { public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeJsonField("rai_config", getRaiConfig()); + jsonWriter.writeJsonField("harness", this.harness); jsonWriter.writeStringField("model", this.model); jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element)); jsonWriter.writeNumberField("temperature", this.temperature); jsonWriter.writeNumberField("top_p", this.topP); // AI Tooling: openai-java de-dup @@ -311,9 +313,11 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { public static PromptAgentDefinition fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { RaiConfig raiConfig = null; + AgentHarness harness = null; String model = null; AgentKind kind = AgentKind.PROMPT; String instructions = null; + List skills = null; Double temperature = null; Double topP = null; // AI Tooling: openai-java de-dup @@ -327,12 +331,16 @@ public static PromptAgentDefinition fromJson(JsonReader jsonReader) throws IOExc reader.nextToken(); if ("rai_config".equals(fieldName)) { raiConfig = RaiConfig.fromJson(reader); + } else if ("harness".equals(fieldName)) { + harness = AgentHarness.fromJson(reader); } else if ("model".equals(fieldName)) { model = reader.getString(); } else if ("kind".equals(fieldName)) { kind = AgentKind.fromString(reader.getString()); } else if ("instructions".equals(fieldName)) { instructions = reader.getString(); + } else if ("skills".equals(fieldName)) { + skills = reader.readArray(reader1 -> SkillReference.fromJson(reader1)); } else if ("temperature".equals(fieldName)) { temperature = reader.getNullable(JsonReader::getDouble); } else if ("top_p".equals(fieldName)) { @@ -357,8 +365,10 @@ public static PromptAgentDefinition fromJson(JsonReader jsonReader) throws IOExc } PromptAgentDefinition deserializedPromptAgentDefinition = new PromptAgentDefinition(model); deserializedPromptAgentDefinition.setRaiConfig(raiConfig); + deserializedPromptAgentDefinition.harness = harness; deserializedPromptAgentDefinition.kind = kind; deserializedPromptAgentDefinition.instructions = instructions; + deserializedPromptAgentDefinition.skills = skills; deserializedPromptAgentDefinition.temperature = temperature; deserializedPromptAgentDefinition.topP = topP; deserializedPromptAgentDefinition.reasoning = reasoning; @@ -463,4 +473,63 @@ public PromptAgentDefinition setReasoning(Reasoning reasoning) { this.reasoning = reasoning; return this; } + + /* + * The managed runtime and agent loop used to execute this prompt agent. + */ + @Generated + private AgentHarness harness; + + /* + * The Foundry skills available to this prompt agent. An omitted skill version is resolved and pinned when the agent + * version is created. + */ + @Generated + private List skills; + + /** + * Get the harness property: The managed runtime and agent loop used to execute this prompt agent. + * + * @return the harness value. + */ + @Generated + public AgentHarness getHarness() { + return this.harness; + } + + /** + * Set the harness property: The managed runtime and agent loop used to execute this prompt agent. + * + * @param harness the harness value to set. + * @return the PromptAgentDefinition object itself. + */ + @Generated + public PromptAgentDefinition setHarness(AgentHarness harness) { + this.harness = harness; + return this; + } + + /** + * Get the skills property: The Foundry skills available to this prompt agent. An omitted skill version is resolved + * and pinned when the agent version is created. + * + * @return the skills value. + */ + @Generated + public List getSkills() { + return this.skills; + } + + /** + * Set the skills property: The Foundry skills available to this prompt agent. An omitted skill version is resolved + * and pinned when the agent version is created. + * + * @param skills the skills value to set. + * @return the PromptAgentDefinition object itself. + */ + @Generated + public PromptAgentDefinition setSkills(List skills) { + this.skills = skills; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiConfig.java index b8cb0567ea436..b703679844fd9 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiConfig.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiConfig.java @@ -3,8 +3,8 @@ // 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.annotation.Immutable; import com.azure.json.JsonReader; import com.azure.json.JsonSerializable; import com.azure.json.JsonToken; @@ -14,7 +14,7 @@ /** * Configuration for Responsible AI (RAI) content filtering and safety features. */ -@Immutable +@Fluent public final class RaiConfig implements JsonSerializable { /* @@ -51,6 +51,7 @@ public String getRaiPolicyName() { public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeStringField("rai_policy_name", this.raiPolicyName); + jsonWriter.writeJsonField("invocations_moderation", this.invocationsModeration); return jsonWriter.writeEndObject(); } @@ -67,16 +68,60 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { public static RaiConfig fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String raiPolicyName = null; + RaiInvocationModeration invocationsModeration = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("rai_policy_name".equals(fieldName)) { raiPolicyName = reader.getString(); + } else if ("invocations_moderation".equals(fieldName)) { + invocationsModeration = RaiInvocationModeration.fromJson(reader); } else { reader.skipChildren(); } } - return new RaiConfig(raiPolicyName); + RaiConfig deserializedRaiConfig = new RaiConfig(raiPolicyName); + deserializedRaiConfig.invocationsModeration = invocationsModeration; + return deserializedRaiConfig; }); } + + /* + * Author-declared configuration telling the platform where user/agent text lives in the + * agent-defined invocations request/response bodies, so content-safety guardrails can extract + * and moderate it. Optional; a rai_config without it leaves the invocations path without + * content-safety moderation. + */ + @Generated + private RaiInvocationModeration invocationsModeration; + + /** + * Get the invocationsModeration property: Author-declared configuration telling the platform where user/agent text + * lives in the + * agent-defined invocations request/response bodies, so content-safety guardrails can extract + * and moderate it. Optional; a rai_config without it leaves the invocations path without + * content-safety moderation. + * + * @return the invocationsModeration value. + */ + @Generated + public RaiInvocationModeration getInvocationsModeration() { + return this.invocationsModeration; + } + + /** + * Set the invocationsModeration property: Author-declared configuration telling the platform where user/agent text + * lives in the + * agent-defined invocations request/response bodies, so content-safety guardrails can extract + * and moderate it. Optional; a rai_config without it leaves the invocations path without + * content-safety moderation. + * + * @param invocationsModeration the invocationsModeration value to set. + * @return the RaiConfig object itself. + */ + @Generated + public RaiConfig setInvocationsModeration(RaiInvocationModeration invocationsModeration) { + this.invocationsModeration = invocationsModeration; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java new file mode 100644 index 0000000000000..64fa9aed9f9ea --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.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; + +/** + * How an invocations request/response body is parsed to locate text for content-safety moderation. + */ +public final class RaiInvocationContentType extends ExpandableStringEnum { + + /** + * Parse the body as JSON and evaluate the declared paths/selectors. + */ + @Generated + public static final RaiInvocationContentType JSON = fromString("json"); + + /** + * Treat the whole (size-capped) body as text; paths/selectors are ignored. + */ + @Generated + public static final RaiInvocationContentType TEXT = fromString("text"); + + /** + * Creates a new instance of RaiInvocationContentType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RaiInvocationContentType() { + } + + /** + * Creates or finds a RaiInvocationContentType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RaiInvocationContentType. + */ + @Generated + public static RaiInvocationContentType fromString(String name) { + return fromString(name, RaiInvocationContentType.class); + } + + /** + * Gets known RaiInvocationContentType values. + * + * @return known RaiInvocationContentType values. + */ + @Generated + public static Collection values() { + return values(RaiInvocationContentType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java new file mode 100644 index 0000000000000..41b74445ab079 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationMode.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; + +/** + * Author-declared response shape for the invocations protocol. + */ +public final class RaiInvocationMode extends ExpandableStringEnum { + + /** + * Non-streaming response body. + */ + @Generated + public static final RaiInvocationMode NON_STREAMING = fromString("non_streaming"); + + /** + * Streaming response body. + */ + @Generated + public static final RaiInvocationMode STREAMING = fromString("streaming"); + + /** + * Both non-streaming and streaming response bodies. + */ + @Generated + public static final RaiInvocationMode BOTH = fromString("both"); + + /** + * Creates a new instance of RaiInvocationMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RaiInvocationMode() { + } + + /** + * Creates or finds a RaiInvocationMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding RaiInvocationMode. + */ + @Generated + public static RaiInvocationMode fromString(String name) { + return fromString(name, RaiInvocationMode.class); + } + + /** + * Gets known RaiInvocationMode values. + * + * @return known RaiInvocationMode values. + */ + @Generated + public static Collection values() { + return values(RaiInvocationMode.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java new file mode 100644 index 0000000000000..f14a068fe410e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java @@ -0,0 +1,263 @@ +// 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.util.List; + +/** + * Declares where request/response text lives so content-safety guardrails can extract it. + */ +@Fluent +public final class RaiInvocationModeration implements JsonSerializable { + + /* + * How the REQUEST body is parsed. When omitted, the service defaults to `json`. + */ + @Generated + private RaiInvocationContentType inputContentType; + + /* + * How the RESPONSE body is parsed. When omitted, the service defaults to `json`. + */ + @Generated + private RaiInvocationContentType outputContentType; + + /* + * Author-declared response shape; drives which output gate runs and which fields are required. + */ + @Generated + private final RaiInvocationMode responseMode; + + /* + * Path(s) to user text in the REQUEST body. Required when input_content_type is `json`. + */ + @Generated + private List inputPaths; + + /* + * Path(s) to agent text in a NON-STREAMING response body. Required when response_mode is non_streaming/both and + * output_content_type is `json`. + */ + @Generated + private List outputPaths; + + /* + * One SSE event->field selector per event type carrying text. Required when response_mode is streaming/both and + * output_content_type is `json`. + */ + @Generated + private List streamSelectors; + + /** + * Creates an instance of RaiInvocationModeration class. + * + * @param responseMode the responseMode value to set. + */ + @Generated + public RaiInvocationModeration(RaiInvocationMode responseMode) { + this.responseMode = responseMode; + } + + /** + * Get the inputContentType property: How the REQUEST body is parsed. When omitted, the service defaults to `json`. + * + * @return the inputContentType value. + */ + @Generated + public RaiInvocationContentType getInputContentType() { + return this.inputContentType; + } + + /** + * Set the inputContentType property: How the REQUEST body is parsed. When omitted, the service defaults to `json`. + * + * @param inputContentType the inputContentType value to set. + * @return the RaiInvocationModeration object itself. + */ + @Generated + public RaiInvocationModeration setInputContentType(RaiInvocationContentType inputContentType) { + this.inputContentType = inputContentType; + return this; + } + + /** + * Get the outputContentType property: How the RESPONSE body is parsed. When omitted, the service defaults to + * `json`. + * + * @return the outputContentType value. + */ + @Generated + public RaiInvocationContentType getOutputContentType() { + return this.outputContentType; + } + + /** + * Set the outputContentType property: How the RESPONSE body is parsed. When omitted, the service defaults to + * `json`. + * + * @param outputContentType the outputContentType value to set. + * @return the RaiInvocationModeration object itself. + */ + @Generated + public RaiInvocationModeration setOutputContentType(RaiInvocationContentType outputContentType) { + this.outputContentType = outputContentType; + return this; + } + + /** + * Get the responseMode property: Author-declared response shape; drives which output gate runs and which fields are + * required. + * + * @return the responseMode value. + */ + @Generated + public RaiInvocationMode getResponseMode() { + return this.responseMode; + } + + /** + * Get the inputPaths property: Path(s) to user text in the REQUEST body. Required when input_content_type is + * `json`. + * + * @return the inputPaths value. + */ + @Generated + public List getInputPaths() { + return this.inputPaths; + } + + /** + * Set the inputPaths property: Path(s) to user text in the REQUEST body. Required when input_content_type is + * `json`. + * + * @param inputPaths the inputPaths value to set. + * @return the RaiInvocationModeration object itself. + */ + @Generated + public RaiInvocationModeration setInputPaths(List inputPaths) { + this.inputPaths = inputPaths; + return this; + } + + /** + * Get the outputPaths property: Path(s) to agent text in a NON-STREAMING response body. Required when response_mode + * is non_streaming/both and output_content_type is `json`. + * + * @return the outputPaths value. + */ + @Generated + public List getOutputPaths() { + return this.outputPaths; + } + + /** + * Set the outputPaths property: Path(s) to agent text in a NON-STREAMING response body. Required when response_mode + * is non_streaming/both and output_content_type is `json`. + * + * @param outputPaths the outputPaths value to set. + * @return the RaiInvocationModeration object itself. + */ + @Generated + public RaiInvocationModeration setOutputPaths(List outputPaths) { + this.outputPaths = outputPaths; + return this; + } + + /** + * Get the streamSelectors property: One SSE event->field selector per event type carrying text. Required when + * response_mode is streaming/both and output_content_type is `json`. + * + * @return the streamSelectors value. + */ + @Generated + public List getStreamSelectors() { + return this.streamSelectors; + } + + /** + * Set the streamSelectors property: One SSE event->field selector per event type carrying text. Required when + * response_mode is streaming/both and output_content_type is `json`. + * + * @param streamSelectors the streamSelectors value to set. + * @return the RaiInvocationModeration object itself. + */ + @Generated + public RaiInvocationModeration setStreamSelectors(List streamSelectors) { + this.streamSelectors = streamSelectors; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("response_mode", this.responseMode == null ? null : this.responseMode.toString()); + jsonWriter.writeStringField("input_content_type", + this.inputContentType == null ? null : this.inputContentType.toString()); + jsonWriter.writeStringField("output_content_type", + this.outputContentType == null ? null : this.outputContentType.toString()); + jsonWriter.writeArrayField("input_paths", this.inputPaths, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("output_paths", this.outputPaths, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("stream_selectors", this.streamSelectors, + (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RaiInvocationModeration from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RaiInvocationModeration 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 RaiInvocationModeration. + */ + @Generated + public static RaiInvocationModeration fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RaiInvocationMode responseMode = null; + RaiInvocationContentType inputContentType = null; + RaiInvocationContentType outputContentType = null; + List inputPaths = null; + List outputPaths = null; + List streamSelectors = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("response_mode".equals(fieldName)) { + responseMode = RaiInvocationMode.fromString(reader.getString()); + } else if ("input_content_type".equals(fieldName)) { + inputContentType = RaiInvocationContentType.fromString(reader.getString()); + } else if ("output_content_type".equals(fieldName)) { + outputContentType = RaiInvocationContentType.fromString(reader.getString()); + } else if ("input_paths".equals(fieldName)) { + inputPaths = reader.readArray(reader1 -> reader1.getString()); + } else if ("output_paths".equals(fieldName)) { + outputPaths = reader.readArray(reader1 -> reader1.getString()); + } else if ("stream_selectors".equals(fieldName)) { + streamSelectors = reader.readArray(reader1 -> RaiSseTextSelector.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + RaiInvocationModeration deserializedRaiInvocationModeration = new RaiInvocationModeration(responseMode); + deserializedRaiInvocationModeration.inputContentType = inputContentType; + deserializedRaiInvocationModeration.outputContentType = outputContentType; + deserializedRaiInvocationModeration.inputPaths = inputPaths; + deserializedRaiInvocationModeration.outputPaths = outputPaths; + deserializedRaiInvocationModeration.streamSelectors = streamSelectors; + return deserializedRaiInvocationModeration; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.java new file mode 100644 index 0000000000000..7d90b90dbe8ab --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.java @@ -0,0 +1,118 @@ +// 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; + +/** + * An SSE event-type to text-field selector for streaming invocation output. + */ +@Fluent +public final class RaiSseTextSelector implements JsonSerializable { + + /* + * The SSE event `type` value that carries text. + */ + @Generated + private final String eventType; + + /* + * The field on a matched event holding the text delta. When omitted, the service defaults to `delta`. + */ + @Generated + private String textField; + + /** + * Creates an instance of RaiSseTextSelector class. + * + * @param eventType the eventType value to set. + */ + @Generated + public RaiSseTextSelector(String eventType) { + this.eventType = eventType; + } + + /** + * Get the eventType property: The SSE event `type` value that carries text. + * + * @return the eventType value. + */ + @Generated + public String getEventType() { + return this.eventType; + } + + /** + * Get the textField property: The field on a matched event holding the text delta. When omitted, the service + * defaults to `delta`. + * + * @return the textField value. + */ + @Generated + public String getTextField() { + return this.textField; + } + + /** + * Set the textField property: The field on a matched event holding the text delta. When omitted, the service + * defaults to `delta`. + * + * @param textField the textField value to set. + * @return the RaiSseTextSelector object itself. + */ + @Generated + public RaiSseTextSelector setTextField(String textField) { + this.textField = textField; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_type", this.eventType); + jsonWriter.writeStringField("text_field", this.textField); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RaiSseTextSelector from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RaiSseTextSelector 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 RaiSseTextSelector. + */ + @Generated + public static RaiSseTextSelector fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventType = null; + String textField = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_type".equals(fieldName)) { + eventType = reader.getString(); + } else if ("text_field".equals(fieldName)) { + textField = reader.getString(); + } else { + reader.skipChildren(); + } + } + RaiSseTextSelector deserializedRaiSseTextSelector = new RaiSseTextSelector(eventType); + deserializedRaiSseTextSelector.textField = textField; + return deserializedRaiSseTextSelector; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java new file mode 100644 index 0000000000000..c58caa72c277d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java @@ -0,0 +1,97 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.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; + +/** + * Per-request configuration for Model Router inference calls. + * Supported on Model Router endpoints (deployed or instant if supported). + * Returns a 400 (Bad Request) error when the target is not a Model Router endpoint. + */ +@Fluent +public final class RoutingConfiguration implements JsonSerializable { + + /* + * Session affinity configuration for reusing an eligible model across requests in the same conversation. + * If omitted, sticky affinity is used when a supported conversation identifier is available. + */ + @Generated + private SessionAffinityConfiguration sessionAffinity; + + /** + * Creates an instance of RoutingConfiguration class. + */ + @Generated + public RoutingConfiguration() { + } + + /** + * Get the sessionAffinity property: Session affinity configuration for reusing an eligible model across requests in + * the same conversation. + * If omitted, sticky affinity is used when a supported conversation identifier is available. + * + * @return the sessionAffinity value. + */ + @Generated + public SessionAffinityConfiguration getSessionAffinity() { + return this.sessionAffinity; + } + + /** + * Set the sessionAffinity property: Session affinity configuration for reusing an eligible model across requests in + * the same conversation. + * If omitted, sticky affinity is used when a supported conversation identifier is available. + * + * @param sessionAffinity the sessionAffinity value to set. + * @return the RoutingConfiguration object itself. + */ + @Generated + public RoutingConfiguration setSessionAffinity(SessionAffinityConfiguration sessionAffinity) { + this.sessionAffinity = sessionAffinity; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("session_affinity", this.sessionAffinity); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RoutingConfiguration from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RoutingConfiguration 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 RoutingConfiguration. + */ + @Generated + public static RoutingConfiguration fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RoutingConfiguration deserializedRoutingConfiguration = new RoutingConfiguration(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("session_affinity".equals(fieldName)) { + deserializedRoutingConfiguration.sessionAffinity = SessionAffinityConfiguration.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRoutingConfiguration; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityConfiguration.java new file mode 100644 index 0000000000000..0f703df6d7967 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityConfiguration.java @@ -0,0 +1,127 @@ +// 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; + +/** + * Request settings that control Model Router session affinity. + */ +@Fluent +public final class SessionAffinityConfiguration implements JsonSerializable { + + /* + * Controls whether Model Router applies session affinity to this request. + */ + @Generated + private SessionAffinityRequestMode mode; + + /* + * An opaque, application-owned conversation identifier. Use the same value for related requests. + * The value is not returned in the response and must not contain secrets or personally identifiable information. + */ + @Generated + private String sessionId; + + /** + * Creates an instance of SessionAffinityConfiguration class. + */ + @Generated + public SessionAffinityConfiguration() { + } + + /** + * Get the mode property: Controls whether Model Router applies session affinity to this request. + * + * @return the mode value. + */ + @Generated + public SessionAffinityRequestMode getMode() { + return this.mode; + } + + /** + * Set the mode property: Controls whether Model Router applies session affinity to this request. + * + * @param mode the mode value to set. + * @return the SessionAffinityConfiguration object itself. + */ + @Generated + public SessionAffinityConfiguration setMode(SessionAffinityRequestMode mode) { + this.mode = mode; + return this; + } + + /** + * Get the sessionId property: An opaque, application-owned conversation identifier. Use the same value for related + * requests. + * The value is not returned in the response and must not contain secrets or personally identifiable information. + * + * @return the sessionId value. + */ + @Generated + public String getSessionId() { + return this.sessionId; + } + + /** + * Set the sessionId property: An opaque, application-owned conversation identifier. Use the same value for related + * requests. + * The value is not returned in the response and must not contain secrets or personally identifiable information. + * + * @param sessionId the sessionId value to set. + * @return the SessionAffinityConfiguration object itself. + */ + @Generated + public SessionAffinityConfiguration setSessionId(String sessionId) { + this.sessionId = sessionId; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString()); + jsonWriter.writeStringField("session_id", this.sessionId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SessionAffinityConfiguration from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SessionAffinityConfiguration 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 SessionAffinityConfiguration. + */ + @Generated + public static SessionAffinityConfiguration fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SessionAffinityConfiguration deserializedSessionAffinityConfiguration = new SessionAffinityConfiguration(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("mode".equals(fieldName)) { + deserializedSessionAffinityConfiguration.mode + = SessionAffinityRequestMode.fromString(reader.getString()); + } else if ("session_id".equals(fieldName)) { + deserializedSessionAffinityConfiguration.sessionId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedSessionAffinityConfiguration; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java new file mode 100644 index 0000000000000..7ed64482bb5b5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.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; + +/** + * Final outcomes reported for Model Router session affinity. + */ +public final class SessionAffinityDecision extends ExpandableStringEnum { + + /** + * A new model association was initialized. + */ + @Generated + public static final SessionAffinityDecision INITIALIZE = fromString("initialize"); + + /** + * The previously associated model served the response. + */ + @Generated + public static final SessionAffinityDecision RETAIN = fromString("retain"); + + /** + * A different model served the response and the association is updated after success. + */ + @Generated + public static final SessionAffinityDecision SWITCH = fromString("switch"); + + /** + * Creates a new instance of SessionAffinityDecision value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SessionAffinityDecision() { + } + + /** + * Creates or finds a SessionAffinityDecision from its string representation. + * + * @param name a name to look for. + * @return the corresponding SessionAffinityDecision. + */ + @Generated + public static SessionAffinityDecision fromString(String name) { + return fromString(name, SessionAffinityDecision.class); + } + + /** + * Gets known SessionAffinityDecision values. + * + * @return known SessionAffinityDecision values. + */ + @Generated + public static Collection values() { + return values(SessionAffinityDecision.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java new file mode 100644 index 0000000000000..1ee8ad93e2e17 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java @@ -0,0 +1,129 @@ +// 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; + +/** + * Effective Model Router session affinity metadata for a request. + */ +@Immutable +public final class SessionAffinityDetails implements JsonSerializable { + + /* + * The effective session affinity mode. + */ + @Generated + private final SessionAffinityMode mode; + + /* + * The identity source selected after applying precedence. `conversation` and `previous_response_id` apply only to + * the Responses API. Omitted when affinity is disabled. + */ + @Generated + private SessionAffinitySource source; + + /* + * The final affinity outcome for the model that served the response. Omitted when affinity is disabled or no usable + * identity was available. + */ + @Generated + private SessionAffinityDecision decision; + + /** + * Creates an instance of SessionAffinityDetails class. + * + * @param mode the mode value to set. + */ + @Generated + private SessionAffinityDetails(SessionAffinityMode mode) { + this.mode = mode; + } + + /** + * Get the mode property: The effective session affinity mode. + * + * @return the mode value. + */ + @Generated + public SessionAffinityMode getMode() { + return this.mode; + } + + /** + * Get the source property: The identity source selected after applying precedence. `conversation` and + * `previous_response_id` apply only to the Responses API. Omitted when affinity is disabled. + * + * @return the source value. + */ + @Generated + public SessionAffinitySource getSource() { + return this.source; + } + + /** + * Get the decision property: The final affinity outcome for the model that served the response. Omitted when + * affinity is disabled or no usable identity was available. + * + * @return the decision value. + */ + @Generated + public SessionAffinityDecision getDecision() { + return this.decision; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString()); + jsonWriter.writeStringField("source", this.source == null ? null : this.source.toString()); + jsonWriter.writeStringField("decision", this.decision == null ? null : this.decision.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SessionAffinityDetails from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SessionAffinityDetails 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 SessionAffinityDetails. + */ + @Generated + public static SessionAffinityDetails fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + SessionAffinityMode mode = null; + SessionAffinitySource source = null; + SessionAffinityDecision decision = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("mode".equals(fieldName)) { + mode = SessionAffinityMode.fromString(reader.getString()); + } else if ("source".equals(fieldName)) { + source = SessionAffinitySource.fromString(reader.getString()); + } else if ("decision".equals(fieldName)) { + decision = SessionAffinityDecision.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + SessionAffinityDetails deserializedSessionAffinityDetails = new SessionAffinityDetails(mode); + deserializedSessionAffinityDetails.source = source; + deserializedSessionAffinityDetails.decision = decision; + return deserializedSessionAffinityDetails; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java new file mode 100644 index 0000000000000..1d4c6383f91e6 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.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; + +/** + * Effective modes reported for Model Router session affinity. + */ +public final class SessionAffinityMode extends ExpandableStringEnum { + + /** + * Affinity was enabled for the request. + */ + @Generated + public static final SessionAffinityMode STICKY = fromString("sticky"); + + /** + * Affinity was disabled for the request. + */ + @Generated + public static final SessionAffinityMode NONE = fromString("none"); + + /** + * Creates a new instance of SessionAffinityMode value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SessionAffinityMode() { + } + + /** + * Creates or finds a SessionAffinityMode from its string representation. + * + * @param name a name to look for. + * @return the corresponding SessionAffinityMode. + */ + @Generated + public static SessionAffinityMode fromString(String name) { + return fromString(name, SessionAffinityMode.class); + } + + /** + * Gets known SessionAffinityMode values. + * + * @return known SessionAffinityMode values. + */ + @Generated + public static Collection values() { + return values(SessionAffinityMode.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java new file mode 100644 index 0000000000000..0b4649ca48f97 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java @@ -0,0 +1,56 @@ +// 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; + +/** + * Request modes supported by Model Router session affinity. + */ +public enum SessionAffinityRequestMode { + /** + * Attempts to reuse the model associated with the selected conversation identifier. + */ + STICKY("sticky"), + + /** + * Disables affinity state lookup and update for this request. + */ + NONE("none"); + + /** + * The actual serialized value for a SessionAffinityRequestMode instance. + */ + private final String value; + + SessionAffinityRequestMode(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a SessionAffinityRequestMode instance. + * + * @param value the serialized value to parse. + * @return the parsed SessionAffinityRequestMode object, or null if unable to parse. + */ + public static SessionAffinityRequestMode fromString(String value) { + if (value == null) { + return null; + } + SessionAffinityRequestMode[] items = SessionAffinityRequestMode.values(); + for (SessionAffinityRequestMode item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java new file mode 100644 index 0000000000000..46ba9a5400020 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java @@ -0,0 +1,75 @@ +// 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; + +/** + * Conversation identifier sources supported by Model Router session affinity. + */ +public final class SessionAffinitySource extends ExpandableStringEnum { + + /** + * An explicit session identifier supplied in the request body. + */ + @Generated + public static final SessionAffinitySource SESSION_ID_PAYLOAD = fromString("session_id_payload"); + + /** + * An explicit session identifier supplied in the `x-ms-session-id` request header. + */ + @Generated + public static final SessionAffinitySource SESSION_ID_HEADER = fromString("session_id_header"); + + /** + * No usable conversation identifier was available. + */ + @Generated + public static final SessionAffinitySource NOT_AVAILABLE = fromString("not_available"); + + /** + * The Responses conversation identifier. + */ + @Generated + public static final SessionAffinitySource CONVERSATION = fromString("conversation"); + + /** + * The Responses previous response identifier. + */ + @Generated + public static final SessionAffinitySource PREVIOUS_RESPONSE_ID = fromString("previous_response_id"); + + /** + * Creates a new instance of SessionAffinitySource value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public SessionAffinitySource() { + } + + /** + * Creates or finds a SessionAffinitySource from its string representation. + * + * @param name a name to look for. + * @return the corresponding SessionAffinitySource. + */ + @Generated + public static SessionAffinitySource fromString(String name) { + return fromString(name, SessionAffinitySource.class); + } + + /** + * Gets known SessionAffinitySource values. + * + * @return known SessionAffinitySource values. + */ + @Generated + public static Collection values() { + return values(SessionAffinitySource.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java new file mode 100644 index 0000000000000..4c73b7f81e6c9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java @@ -0,0 +1,119 @@ +// 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; + +/** + * A reference to a versioned Foundry skill. + */ +@Fluent +public final class SkillReference implements JsonSerializable { + + /* + * The name of the skill. + */ + @Generated + private final String name; + + /* + * The skill version. If omitted, the current default version is resolved and pinned when the agent version is + * created. + */ + @Generated + private String version; + + /** + * Creates an instance of SkillReference class. + * + * @param name the name value to set. + */ + @Generated + public SkillReference(String name) { + this.name = name; + } + + /** + * Get the name property: The name of the skill. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the version property: The skill version. If omitted, the current default version is resolved and pinned when + * the agent version is created. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Set the version property: The skill version. If omitted, the current default version is resolved and pinned when + * the agent version is created. + * + * @param version the version value to set. + * @return the SkillReference object itself. + */ + @Generated + public SkillReference setVersion(String version) { + this.version = version; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("version", this.version); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SkillReference from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SkillReference 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 SkillReference. + */ + @Generated + public static SkillReference fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String version = 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 { + reader.skipChildren(); + } + } + SkillReference deserializedSkillReference = new SkillReference(name); + deserializedSkillReference.version = version; + return deserializedSkillReference; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java index a27079d0f4c3a..1b4494c73849d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java @@ -77,7 +77,9 @@ public static Tool fromJson(JsonReader jsonReader) throws IOException { } } // Use the discriminator value to determine which subtype should be deserialized. - if ("bing_grounding".equals(discriminatorValue)) { + if ("github_copilot_toolset_preview".equals(discriminatorValue)) { + return GitHubCopilotToolsetPreview.fromJson(readerToUse.reset()); + } else if ("bing_grounding".equals(discriminatorValue)) { return BingGroundingTool.fromJson(readerToUse.reset()); } else if ("fabric_dataagent_preview".equals(discriminatorValue)) { return MicrosoftFabricPreviewTool.fromJson(readerToUse.reset()); @@ -91,6 +93,8 @@ public static Tool fromJson(JsonReader jsonReader) throws IOException { return BingCustomSearchPreviewTool.fromJson(readerToUse.reset()); } else if ("browser_automation_preview".equals(discriminatorValue)) { return BrowserAutomationPreviewTool.fromJson(readerToUse.reset()); + } else if ("browser_automation".equals(discriminatorValue)) { + return BrowserAutomationTool.fromJson(readerToUse.reset()); } else if ("azure_function".equals(discriminatorValue)) { return AzureFunctionTool.fromJson(readerToUse.reset()); } else if ("capture_structured_outputs".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolConfig.java index db972481479e9..5070caad7af4b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolConfig.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolConfig.java @@ -18,7 +18,6 @@ public final class ToolConfig implements JsonSerializable { /* - * * When true, the tool is always included in agent context and visible in `tools/list`. * When false (default), the tool is hidden from `tools/list` and only discoverable via `tool_search`. */ @@ -26,7 +25,6 @@ public final class ToolConfig implements JsonSerializable { private Boolean pin; /* - * * Additional text indexed for tool_search. Supplements the native tool description * to improve discoverability. Does not alter `tools/list` output. */ @@ -41,8 +39,7 @@ public ToolConfig() { } /** - * Get the pin property: - * When true, the tool is always included in agent context and visible in `tools/list`. + * Get the pin property: When true, the tool is always included in agent context and visible in `tools/list`. * When false (default), the tool is hidden from `tools/list` and only discoverable via `tool_search`. * * @return the pin value. @@ -53,8 +50,7 @@ public Boolean isPin() { } /** - * Set the pin property: - * When true, the tool is always included in agent context and visible in `tools/list`. + * Set the pin property: When true, the tool is always included in agent context and visible in `tools/list`. * When false (default), the tool is hidden from `tools/list` and only discoverable via `tool_search`. * * @param pin the pin value to set. @@ -67,8 +63,8 @@ public ToolConfig setPin(Boolean pin) { } /** - * Get the additionalSearchText property: - * Additional text indexed for tool_search. Supplements the native tool description + * Get the additionalSearchText property: Additional text indexed for tool_search. Supplements the native tool + * description * to improve discoverability. Does not alter `tools/list` output. * * @return the additionalSearchText value. @@ -79,8 +75,8 @@ public String getAdditionalSearchText() { } /** - * Set the additionalSearchText property: - * Additional text indexed for tool_search. Supplements the native tool description + * Set the additionalSearchText property: Additional text indexed for tool_search. Supplements the native tool + * description * to improve discoverability. Does not alter `tools/list` output. * * @param additionalSearchText the additionalSearchText value to set. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java index b0097f9c6da26..7658c23bbdebe 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java @@ -234,4 +234,16 @@ public static Collection values() { */ @Generated public static final ToolType WEB_IQ_PREVIEW = fromString("web_iq_preview"); + + /** + * Static value github_copilot_toolset_preview for ToolType. + */ + @Generated + public static final ToolType GITHUB_COPILOT_TOOLSET_PREVIEW = fromString("github_copilot_toolset_preview"); + + /** + * Static value browser_automation for ToolType. + */ + @Generated + public static final ToolType BROWSER_AUTOMATION = fromString("browser_automation"); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxDetails.java index 2a1c783ad7f9b..a64e0f460bb3a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxDetails.java @@ -10,6 +10,9 @@ 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 toolbox that stores reusable tool definitions for agents. @@ -36,20 +39,6 @@ public final class ToolboxDetails implements JsonSerializable { @Generated private final String defaultVersion; - /** - * Creates an instance of ToolboxDetails class. - * - * @param id the id value to set. - * @param name the name value to set. - * @param defaultVersion the defaultVersion value to set. - */ - @Generated - private ToolboxDetails(String id, String name, String defaultVersion) { - this.id = id; - this.name = name; - this.defaultVersion = defaultVersion; - } - /** * Get the id property: The unique identifier of the toolbox. * @@ -90,6 +79,8 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeStringField("id", this.id); jsonWriter.writeStringField("name", this.name); + jsonWriter.writeLongField("updated_at", this.updatedAt); + jsonWriter.writeJsonField("versions", this.versions); jsonWriter.writeStringField("default_version", this.defaultVersion); return jsonWriter.writeEndObject(); } @@ -108,6 +99,8 @@ public static ToolboxDetails fromJson(JsonReader jsonReader) throws IOException return jsonReader.readObject(reader -> { String id = null; String name = null; + OffsetDateTime updatedAt = null; + ToolboxVersions versions = null; String defaultVersion = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); @@ -116,13 +109,74 @@ public static ToolboxDetails fromJson(JsonReader jsonReader) throws IOException id = reader.getString(); } else if ("name".equals(fieldName)) { name = reader.getString(); + } else if ("updated_at".equals(fieldName)) { + updatedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("versions".equals(fieldName)) { + versions = ToolboxVersions.fromJson(reader); } else if ("default_version".equals(fieldName)) { defaultVersion = reader.getString(); } else { reader.skipChildren(); } } - return new ToolboxDetails(id, name, defaultVersion); + return new ToolboxDetails(id, name, updatedAt, versions, defaultVersion); }); } + + /* + * The Unix timestamp (seconds) when the toolbox was last updated. This value changes when a new toolbox version is + * created or the toolbox is updated. + */ + @Generated + private final long updatedAt; + + /* + * The versions associated with the toolbox. + */ + @Generated + private final ToolboxVersions versions; + + /** + * Creates an instance of ToolboxDetails class. + * + * @param id the id value to set. + * @param name the name value to set. + * @param updatedAt the updatedAt value to set. + * @param versions the versions value to set. + * @param defaultVersion the defaultVersion value to set. + */ + @Generated + private ToolboxDetails(String id, String name, OffsetDateTime updatedAt, ToolboxVersions versions, + String defaultVersion) { + this.id = id; + this.name = name; + if (updatedAt == null) { + this.updatedAt = 0L; + } else { + this.updatedAt = updatedAt.toEpochSecond(); + } + this.versions = versions; + this.defaultVersion = defaultVersion; + } + + /** + * Get the updatedAt property: The Unix timestamp (seconds) when the toolbox was last updated. This value changes + * when a new toolbox version is created or the toolbox is updated. + * + * @return the updatedAt value. + */ + @Generated + public OffsetDateTime getUpdatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); + } + + /** + * Get the versions property: The versions associated with the toolbox. + * + * @return the versions value. + */ + @Generated + public ToolboxVersions getVersions() { + return this.versions; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java index 8d3e58ec3229a..a6b33a61f65ef 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java @@ -191,6 +191,8 @@ public static ToolboxTool fromJson(JsonReader jsonReader) throws IOException { return A2APreviewToolboxTool.fromJson(readerToUse.reset()); } else if ("browser_automation_preview".equals(discriminatorValue)) { return BrowserAutomationPreviewToolboxTool.fromJson(readerToUse.reset()); + } else if ("browser_automation".equals(discriminatorValue)) { + return BrowserAutomationToolboxTool.fromJson(readerToUse.reset()); } else if ("reminder_preview".equals(discriminatorValue)) { return ReminderPreviewToolboxTool.fromJson(readerToUse.reset()); } else if ("work_iq_preview".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java index 62d96ad142cce..1f0a75c47ea58 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java @@ -86,7 +86,12 @@ public enum ToolboxToolType { /** * Enum value web_iq_preview. */ - WEB_IQ_PREVIEW("web_iq_preview"); + WEB_IQ_PREVIEW("web_iq_preview"), + + /** + * Enum value browser_automation. + */ + BROWSER_AUTOMATION("browser_automation"); /** * The actual serialized value for a ToolboxToolType instance. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersions.java new file mode 100644 index 0000000000000..aadf366683495 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersions.java @@ -0,0 +1,82 @@ +// 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; + +/** + * The versions associated with a toolbox. + */ +@Immutable +public final class ToolboxVersions implements JsonSerializable { + + /* + * The latest version of the toolbox. + */ + @Generated + private final ToolboxVersionDetails latest; + + /** + * Creates an instance of ToolboxVersions class. + * + * @param latest the latest value to set. + */ + @Generated + private ToolboxVersions(ToolboxVersionDetails latest) { + this.latest = latest; + } + + /** + * Get the latest property: The latest version of the toolbox. + * + * @return the latest value. + */ + @Generated + public ToolboxVersionDetails getLatest() { + return this.latest; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("latest", this.latest); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolboxVersions from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolboxVersions 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 ToolboxVersions. + */ + @Generated + public static ToolboxVersions fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ToolboxVersionDetails latest = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("latest".equals(fieldName)) { + latest = ToolboxVersionDetails.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return new ToolboxVersions(latest); + }); + } +} 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 63797ced1219b..fbec542461695 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":"c64ff2bf6467","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesAsyncClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesAsyncClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent":"Azure.AI.Projects.CreateAgentFromCodeContent","com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest":"Azure.AI.Projects.createAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentOptions":null,"com.azure.ai.agents.implementation.models.CreateAgentRequest":"Azure.AI.Projects.createAgent.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest":"Azure.AI.Projects.createAgentVersionFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionRequest":"Azure.AI.Projects.createAgentVersion.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryRequest":"Azure.AI.Projects.createMemory.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryStoreRequest":"Azure.AI.Projects.createMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.CreateSessionRequest":"Azure.AI.Projects.createSession.Request.anonymous","com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest":"Azure.AI.Projects.createToolboxVersion.Request.anonymous","com.azure.ai.agents.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.implementation.models.GetMicrosoft365AppPackageRequest":"Azure.AI.Projects.getMicrosoft365AppPackage.Request.anonymous","com.azure.ai.agents.implementation.models.ListMemoriesRequest":"Azure.AI.Projects.listMemories.Request.anonymous","com.azure.ai.agents.implementation.models.PublishAgentToMicrosoft365Request":"Azure.AI.Projects.publishAgentToMicrosoft365.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest":"Azure.AI.Projects.updateAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentRequest":"Azure.AI.Projects.updateAgent.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoriesRequest":"Azure.AI.Projects.updateMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryRequest":"Azure.AI.Projects.updateMemory.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryStoreRequest":"Azure.AI.Projects.updateMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateToolboxInput":"Azure.AI.Projects.UpdateToolboxRequest","com.azure.ai.agents.implementation.models.UpdateToolboxRequest":"Azure.AI.Projects.updateToolbox.Request.anonymous","com.azure.ai.agents.models.A2APreviewTool":"Azure.AI.Projects.A2APreviewTool","com.azure.ai.agents.models.A2APreviewToolboxTool":"Azure.AI.Projects.A2APreviewToolboxTool","com.azure.ai.agents.models.A2AProtocolConfiguration":"Azure.AI.Projects.A2AProtocolConfiguration","com.azure.ai.agents.models.A2AProtocolVersion":"Azure.AI.Projects.A2AProtocolVersion","com.azure.ai.agents.models.A2ATool":"Azure.AI.Projects.A2ATool","com.azure.ai.agents.models.A2AToolCall":"Azure.AI.Projects.A2AToolCall","com.azure.ai.agents.models.A2AToolCallOutput":"Azure.AI.Projects.A2AToolCallOutput","com.azure.ai.agents.models.A2AToolboxTool":"Azure.AI.Projects.A2AToolboxTool","com.azure.ai.agents.models.AISearchIndexResource":"Azure.AI.Projects.AISearchIndexResource","com.azure.ai.agents.models.ActivityProtocolAccessBoundary":"Azure.AI.Projects.ActivityProtocolAccessBoundary","com.azure.ai.agents.models.ActivityProtocolConfiguration":"Azure.AI.Projects.ActivityProtocolConfiguration","com.azure.ai.agents.models.AgentBlueprintReference":"Azure.AI.Projects.AgentBlueprintReference","com.azure.ai.agents.models.AgentBlueprintReferenceType":"Azure.AI.Projects.AgentBlueprintReferenceType","com.azure.ai.agents.models.AgentCard":"Azure.AI.Projects.AgentCard","com.azure.ai.agents.models.AgentCardSkill":"Azure.AI.Projects.AgentCardSkill","com.azure.ai.agents.models.AgentDefinition":"Azure.AI.Projects.AgentDefinition","com.azure.ai.agents.models.AgentDetails":"Azure.AI.Projects.AgentObject","com.azure.ai.agents.models.AgentDetailsVersions":"Azure.AI.Projects.AgentObject.versions.anonymous","com.azure.ai.agents.models.AgentEndpointAuthorizationScheme":"Azure.AI.Projects.AgentEndpointAuthorizationScheme","com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType":"Azure.AI.Projects.AgentEndpointAuthorizationSchemeType","com.azure.ai.agents.models.AgentEndpointConfig":"Azure.AI.Projects.AgentEndpointConfig","com.azure.ai.agents.models.AgentEndpointProtocol":"Azure.AI.Projects.AgentEndpointProtocol","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AutoCodeInterpreterToolParameter":"OpenAI.AutoCodeInterpreterToolParam","com.azure.ai.agents.models.AzureAISearchQueryType":"Azure.AI.Projects.AzureAISearchQueryType","com.azure.ai.agents.models.AzureAISearchTool":"Azure.AI.Projects.AzureAISearchTool","com.azure.ai.agents.models.AzureAISearchToolCall":"Azure.AI.Projects.AzureAISearchToolCall","com.azure.ai.agents.models.AzureAISearchToolCallOutput":"Azure.AI.Projects.AzureAISearchToolCallOutput","com.azure.ai.agents.models.AzureAISearchToolResource":"Azure.AI.Projects.AzureAISearchToolResource","com.azure.ai.agents.models.AzureAISearchToolboxTool":"Azure.AI.Projects.AzureAISearchToolboxTool","com.azure.ai.agents.models.AzureCreateResponseDetails":"Azure.AI.Projects.AzureCreateResponseDetails","com.azure.ai.agents.models.AzureCreateResponseOptions":"Azure.AI.Projects.AzureCreateResponseOptions","com.azure.ai.agents.models.AzureFunctionBinding":"Azure.AI.Projects.AzureFunctionBinding","com.azure.ai.agents.models.AzureFunctionDefinition":"Azure.AI.Projects.AzureFunctionDefinition","com.azure.ai.agents.models.AzureFunctionDefinitionDetails":"Azure.AI.Projects.AzureFunctionDefinition.function.anonymous","com.azure.ai.agents.models.AzureFunctionStorageQueue":"Azure.AI.Projects.AzureFunctionStorageQueue","com.azure.ai.agents.models.AzureFunctionTool":"Azure.AI.Projects.AzureFunctionTool","com.azure.ai.agents.models.AzureFunctionToolCall":"Azure.AI.Projects.AzureFunctionToolCall","com.azure.ai.agents.models.AzureFunctionToolCallOutput":"Azure.AI.Projects.AzureFunctionToolCallOutput","com.azure.ai.agents.models.AzureUserSecurityContext":"Azure.AI.Projects.AzureUserSecurityContext","com.azure.ai.agents.models.BingCustomSearchConfiguration":"Azure.AI.Projects.BingCustomSearchConfiguration","com.azure.ai.agents.models.BingCustomSearchPreviewTool":"Azure.AI.Projects.BingCustomSearchPreviewTool","com.azure.ai.agents.models.BingCustomSearchToolCall":"Azure.AI.Projects.BingCustomSearchToolCall","com.azure.ai.agents.models.BingCustomSearchToolCallOutput":"Azure.AI.Projects.BingCustomSearchToolCallOutput","com.azure.ai.agents.models.BingCustomSearchToolParameters":"Azure.AI.Projects.BingCustomSearchToolParameters","com.azure.ai.agents.models.BingGroundingSearchConfiguration":"Azure.AI.Projects.BingGroundingSearchConfiguration","com.azure.ai.agents.models.BingGroundingSearchToolParameters":"Azure.AI.Projects.BingGroundingSearchToolParameters","com.azure.ai.agents.models.BingGroundingTool":"Azure.AI.Projects.BingGroundingTool","com.azure.ai.agents.models.BingGroundingToolCall":"Azure.AI.Projects.BingGroundingToolCall","com.azure.ai.agents.models.BingGroundingToolCallOutput":"Azure.AI.Projects.BingGroundingToolCallOutput","com.azure.ai.agents.models.BotServiceAuthorizationScheme":"Azure.AI.Projects.BotServiceAuthorizationScheme","com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme":"Azure.AI.Projects.BotServiceRbacAuthorizationScheme","com.azure.ai.agents.models.BotServiceTenantAuthorizationScheme":"Azure.AI.Projects.BotServiceTenantAuthorizationScheme","com.azure.ai.agents.models.BrowserAutomationPreviewTool":"Azure.AI.Projects.BrowserAutomationPreviewTool","com.azure.ai.agents.models.BrowserAutomationPreviewToolboxTool":"Azure.AI.Projects.BrowserAutomationPreviewToolboxTool","com.azure.ai.agents.models.BrowserAutomationToolCall":"Azure.AI.Projects.BrowserAutomationToolCall","com.azure.ai.agents.models.BrowserAutomationToolCallOutput":"Azure.AI.Projects.BrowserAutomationToolCallOutput","com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters":"Azure.AI.Projects.BrowserAutomationToolConnectionParameters","com.azure.ai.agents.models.BrowserAutomationToolParameters":"Azure.AI.Projects.BrowserAutomationToolParameters","com.azure.ai.agents.models.CallableToolAllowedCaller":"OpenAI.CallableToolAllowedCaller","com.azure.ai.agents.models.CaptureStructuredOutputsTool":"Azure.AI.Projects.CaptureStructuredOutputsTool","com.azure.ai.agents.models.ChatSummaryMemoryItem":"Azure.AI.Projects.ChatSummaryMemoryItem","com.azure.ai.agents.models.CodeConfiguration":"Azure.AI.Projects.CodeConfiguration","com.azure.ai.agents.models.CodeDependencyResolution":"Azure.AI.Projects.CodeDependencyResolution","com.azure.ai.agents.models.CodeFileDetails":null,"com.azure.ai.agents.models.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.agents.models.CodeInterpreterToolboxTool":"Azure.AI.Projects.CodeInterpreterToolboxTool","com.azure.ai.agents.models.ComputerEnvironment":"ComputerEnvironmentExpandable","com.azure.ai.agents.models.ComputerTool":"OpenAI.ComputerTool","com.azure.ai.agents.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","com.azure.ai.agents.models.ContainerAutoParameter":"OpenAI.ContainerAutoParam","com.azure.ai.agents.models.ContainerConfiguration":"Azure.AI.Projects.ContainerConfiguration","com.azure.ai.agents.models.ContainerMemoryLimit":"ContainerMemoryLimitExpandable","com.azure.ai.agents.models.ContainerNetworkPolicyAllowlistParameter":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.agents.models.ContainerNetworkPolicyDisabledParameter":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.agents.models.ContainerNetworkPolicyDomainSecretParameter":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.agents.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.agents.models.ContainerNetworkPolicyParameter":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.agents.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.agents.models.ContainerSkillType":"OpenAI.ContainerSkillType","com.azure.ai.agents.models.CreateAgentVersionFromCodeContent":"Azure.AI.Projects.CreateAgentVersionFromCodeContent","com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata":"Azure.AI.Projects.CreateAgentVersionFromCodeMetadata","com.azure.ai.agents.models.CreateAgentVersionInput":"Azure.AI.Projects.CreateAgentVersionRequest","com.azure.ai.agents.models.CreateAgentVersionOptions":null,"com.azure.ai.agents.models.CustomGrammarFormatParameter":"OpenAI.CustomGrammarFormatParam","com.azure.ai.agents.models.CustomTextFormatParameter":"OpenAI.CustomTextFormatParam","com.azure.ai.agents.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.agents.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","com.azure.ai.agents.models.CustomToolParameter":"OpenAI.CustomToolParam","com.azure.ai.agents.models.DigitalWorkerType":"Azure.AI.Projects.DigitalWorkerType","com.azure.ai.agents.models.EntraAuthorizationScheme":"Azure.AI.Projects.EntraAuthorizationScheme","com.azure.ai.agents.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.agents.models.ExternalAgentDefinition":"Azure.AI.Projects.ExternalAgentDefinition","com.azure.ai.agents.models.FabricDataAgentToolCall":"Azure.AI.Projects.FabricDataAgentToolCall","com.azure.ai.agents.models.FabricDataAgentToolCallOutput":"Azure.AI.Projects.FabricDataAgentToolCallOutput","com.azure.ai.agents.models.FabricDataAgentToolParameters":"Azure.AI.Projects.FabricDataAgentToolParameters","com.azure.ai.agents.models.FabricIqPreviewTool":"Azure.AI.Projects.FabricIQPreviewTool","com.azure.ai.agents.models.FabricIqPreviewToolboxTool":"Azure.AI.Projects.FabricIQPreviewToolboxTool","com.azure.ai.agents.models.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.agents.models.FileSearchToolboxTool":"Azure.AI.Projects.FileSearchToolboxTool","com.azure.ai.agents.models.FixedRatioVersionSelectionRule":"Azure.AI.Projects.FixedRatioVersionSelectionRule","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.GetMicrosoft365AppPackageOptions":null,"com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.HeaderTelemetryEndpointAuth":"Azure.AI.Projects.HeaderTelemetryEndpointAuth","com.azure.ai.agents.models.HostedAgentDefinition":"Azure.AI.Projects.HostedAgentDefinition","com.azure.ai.agents.models.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.agents.models.ImageGenActionEnum":"ImageGenActionEnumExpandable","com.azure.ai.agents.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.agents.models.ImageGenToolBackground":"ImageGenToolBackgroundExpandable","com.azure.ai.agents.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.agents.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.agents.models.ImageGenToolModeration":"ImageGenToolModerationExpandable","com.azure.ai.agents.models.ImageGenToolOutputFormat":"ImageGenToolOutputFormatExpandable","com.azure.ai.agents.models.ImageGenToolQuality":"ImageGenToolQualityExpandable","com.azure.ai.agents.models.ImageGenToolSize":"ImageGenToolSizeExpandable","com.azure.ai.agents.models.IncludeEnum":"OpenAI.IncludeEnum","com.azure.ai.agents.models.InlineSkillParameter":"OpenAI.InlineSkillParam","com.azure.ai.agents.models.InlineSkillSourceParameter":"OpenAI.InlineSkillSourceParam","com.azure.ai.agents.models.InputFidelity":"InputFidelityExpandable","com.azure.ai.agents.models.InvocationsProtocolConfiguration":"Azure.AI.Projects.InvocationsProtocolConfiguration","com.azure.ai.agents.models.InvocationsWsProtocolConfiguration":"Azure.AI.Projects.InvocationsWsProtocolConfiguration","com.azure.ai.agents.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.agents.models.ListMemoriesOptions":null,"com.azure.ai.agents.models.LocalShellToolParameter":"OpenAI.LocalShellToolParam","com.azure.ai.agents.models.LocalSkillParameter":"OpenAI.LocalSkillParam","com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference":"Azure.AI.Projects.ManagedAgentIdentityBlueprintReference","com.azure.ai.agents.models.McpProtocolConfiguration":"Azure.AI.Projects.McpProtocolConfiguration","com.azure.ai.agents.models.McpTool":"OpenAI.MCPTool","com.azure.ai.agents.models.McpToolConnectorId":"McpToolConnectorIdExpandable","com.azure.ai.agents.models.McpToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.agents.models.McpToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.agents.models.McpToolboxTool":"Azure.AI.Projects.MCPToolboxTool","com.azure.ai.agents.models.MemoryCommandToolCall":"Azure.AI.Projects.MemoryCommandToolCall","com.azure.ai.agents.models.MemoryCommandToolCallOutput":"Azure.AI.Projects.MemoryCommandToolCallOutput","com.azure.ai.agents.models.MemoryItem":"Azure.AI.Projects.MemoryItem","com.azure.ai.agents.models.MemoryItemKind":"Azure.AI.Projects.MemoryItemKind","com.azure.ai.agents.models.MemoryOperation":"Azure.AI.Projects.MemoryOperation","com.azure.ai.agents.models.MemoryOperationKind":"Azure.AI.Projects.MemoryOperationKind","com.azure.ai.agents.models.MemorySearchItem":"Azure.AI.Projects.MemorySearchItem","com.azure.ai.agents.models.MemorySearchOptions":"Azure.AI.Projects.MemorySearchOptions","com.azure.ai.agents.models.MemorySearchPreviewTool":"Azure.AI.Projects.MemorySearchPreviewTool","com.azure.ai.agents.models.MemorySearchToolCall":"Azure.AI.Projects.MemorySearchToolCall","com.azure.ai.agents.models.MemoryStoreDefaultDefinition":"Azure.AI.Projects.MemoryStoreDefaultDefinition","com.azure.ai.agents.models.MemoryStoreDefaultOptions":"Azure.AI.Projects.MemoryStoreDefaultOptions","com.azure.ai.agents.models.MemoryStoreDefinition":"Azure.AI.Projects.MemoryStoreDefinition","com.azure.ai.agents.models.MemoryStoreDetails":"Azure.AI.Projects.MemoryStoreObject","com.azure.ai.agents.models.MemoryStoreKind":"Azure.AI.Projects.MemoryStoreKind","com.azure.ai.agents.models.MemoryStoreObjectType":"Azure.AI.Projects.MemoryStoreObjectType","com.azure.ai.agents.models.MemoryStoreOperationUsage":"Azure.AI.Projects.MemoryStoreOperationUsage","com.azure.ai.agents.models.MemoryStoreSearchResponse":"Azure.AI.Projects.MemoryStoreSearchResponse","com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult":"Azure.AI.Projects.MemoryStoreUpdateCompletedResult","com.azure.ai.agents.models.MemoryStoreUpdateResponse":"Azure.AI.Projects.MemoryStoreUpdateResponse","com.azure.ai.agents.models.MemoryStoreUpdateStatus":"Azure.AI.Projects.MemoryStoreUpdateStatus","com.azure.ai.agents.models.Microsoft365PermissionScopes":"Azure.AI.Projects.Microsoft365PermissionScopes","com.azure.ai.agents.models.Microsoft365PublishDefaults":"Azure.AI.Projects.Microsoft365PublishDefaults","com.azure.ai.agents.models.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.PublishAgentToMicrosoft365Options":null,"com.azure.ai.agents.models.PublishApprovalStatus":"Azure.AI.Projects.PublishApprovalStatus","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RankerVersionType":"RankerVersionTypeExpandable","com.azure.ai.agents.models.RankingOptions":"OpenAI.RankingOptions","com.azure.ai.agents.models.ReminderPreviewToolboxTool":"Azure.AI.Projects.ReminderPreviewToolboxTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponseUsageInputTokensDetails":"OpenAI.ResponseUsageInputTokensDetails","com.azure.ai.agents.models.ResponseUsageOutputTokensDetails":"OpenAI.ResponseUsageOutputTokensDetails","com.azure.ai.agents.models.ResponsesProtocolConfiguration":"Azure.AI.Projects.ResponsesProtocolConfiguration","com.azure.ai.agents.models.RoutingTraceEntry":"Azure.AI.Projects.RoutingTraceEntry","com.azure.ai.agents.models.SearchContentType":"OpenAI.SearchContentType","com.azure.ai.agents.models.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionConfiguration":"Azure.AI.Projects.SessionConfiguration","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionFileWriteResult":"Azure.AI.Projects.SessionFileWriteResponse","com.azure.ai.agents.models.SessionLogEvent":"Azure.AI.Projects.SessionLogEvent","com.azure.ai.agents.models.SessionLogEventType":"Azure.AI.Projects.SessionLogEventType","com.azure.ai.agents.models.SharepointGroundingToolCall":"Azure.AI.Projects.SharepointGroundingToolCall","com.azure.ai.agents.models.SharepointGroundingToolCallOutput":"Azure.AI.Projects.SharepointGroundingToolCallOutput","com.azure.ai.agents.models.SharepointGroundingToolParameters":"Azure.AI.Projects.SharepointGroundingToolParameters","com.azure.ai.agents.models.SharepointPreviewTool":"Azure.AI.Projects.SharepointPreviewTool","com.azure.ai.agents.models.ShellToolboxTool":"Azure.AI.Projects.ShellToolboxTool","com.azure.ai.agents.models.SkillReferenceParameter":"OpenAI.SkillReferenceParam","com.azure.ai.agents.models.StructuredInputDefinition":"Azure.AI.Projects.StructuredInputDefinition","com.azure.ai.agents.models.StructuredOutputDefinition":"Azure.AI.Projects.StructuredOutputDefinition","com.azure.ai.agents.models.TelemetryConfig":"Azure.AI.Projects.TelemetryConfig","com.azure.ai.agents.models.TelemetryDataKind":"Azure.AI.Projects.TelemetryDataKind","com.azure.ai.agents.models.TelemetryEndpoint":"Azure.AI.Projects.TelemetryEndpoint","com.azure.ai.agents.models.TelemetryEndpointAuth":"Azure.AI.Projects.TelemetryEndpointAuth","com.azure.ai.agents.models.TelemetryEndpointAuthType":"Azure.AI.Projects.TelemetryEndpointAuthType","com.azure.ai.agents.models.TelemetryEndpointKind":"Azure.AI.Projects.TelemetryEndpointKind","com.azure.ai.agents.models.TelemetryTransportProtocol":"Azure.AI.Projects.TelemetryTransportProtocol","com.azure.ai.agents.models.TextResponseFormatConfiguration":"OpenAI.TextResponseFormatConfiguration","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatJsonObject":"OpenAI.TextResponseFormatConfigurationResponseFormatJsonObject","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatText":"OpenAI.TextResponseFormatConfigurationResponseFormatText","com.azure.ai.agents.models.TextResponseFormatConfigurationType":"OpenAI.TextResponseFormatConfigurationType","com.azure.ai.agents.models.TextResponseFormatJsonSchema":"OpenAI.TextResponseFormatJsonSchema","com.azure.ai.agents.models.Tool":"OpenAI.Tool","com.azure.ai.agents.models.ToolCallStatus":"Azure.AI.Projects.ToolCallStatus","com.azure.ai.agents.models.ToolConfig":"Azure.AI.Projects.ToolConfig","com.azure.ai.agents.models.ToolProjectConnection":"Azure.AI.Projects.ToolProjectConnection","com.azure.ai.agents.models.ToolSearchExecutionType":"OpenAI.ToolSearchExecutionType","com.azure.ai.agents.models.ToolSearchTool":"OpenAI.ToolSearchToolParam","com.azure.ai.agents.models.ToolSearchToolboxTool":"Azure.AI.Projects.ToolSearchToolboxTool","com.azure.ai.agents.models.ToolType":"OpenAI.ToolType","com.azure.ai.agents.models.ToolboxDetails":"Azure.AI.Projects.ToolboxObject","com.azure.ai.agents.models.ToolboxPolicies":"Azure.AI.Projects.ToolboxPolicies","com.azure.ai.agents.models.ToolboxSearchPreviewToolboxTool":"Azure.AI.Projects.ToolboxSearchPreviewToolboxTool","com.azure.ai.agents.models.ToolboxShellContainerAutoEnvironment":"Azure.AI.Projects.ToolboxShellContainerAutoEnvironment","com.azure.ai.agents.models.ToolboxShellContainerReferenceEnvironment":"Azure.AI.Projects.ToolboxShellContainerReferenceEnvironment","com.azure.ai.agents.models.ToolboxShellEnvironment":"Azure.AI.Projects.ToolboxShellEnvironment","com.azure.ai.agents.models.ToolboxShellNetworkPolicy":"Azure.AI.Projects.ToolboxShellNetworkPolicy","com.azure.ai.agents.models.ToolboxShellNetworkPolicyDisabled":"Azure.AI.Projects.ToolboxShellNetworkPolicyDisabled","com.azure.ai.agents.models.ToolboxSkill":"Azure.AI.Projects.ToolboxSkill","com.azure.ai.agents.models.ToolboxSkillReference":"Azure.AI.Projects.ToolboxSkillReference","com.azure.ai.agents.models.ToolboxTool":"Azure.AI.Projects.ToolboxTool","com.azure.ai.agents.models.ToolboxToolType":"Azure.AI.Projects.ToolboxToolType","com.azure.ai.agents.models.ToolboxVersionDetails":"Azure.AI.Projects.ToolboxVersionObject","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UserProfileMemoryItem":"Azure.AI.Projects.UserProfileMemoryItem","com.azure.ai.agents.models.VersionIndicator":"Azure.AI.Projects.VersionIndicator","com.azure.ai.agents.models.VersionIndicatorType":"Azure.AI.Projects.VersionIndicatorType","com.azure.ai.agents.models.VersionRefIndicator":"Azure.AI.Projects.VersionRefIndicator","com.azure.ai.agents.models.VersionSelectionRule":"Azure.AI.Projects.VersionSelectionRule","com.azure.ai.agents.models.VersionSelector":"Azure.AI.Projects.VersionSelector","com.azure.ai.agents.models.VersionSelectorType":"Azure.AI.Projects.VersionSelectorType","com.azure.ai.agents.models.WebIqPreviewTool":"Azure.AI.Projects.WebIQPreviewTool","com.azure.ai.agents.models.WebIqPreviewToolboxTool":"Azure.AI.Projects.WebIQPreviewToolboxTool","com.azure.ai.agents.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.agents.models.WebSearchConfiguration":"Azure.AI.Projects.WebSearchConfiguration","com.azure.ai.agents.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.agents.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.agents.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.agents.models.WebSearchToolSearchContextSize":"WebSearchToolSearchContextSizeExpandable","com.azure.ai.agents.models.WebSearchToolboxTool":"Azure.AI.Projects.WebSearchToolboxTool","com.azure.ai.agents.models.WorkIqPreviewTool":"Azure.AI.Projects.WorkIQPreviewTool","com.azure.ai.agents.models.WorkIqPreviewToolboxTool":"Azure.AI.Projects.WorkIQPreviewToolboxTool","com.azure.ai.agents.models.WorkflowAgentDefinition":"Azure.AI.Projects.WorkflowAgentDefinition"},"generatedFiles":["src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxInput.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxRequest.java","src/main/java/com/azure/ai/agents/implementation/models/package-info.java","src/main/java/com/azure/ai/agents/implementation/package-info.java","src/main/java/com/azure/ai/agents/models/A2APreviewTool.java","src/main/java/com/azure/ai/agents/models/A2APreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/A2AProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/A2AProtocolVersion.java","src/main/java/com/azure/ai/agents/models/A2ATool.java","src/main/java/com/azure/ai/agents/models/A2AToolCall.java","src/main/java/com/azure/ai/agents/models/A2AToolCallOutput.java","src/main/java/com/azure/ai/agents/models/A2AToolboxTool.java","src/main/java/com/azure/ai/agents/models/AISearchIndexResource.java","src/main/java/com/azure/ai/agents/models/ActivityProtocolAccessBoundary.java","src/main/java/com/azure/ai/agents/models/ActivityProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java","src/main/java/com/azure/ai/agents/models/AgentCard.java","src/main/java/com/azure/ai/agents/models/AgentCardSkill.java","src/main/java/com/azure/ai/agents/models/AgentDefinition.java","src/main/java/com/azure/ai/agents/models/AgentDetails.java","src/main/java/com/azure/ai/agents/models/AgentDetailsVersions.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java","src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java","src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AutoCodeInterpreterToolParameter.java","src/main/java/com/azure/ai/agents/models/AzureAISearchQueryType.java","src/main/java/com/azure/ai/agents/models/AzureAISearchTool.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCall.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolResource.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java","src/main/java/com/azure/ai/agents/models/AzureFunctionBinding.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinitionDetails.java","src/main/java/com/azure/ai/agents/models/AzureFunctionStorageQueue.java","src/main/java/com/azure/ai/agents/models/AzureFunctionTool.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCall.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureUserSecurityContext.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCall.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingTool.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceTenantAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCall.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java","src/main/java/com/azure/ai/agents/models/CallableToolAllowedCaller.java","src/main/java/com/azure/ai/agents/models/CaptureStructuredOutputsTool.java","src/main/java/com/azure/ai/agents/models/ChatSummaryMemoryItem.java","src/main/java/com/azure/ai/agents/models/CodeConfiguration.java","src/main/java/com/azure/ai/agents/models/CodeDependencyResolution.java","src/main/java/com/azure/ai/agents/models/CodeFileDetails.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterTool.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterToolboxTool.java","src/main/java/com/azure/ai/agents/models/ComputerEnvironment.java","src/main/java/com/azure/ai/agents/models/ComputerTool.java","src/main/java/com/azure/ai/agents/models/ComputerUsePreviewTool.java","src/main/java/com/azure/ai/agents/models/ContainerAutoParameter.java","src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java","src/main/java/com/azure/ai/agents/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyAllowlistParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDisabledParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDomainSecretParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParameter.java","src/main/java/com/azure/ai/agents/models/ContainerSkill.java","src/main/java/com/azure/ai/agents/models/ContainerSkillType.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionOptions.java","src/main/java/com/azure/ai/agents/models/CustomGrammarFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomTextFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormatType.java","src/main/java/com/azure/ai/agents/models/CustomToolParameter.java","src/main/java/com/azure/ai/agents/models/DigitalWorkerType.java","src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/EvaluationLevel.java","src/main/java/com/azure/ai/agents/models/ExternalAgentDefinition.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCall.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCallOutput.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolParameters.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/FileSearchTool.java","src/main/java/com/azure/ai/agents/models/FileSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/GetMicrosoft365AppPackageOptions.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java","src/main/java/com/azure/ai/agents/models/HybridSearchOptions.java","src/main/java/com/azure/ai/agents/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/agents/models/ImageGenTool.java","src/main/java/com/azure/ai/agents/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/agents/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModel.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/agents/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/agents/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/agents/models/ImageGenToolSize.java","src/main/java/com/azure/ai/agents/models/IncludeEnum.java","src/main/java/com/azure/ai/agents/models/InlineSkillParameter.java","src/main/java/com/azure/ai/agents/models/InlineSkillSourceParameter.java","src/main/java/com/azure/ai/agents/models/InputFidelity.java","src/main/java/com/azure/ai/agents/models/InvocationsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/InvocationsWsProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/JobStatus.java","src/main/java/com/azure/ai/agents/models/ListMemoriesOptions.java","src/main/java/com/azure/ai/agents/models/LocalShellToolParameter.java","src/main/java/com/azure/ai/agents/models/LocalSkillParameter.java","src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java","src/main/java/com/azure/ai/agents/models/McpProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/McpTool.java","src/main/java/com/azure/ai/agents/models/McpToolConnectorId.java","src/main/java/com/azure/ai/agents/models/McpToolFilter.java","src/main/java/com/azure/ai/agents/models/McpToolRequireApproval.java","src/main/java/com/azure/ai/agents/models/McpToolboxTool.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCallOutput.java","src/main/java/com/azure/ai/agents/models/MemoryItem.java","src/main/java/com/azure/ai/agents/models/MemoryItemKind.java","src/main/java/com/azure/ai/agents/models/MemoryOperation.java","src/main/java/com/azure/ai/agents/models/MemoryOperationKind.java","src/main/java/com/azure/ai/agents/models/MemorySearchItem.java","src/main/java/com/azure/ai/agents/models/MemorySearchOptions.java","src/main/java/com/azure/ai/agents/models/MemorySearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/MemorySearchToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDetails.java","src/main/java/com/azure/ai/agents/models/MemoryStoreKind.java","src/main/java/com/azure/ai/agents/models/MemoryStoreObjectType.java","src/main/java/com/azure/ai/agents/models/MemoryStoreOperationUsage.java","src/main/java/com/azure/ai/agents/models/MemoryStoreSearchResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateCompletedResult.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateStatus.java","src/main/java/com/azure/ai/agents/models/Microsoft365PermissionScopes.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishDefaults.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java","src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RankerVersionType.java","src/main/java/com/azure/ai/agents/models/RankingOptions.java","src/main/java/com/azure/ai/agents/models/ReminderPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ResponseFormatJsonSchemaInner.java","src/main/java/com/azure/ai/agents/models/ResponseUsageInputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponseUsageOutputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponsesProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/RoutingTraceEntry.java","src/main/java/com/azure/ai/agents/models/SearchContentType.java","src/main/java/com/azure/ai/agents/models/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResult.java","src/main/java/com/azure/ai/agents/models/SessionLogEvent.java","src/main/java/com/azure/ai/agents/models/SessionLogEventType.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolParameters.java","src/main/java/com/azure/ai/agents/models/SharepointPreviewTool.java","src/main/java/com/azure/ai/agents/models/ShellToolboxTool.java","src/main/java/com/azure/ai/agents/models/SkillReferenceParameter.java","src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java","src/main/java/com/azure/ai/agents/models/StructuredOutputDefinition.java","src/main/java/com/azure/ai/agents/models/TelemetryConfig.java","src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java","src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfiguration.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatJsonObject.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatText.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationType.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatJsonSchema.java","src/main/java/com/azure/ai/agents/models/Tool.java","src/main/java/com/azure/ai/agents/models/ToolCallStatus.java","src/main/java/com/azure/ai/agents/models/ToolConfig.java","src/main/java/com/azure/ai/agents/models/ToolProjectConnection.java","src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java","src/main/java/com/azure/ai/agents/models/ToolSearchTool.java","src/main/java/com/azure/ai/agents/models/ToolSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxDetails.java","src/main/java/com/azure/ai/agents/models/ToolboxPolicies.java","src/main/java/com/azure/ai/agents/models/ToolboxSearchPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxShellContainerAutoEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellContainerReferenceEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellEnvironment.java","src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicy.java","src/main/java/com/azure/ai/agents/models/ToolboxShellNetworkPolicyDisabled.java","src/main/java/com/azure/ai/agents/models/ToolboxSkill.java","src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java","src/main/java/com/azure/ai/agents/models/ToolboxTool.java","src/main/java/com/azure/ai/agents/models/ToolboxToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UserProfileMemoryItem.java","src/main/java/com/azure/ai/agents/models/VersionIndicator.java","src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java","src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java","src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/VersionSelector.java","src/main/java/com/azure/ai/agents/models/VersionSelectorType.java","src/main/java/com/azure/ai/agents/models/WebIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/agents/models/WebSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebSearchTool.java","src/main/java/com/azure/ai/agents/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/agents/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/agents/models/WebSearchToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewToolboxTool.java","src/main/java/com/azure/ai/agents/models/WorkflowAgentDefinition.java","src/main/java/com/azure/ai/agents/models/package-info.java","src/main/java/com/azure/ai/agents/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file +{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"1aa98d019f37","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.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.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","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.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","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.BetaAgentTelephonyAsyncClient":"Azure.AI.Projects.Beta.AgentTelephony","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient":"Azure.AI.Projects.Beta.AgentTelephony","com.azure.ai.agents.BetaAgentTelephonyClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsAsyncClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsAsyncClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaAgentsAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaAgentsAsyncClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaAgentsClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaAgentsClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.AgentHarness":"Azure.AI.Projects.AgentHarness","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AudioTranscription":"OpenAI.AudioTranscription","com.azure.ai.agents.models.AudioTranscriptionModel":"OpenAI.AudioTranscription.model.anonymous","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.BrowserAutomationTool":"Azure.AI.Projects.BrowserAutomationTool","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.BrowserAutomationToolboxTool":"Azure.AI.Projects.BrowserAutomationToolboxTool","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.CreateTeamsPhoneExtensionTelephonyBindingRequest":"Azure.AI.Projects.CreateTeamsPhoneExtensionTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyBindingRequest":"Azure.AI.Projects.CreateTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyCallJobRequest":"Azure.AI.Projects.CreateTelephonyCallJobRequest","com.azure.ai.agents.models.CreateTelephonyCampaignRequest":"Azure.AI.Projects.CreateTelephonyCampaignRequest","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsage":"OpenAI.CreateTranscriptionResponseJsonUsage","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsageType":"OpenAI.CreateTranscriptionResponseJsonUsageType","com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest":"Azure.AI.Projects.CreateTwilioTelephonyBindingRequest","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.FileInputDetail":"OpenAI.FileInputDetail","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.GitHubCopilotBuiltInTool":"Azure.AI.Projects.GitHubCopilotBuiltInTool","com.azure.ai.agents.models.GitHubCopilotHarness":"Azure.AI.Projects.GitHubCopilotHarness","com.azure.ai.agents.models.GitHubCopilotToolsetConfig":"Azure.AI.Projects.GitHubCopilotToolsetConfig","com.azure.ai.agents.models.GitHubCopilotToolsetDefaultConfig":"Azure.AI.Projects.GitHubCopilotToolsetDefaultConfig","com.azure.ai.agents.models.GitHubCopilotToolsetPreview":"Azure.AI.Projects.GitHubCopilotToolsetPreview","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.ImageDetail":"OpenAI.ImageDetail","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.ImportTelephonyCampaignRecipientsRequest":"Azure.AI.Projects.ImportTelephonyCampaignRecipientsRequest","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.InputFileContent":"OpenAI.InputFileContent","com.azure.ai.agents.models.InputImageContent":"OpenAI.InputImageContent","com.azure.ai.agents.models.InputTextContent":"OpenAI.InputTextContent","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.LogProbProperties":"OpenAI.LogProbProperties","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.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.NoiseReductionType":"OpenAI.NoiseReductionType","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.PickPropertiesVoiceAgentAudioConfig":"TypeSpec.PickProperties","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.Prompt":"OpenAI.Prompt","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.PromptCacheBreakpointConfig":"OpenAI.PromptCacheBreakpointConfig","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.PublishTelephonyCampaignRequest":"Azure.AI.Projects.PublishTelephonyCampaignRequest","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RaiInvocationContentType":"Azure.AI.Projects.RaiInvocationContentType","com.azure.ai.agents.models.RaiInvocationMode":"Azure.AI.Projects.RaiInvocationMode","com.azure.ai.agents.models.RaiInvocationModeration":"Azure.AI.Projects.RaiInvocationModeration","com.azure.ai.agents.models.RaiSseTextSelector":"Azure.AI.Projects.RaiSseTextSelector","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.RealtimeClientEvent":"OpenAI.RealtimeClientEvent","com.azure.ai.agents.models.RealtimeClientEventConversationItemCreate":"OpenAI.RealtimeClientEventConversationItemCreate","com.azure.ai.agents.models.RealtimeClientEventConversationItemDelete":"OpenAI.RealtimeClientEventConversationItemDelete","com.azure.ai.agents.models.RealtimeClientEventConversationItemRetrieve":"OpenAI.RealtimeClientEventConversationItemRetrieve","com.azure.ai.agents.models.RealtimeClientEventConversationItemTruncate":"OpenAI.RealtimeClientEventConversationItemTruncate","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferAppend":"OpenAI.RealtimeClientEventInputAudioBufferAppend","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferClear":"OpenAI.RealtimeClientEventInputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferCommit":"OpenAI.RealtimeClientEventInputAudioBufferCommit","com.azure.ai.agents.models.RealtimeClientEventOutputAudioBufferClear":"OpenAI.RealtimeClientEventOutputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventResponseCancel":"OpenAI.RealtimeClientEventResponseCancel","com.azure.ai.agents.models.RealtimeClientEventResponseCreate":"OpenAI.RealtimeClientEventResponseCreate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdate":"OpenAI.RealtimeClientEventSessionUpdate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionModel":"OpenAI.RealtimeClientEventSessionUpdate.session.model.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionOutputModality":"OpenAI.RealtimeClientEventSessionUpdate.session.output_modality.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation1":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventType":"OpenAI.RealtimeClientEventType","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.RealtimeConversationItemMessage":"OpenAI.RealtimeConversationItemMessage","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant":"OpenAI.RealtimeConversationItemMessageAssistant","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContent":"OpenAI.RealtimeConversationItemMessageAssistantContent","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContentType":"OpenAI.RealtimeConversationItemMessageAssistantContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantStatus":"OpenAI.RealtimeConversationItemMessageAssistant.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystem":"OpenAI.RealtimeConversationItemMessageSystem","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContent":"OpenAI.RealtimeConversationItemMessageSystemContent","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContentType":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemStatus":"OpenAI.RealtimeConversationItemMessageSystem.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageType":"OpenAI.RealtimeConversationItemMessageType","com.azure.ai.agents.models.RealtimeConversationItemMessageUser":"OpenAI.RealtimeConversationItemMessageUser","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContent":"OpenAI.RealtimeConversationItemMessageUserContent","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentDetail":"OpenAI.RealtimeConversationItemMessageUserContent.detail.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentType":"OpenAI.RealtimeConversationItemMessageUserContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserStatus":"OpenAI.RealtimeConversationItemMessageUser.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemObject":"RealtimeConversationItemObject","com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","com.azure.ai.agents.models.RealtimeFunctionTool":"OpenAI.RealtimeFunctionTool","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.RealtimeReasoning":"OpenAI.RealtimeReasoning","com.azure.ai.agents.models.RealtimeReasoningEffort":"OpenAI.RealtimeReasoningEffort","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.RealtimeServerEvent":"OpenAI.RealtimeServerEvent","com.azure.ai.agents.models.RealtimeServerEventConversationCreated":"OpenAI.RealtimeServerEventConversationCreated","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversation":"OpenAI.RealtimeServerEventConversationCreatedConversation","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversationObject":null,"com.azure.ai.agents.models.RealtimeServerEventConversationItemAdded":"OpenAI.RealtimeServerEventConversationItemAdded","com.azure.ai.agents.models.RealtimeServerEventConversationItemCreated":"OpenAI.RealtimeServerEventConversationItemCreated","com.azure.ai.agents.models.RealtimeServerEventConversationItemDeleted":"OpenAI.RealtimeServerEventConversationItemDeleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemDone":"OpenAI.RealtimeServerEventConversationItemDone","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionDelta":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionDelta","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailed":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailed","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionSegment":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionSegment","com.azure.ai.agents.models.RealtimeServerEventConversationItemRetrieved":"OpenAI.RealtimeServerEventConversationItemRetrieved","com.azure.ai.agents.models.RealtimeServerEventConversationItemTruncated":"OpenAI.RealtimeServerEventConversationItemTruncated","com.azure.ai.agents.models.RealtimeServerEventErrorError":"OpenAI.RealtimeServerEventErrorError","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCleared":"OpenAI.RealtimeServerEventInputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCommitted":"OpenAI.RealtimeServerEventInputAudioBufferCommitted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferDtmfEventReceived":"OpenAI.RealtimeServerEventInputAudioBufferDtmfEventReceived","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStarted":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStarted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStopped":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStopped","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferTimeoutTriggered":"OpenAI.RealtimeServerEventInputAudioBufferTimeoutTriggered","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsCompleted":"OpenAI.RealtimeServerEventMCPListToolsCompleted","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsFailed":"OpenAI.RealtimeServerEventMCPListToolsFailed","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsInProgress":"OpenAI.RealtimeServerEventMCPListToolsInProgress","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferCleared":"OpenAI.RealtimeServerEventOutputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStarted":"OpenAI.RealtimeServerEventOutputAudioBufferStarted","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStopped":"OpenAI.RealtimeServerEventOutputAudioBufferStopped","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdated":"OpenAI.RealtimeServerEventRateLimitsUpdated","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimits":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimitsName":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits.name.anonymous","com.azure.ai.agents.models.RealtimeServerEventRealtimeServerEventError":"OpenAI.RealtimeServerEventRealtimeServerEventError","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDelta":"OpenAI.RealtimeServerEventResponseAudioDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDone":"OpenAI.RealtimeServerEventResponseAudioDone","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDelta":"OpenAI.RealtimeServerEventResponseAudioTranscriptDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDone":"OpenAI.RealtimeServerEventResponseAudioTranscriptDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAdded":"OpenAI.RealtimeServerEventResponseContentPartAdded","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPart":"OpenAI.RealtimeServerEventResponseContentPartAddedPart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPartType":"OpenAI.RealtimeServerEventResponseContentPartAddedPart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDone":"OpenAI.RealtimeServerEventResponseContentPartDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePart":"OpenAI.RealtimeServerEventResponseContentPartDonePart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePartType":"OpenAI.RealtimeServerEventResponseContentPartDonePart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseCreated":"OpenAI.RealtimeServerEventResponseCreated","com.azure.ai.agents.models.RealtimeServerEventResponseDone":"OpenAI.RealtimeServerEventResponseDone","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDone":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDone":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallCompleted":"OpenAI.RealtimeServerEventResponseMCPCallCompleted","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallFailed":"OpenAI.RealtimeServerEventResponseMCPCallFailed","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallInProgress":"OpenAI.RealtimeServerEventResponseMCPCallInProgress","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemAdded":"OpenAI.RealtimeServerEventResponseOutputItemAdded","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemDone":"OpenAI.RealtimeServerEventResponseOutputItemDone","com.azure.ai.agents.models.RealtimeServerEventResponseTextDelta":"OpenAI.RealtimeServerEventResponseTextDelta","com.azure.ai.agents.models.RealtimeServerEventResponseTextDone":"OpenAI.RealtimeServerEventResponseTextDone","com.azure.ai.agents.models.RealtimeServerEventSessionCreated":"OpenAI.RealtimeServerEventSessionCreated","com.azure.ai.agents.models.RealtimeServerEventSessionUpdated":"OpenAI.RealtimeServerEventSessionUpdated","com.azure.ai.agents.models.RealtimeServerEventType":"OpenAI.RealtimeServerEventType","com.azure.ai.agents.models.RealtimeSessionCreateRequestGA":"OpenAI.RealtimeSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudio":"OpenAI.RealtimeSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInput":"OpenAI.RealtimeSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutput":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutputVoice":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput.voice.anonymous","com.azure.ai.agents.models.RealtimeSessionCreateRequestGATracing":"OpenAI.RealtimeSessionCreateRequestGATracing","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnion":"OpenAI.RealtimeSessionCreateRequestUnion","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnionType":"OpenAI.RealtimeSessionCreateRequestUnionType","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGA":"OpenAI.RealtimeTranscriptionSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudio":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInput":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeTurnDetection":"OpenAI.RealtimeTurnDetection","com.azure.ai.agents.models.RealtimeTurnDetectionSemanticVad":"OpenAI.RealtimeTurnDetectionSemanticVad","com.azure.ai.agents.models.RealtimeTurnDetectionServerVad":"OpenAI.RealtimeTurnDetectionServerVad","com.azure.ai.agents.models.RealtimeTurnDetectionType":"OpenAI.RealtimeTurnDetectionType","com.azure.ai.agents.models.ReminderPreviewToolboxTool":"Azure.AI.Projects.ReminderPreviewToolboxTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponsePromptVariables":"OpenAI.ResponsePromptVariables","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.RoutingConfiguration":"Azure.AI.Projects.RoutingConfiguration","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.SessionAffinityConfiguration":"Azure.AI.Projects.SessionAffinityConfiguration","com.azure.ai.agents.models.SessionAffinityDecision":"Azure.AI.Projects.SessionAffinityDecision","com.azure.ai.agents.models.SessionAffinityDetails":"Azure.AI.Projects.SessionAffinityDetails","com.azure.ai.agents.models.SessionAffinityMode":"Azure.AI.Projects.SessionAffinityMode","com.azure.ai.agents.models.SessionAffinityRequestMode":"Azure.AI.Projects.SessionAffinityRequestMode","com.azure.ai.agents.models.SessionAffinitySource":"Azure.AI.Projects.SessionAffinitySource","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.SkillReference":"Azure.AI.Projects.SkillReference","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.TeamsPhoneExtensionTelephonyBinding":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBinding","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.TelephonyBinding":"Azure.AI.Projects.TelephonyBinding","com.azure.ai.agents.models.TelephonyBindingListItem":"Azure.AI.Projects.TelephonyBindingListItem","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.TelephonyCallJob":"Azure.AI.Projects.TelephonyCallJob","com.azure.ai.agents.models.TelephonyCallJobCancellation":"Azure.AI.Projects.TelephonyCallJobCancellation","com.azure.ai.agents.models.TelephonyCallJobSchedule":"Azure.AI.Projects.TelephonyCallJobSchedule","com.azure.ai.agents.models.TelephonyCallJobStatus":"Azure.AI.Projects.TelephonyCallJobStatus","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.TelephonyCampaign":"Azure.AI.Projects.TelephonyCampaign","com.azure.ai.agents.models.TelephonyCampaignCallJobCounts":"Azure.AI.Projects.TelephonyCampaignCallJobCounts","com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus":"Azure.AI.Projects.TelephonyCampaignConfigurationStatus","com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling":"Azure.AI.Projects.TelephonyCampaignDuplicateHandling","com.azure.ai.agents.models.TelephonyCampaignExecutionStatus":"Azure.AI.Projects.TelephonyCampaignExecutionStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientImport":"Azure.AI.Projects.TelephonyCampaignRecipientImport","com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat":"Azure.AI.Projects.TelephonyCampaignRecipientImportFormat","com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource":"Azure.AI.Projects.TelephonyCampaignRecipientImportSource","com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus":"Azure.AI.Projects.TelephonyCampaignRecipientImportStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientMapping":"Azure.AI.Projects.TelephonyCampaignRecipientMapping","com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest":"Azure.AI.Projects.TelephonyCampaignRecipientMappingRequest","com.azure.ai.agents.models.TelephonyCampaignSchedule":"Azure.AI.Projects.TelephonyCampaignSchedule","com.azure.ai.agents.models.TelephonyCampaignScheduleType":"Azure.AI.Projects.TelephonyCampaignScheduleType","com.azure.ai.agents.models.TelephonyOperation":"Azure.AI.Projects.TelephonyOperation","com.azure.ai.agents.models.TelephonyOperationResource":"Azure.AI.Projects.TelephonyOperationResource","com.azure.ai.agents.models.TelephonyOperationStatus":"Azure.AI.Projects.TelephonyOperationStatus","com.azure.ai.agents.models.TelephonyOutboundDestination":"Azure.AI.Projects.TelephonyOutboundDestination","com.azure.ai.agents.models.TelephonyOutboundDestinationType":"Azure.AI.Projects.TelephonyOutboundDestinationType","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicy":"Azure.AI.Projects.TelephonyOutboundRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType":"Azure.AI.Projects.TelephonyOutboundRetryPolicyType","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferDestination":"Azure.AI.Projects.TelephonyTransferDestination","com.azure.ai.agents.models.TelephonyTransferDestinationKind":"Azure.AI.Projects.TelephonyTransferDestinationKind","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.TokenLimits":"OpenAI.TokenLimits","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.ToolChoiceOptions":"OpenAI.ToolChoiceOptions","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.ToolboxVersions":"Azure.AI.Projects.ToolboxVersions","com.azure.ai.agents.models.TranscriptTextUsageDuration":"OpenAI.TranscriptTextUsageDuration","com.azure.ai.agents.models.TranscriptTextUsageTokens":"OpenAI.TranscriptTextUsageTokens","com.azure.ai.agents.models.TranscriptTextUsageTokensInputTokenDetails":"OpenAI.TranscriptTextUsageTokensInputTokenDetails","com.azure.ai.agents.models.TranscriptionLanguage":"OpenAI.TranscriptionLanguage","com.azure.ai.agents.models.TwilioTelephonyBinding":"Azure.AI.Projects.TwilioTelephonyBinding","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.VoiceAgentAnimationConfig":"Azure.AI.Projects.VoiceAgentAnimationConfig","com.azure.ai.agents.models.VoiceAgentAnimationOutputType":"Azure.AI.Projects.VoiceAgentAnimationOutputType","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.VoiceAgentAvatarIceServer":"Azure.AI.Projects.VoiceAgentAvatarIceServer","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.VoiceAgentClientEventRtcCallSdpCreate":"Azure.AI.Projects.VoiceAgentClientEventRtcCallSdpCreate","com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect":"Azure.AI.Projects.VoiceAgentClientEventSessionAvatarConnect","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.VoiceAgentEndConversationSystemTool":"Azure.AI.Projects.VoiceAgentEndConversationSystemTool","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.VoiceAgentFunctionToolType":null,"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.VoiceAgentRealtimeResponse":"Azure.AI.Projects.VoiceAgentRealtimeResponse","com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase":"Azure.AI.Projects.VoiceAgentRealtimeResponseBase","com.azure.ai.agents.models.VoiceAgentResponseCreateParams":"Azure.AI.Projects.VoiceAgentResponseCreateParams","com.azure.ai.agents.models.VoiceAgentResponseCreateParamsConversation":"Azure.AI.Projects.VoiceAgentResponseCreateParams.conversation.anonymous","com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails":"Azure.AI.Projects.VoiceAgentRtcCallErrorDetails","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.VoiceAgentServerEventResponseAnimationBlendshapesDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseVideoDelta","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError":"Azure.AI.Projects.VoiceAgentServerEventRtcCallError","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated":"Azure.AI.Projects.VoiceAgentServerEventRtcCallSdpCreated","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarConnecting","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToIdle","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToSpeaking","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentAborted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentCompleted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentStarted","com.azure.ai.agents.models.VoiceAgentServerEventWarning":"Azure.AI.Projects.VoiceAgentServerEventWarning","com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails":"Azure.AI.Projects.VoiceAgentServerEventWarningDetails","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig":"Azure.AI.Projects.VoiceAgentSessionAvatarConfig","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentSessionResponseConfig":"Azure.AI.Projects.VoiceAgentSessionResponseConfig","com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig":"Azure.AI.Projects.VoiceAgentSessionUpdateConfig","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.VoiceAgentSubagentAbortReason":"Azure.AI.Projects.VoiceAgentSubagentAbortReason","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.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.VoiceAgentTranscriptionPhrase":"Azure.AI.Projects.VoiceAgentTranscriptionPhrase","com.azure.ai.agents.models.VoiceAgentTranscriptionWord":"Azure.AI.Projects.VoiceAgentTranscriptionWord","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.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.VoiceConversationEngine":"Azure.AI.Projects.VoiceConversationEngine","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.VoiceHostedAgentConversationEngine":"Azure.AI.Projects.VoiceHostedAgentConversationEngine","com.azure.ai.agents.models.VoiceIdsShared":"OpenAI.VoiceIdsShared","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.VoiceResponseBaseObject1":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/BetaAgentTelephonyAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentTelephonyClient.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentEndpointConversationsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentTelephoniesImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java","src/main/java/com/azure/ai/agents/implementation/models/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/AgentHarness.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AudioTranscription.java","src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.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/BrowserAutomationTool.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/BrowserAutomationToolboxTool.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/CreateTeamsPhoneExtensionTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java","src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.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/FileInputDetail.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/GitHubCopilotBuiltInTool.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.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/ImageDetail.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/ImportTelephonyCampaignRecipientsRequest.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/InputFileContent.java","src/main/java/com/azure/ai/agents/models/InputImageContent.java","src/main/java/com/azure/ai/agents/models/InputTextContent.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/LogProbProperties.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/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/NoiseReductionType.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/PickPropertiesVoiceAgentAudioConfig.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/Prompt.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/PromptCacheBreakpointConfig.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/PublishTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java","src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java","src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java","src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.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/RealtimeClientEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.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/RealtimeConversationItemMessage.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java","src/main/java/com/azure/ai/agents/models/RealtimeFunctionTool.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/RealtimeReasoning.java","src/main/java/com/azure/ai/agents/models/RealtimeReasoningEffort.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/RealtimeServerEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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/ResponsePromptVariables.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/RoutingConfiguration.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/SessionAffinityConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java","src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinitySource.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/SkillReference.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/TeamsPhoneExtensionTelephonyBinding.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/TelephonyBinding.java","src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.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/TelephonyCallJob.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.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/TelephonyCampaign.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java","src/main/java/com/azure/ai/agents/models/TelephonyOperation.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.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/TokenLimits.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/ToolChoiceOptions.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/ToolboxVersions.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java","src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.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/VoiceAgentAnimationConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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/VoiceAgentAvatarIceServer.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/VoiceAgentClientEventRtcCallSdpCreate.java","src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.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/VoiceAgentEndConversationSystemTool.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/VoiceAgentFunctionToolType.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/VoiceAgentRealtimeResponse.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.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/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.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/VoiceAgentSubagentAbortReason.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/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/VoiceAgentTranscriptionPhrase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.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/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/VoiceConversationEngine.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/VoiceHostedAgentConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceIdsShared.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/VoiceResponseBaseObject1.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/tsp-location.yaml b/sdk/ai/azure-ai-agents/tsp-location.yaml index 86509febdc3a7..0fec7c5973486 100644 --- a/sdk/ai/azure-ai-agents/tsp-location.yaml +++ b/sdk/ai/azure-ai-agents/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-agents -commit: 0d22a924f520701e886d6ce3afd49abc0d6548d1 +commit: 54d7fde47589d8a2ea9ca710a64e895e3f61e46d repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents From e25de47297c0e3c30b4f02df6ca64a179922eae8 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Fri, 11 Sep 2026 13:54:58 -0700 Subject: [PATCH 04/15] toolbox temp patch before spec update --- .../main/java/com/azure/ai/agents/ToolboxesAsyncClient.java | 4 ++-- .../src/main/java/com/azure/ai/agents/ToolboxesClient.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index 2b5e1f147299f..3397a173f666f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -1102,9 +1102,9 @@ public Mono> invokeLatestToolboxMcpWithResponse(String name * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return anything on successful completion of {@link Mono}. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono invokeLatestToolboxMcp(String name, String contentType, Map request) { + public // TODO: temp customization until spec change + Mono invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { // Generated convenience method for invokeLatestToolboxMcpWithResponse RequestOptions requestOptions = new RequestOptions(); return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).flatMap(FluxUtil::toMono); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index 70e0fb33ceb2b..746f4127c2149 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -1041,9 +1041,9 @@ public Response invokeLatestToolboxMcpWithResponse(String name, Stri * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return anything. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public BinaryData invokeLatestToolboxMcp(String name, String contentType, Map request) { + public // TODO: temp customization until spec change + BinaryData invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { // Generated convenience method for invokeLatestToolboxMcpWithResponse RequestOptions requestOptions = new RequestOptions(); return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).getValue(); From 0c5c2fc068413b73b49306eecc2a68ed18ed6088 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Fri, 11 Sep 2026 16:17:58 -0700 Subject: [PATCH 05/15] regen new toolbox, add stopped_at field --- .../azure/ai/agents/AgentsAsyncClient.java | 3 +++ .../com/azure/ai/agents/AgentsClient.java | 3 +++ .../azure/ai/agents/ToolboxesAsyncClient.java | 8 +++--- .../com/azure/ai/agents/ToolboxesClient.java | 8 +++--- .../ai/agents/implementation/AgentsImpl.java | 8 ++++++ .../agents/implementation/ToolboxesImpl.java | 8 ++---- .../agents/models/AgentSessionResource.java | 26 +++++++++++++++++++ 7 files changed, 48 insertions(+), 16 deletions(-) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java index 6c4d3d5060b8f..9e61ede4bde99 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java @@ -2835,6 +2835,7 @@ public Mono> downloadAgentCodeWithResponse(String agentName, Stri * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -2873,6 +2874,7 @@ public Mono> createSessionWithResponse(String agentName, Bi * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -2976,6 +2978,7 @@ public Mono> stopSessionWithResponse(String agentName, String ses * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java index 8c4275ee36e3d..e07aca4d8f642 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClient.java @@ -2744,6 +2744,7 @@ public Response downloadAgentCodeWithResponse(String agentName, String fil * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -2782,6 +2783,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -2882,6 +2884,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index 3397a173f666f..2d04291a7eb99 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -1048,9 +1048,7 @@ public Mono deleteToolboxVersion(String name, String version) { * *
      * {@code
-     * {
-     *     String: BinaryData (Required)
-     * }
+     * BinaryData
      * }
      * 
* @@ -1102,9 +1100,9 @@ public Mono> invokeLatestToolboxMcpWithResponse(String name * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return anything on successful completion of {@link Mono}. */ + @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public // TODO: temp customization until spec change - Mono invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { + public Mono invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { // Generated convenience method for invokeLatestToolboxMcpWithResponse RequestOptions requestOptions = new RequestOptions(); return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).flatMap(FluxUtil::toMono); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index 746f4127c2149..9fc79bef14582 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -987,9 +987,7 @@ public void deleteToolboxVersion(String name, String version) { * *
      * {@code
-     * {
-     *     String: BinaryData (Required)
-     * }
+     * BinaryData
      * }
      * 
* @@ -1041,9 +1039,9 @@ public Response invokeLatestToolboxMcpWithResponse(String name, Stri * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return anything. */ + @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public // TODO: temp customization until spec change - BinaryData invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { + public BinaryData invokeLatestToolboxMcp(String name, String contentType, BinaryData request) { // Generated convenience method for invokeLatestToolboxMcpWithResponse RequestOptions requestOptions = new RequestOptions(); return invokeLatestToolboxMcpWithResponse(name, contentType, request, requestOptions).getValue(); 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 6ae6462cf6f34..2561da83482b8 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 @@ -5721,6 +5721,7 @@ public Response disableAgentWithResponse(String agentName, RequestOptions * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -5777,6 +5778,7 @@ public Mono> createSessionWithResponseAsync(String agentNam * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -5818,6 +5820,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -5859,6 +5862,7 @@ public Mono> getSessionWithResponseAsync(String agentName, * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -6003,6 +6007,7 @@ public Response stopSessionWithResponse(String agentName, String sessionId * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -6064,6 +6069,7 @@ private Mono> listSessionsSinglePageAsync(String agent * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -6118,6 +6124,7 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * @@ -6176,6 +6183,7 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) + * stopped_at: Long (Optional) * } * } * diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java index 5b9c3f04a20b0..04c69d5247998 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java @@ -1669,9 +1669,7 @@ public Response getToolboxVersionWithResponse(String name, String ve * *
      * {@code
-     * {
-     *     String: BinaryData (Required)
-     * }
+     * BinaryData
      * }
      * 
* @@ -1716,9 +1714,7 @@ public Mono> invokeLatestToolboxMcpWithResponseAsync(String * *
      * {@code
-     * {
-     *     String: BinaryData (Required)
-     * }
+     * BinaryData
      * }
      * 
* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java index 66fcc5f82c5a2..62be084d3f146 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java @@ -162,6 +162,7 @@ public static AgentSessionResource fromJson(JsonReader jsonReader) throws IOExce long createdAt = 0L; long lastAccessedAt = 0L; long expiresAt = 0L; + Long stoppedAt = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); @@ -177,6 +178,8 @@ public static AgentSessionResource fromJson(JsonReader jsonReader) throws IOExce lastAccessedAt = reader.getLong(); } else if ("expires_at".equals(fieldName)) { expiresAt = reader.getLong(); + } else if ("stopped_at".equals(fieldName)) { + stoppedAt = reader.getNullable(JsonReader::getLong); } else { reader.skipChildren(); } @@ -186,7 +189,30 @@ public static AgentSessionResource fromJson(JsonReader jsonReader) throws IOExce deserializedAgentSessionResource.createdAt = createdAt; deserializedAgentSessionResource.lastAccessedAt = lastAccessedAt; deserializedAgentSessionResource.expiresAt = expiresAt; + deserializedAgentSessionResource.stoppedAt = stoppedAt; return deserializedAgentSessionResource; }); } + + /* + * The Unix timestamp (in seconds) when the session sandbox was last observed to stop or go idle. Present only after + * the session has gone idle at least once, used for accurate idle-billing reconciliation. + */ + @Generated + private Long stoppedAt; + + /** + * Get the stoppedAt property: The Unix timestamp (in seconds) when the session sandbox was last observed to stop or + * go idle. Present only after the session has gone idle at least once, used for accurate idle-billing + * reconciliation. + * + * @return the stoppedAt value. + */ + @Generated + public OffsetDateTime getStoppedAt() { + if (this.stoppedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.stoppedAt), ZoneOffset.UTC); + } } From c4be69f7d8d7c57d6c7f4b6e8e12ca1ca37a5d1a Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 13:20:10 -0700 Subject: [PATCH 06/15] add new beta annotations --- sdk/ai/azure-ai-projects/customizations/beta-annotations.csv | 1 + .../ai/projects/models/DataGenerationJobOutputWriteMode.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv b/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv index 4b2819566ce47..e13fb464f97e2 100644 --- a/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv +++ b/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv @@ -47,6 +47,7 @@ class;com.azure.ai.projects.models.DataGenerationJobOptions;Preview API. DataGen class;com.azure.ai.projects.models.DataGenerationJobOutput;Preview API. DataGenerationJobs=V1Preview; class;com.azure.ai.projects.models.DataGenerationJobOutputOptions;Preview API. DataGenerationJobs=V1Preview; class;com.azure.ai.projects.models.DataGenerationJobOutputType;Preview API. DataGenerationJobs=V1Preview; +class;com.azure.ai.projects.models.DataGenerationJobOutputWriteMode;Preview API. DataGenerationJobs=V1Preview; class;com.azure.ai.projects.models.DataGenerationJobResult;Preview API. DataGenerationJobs=V1Preview; class;com.azure.ai.projects.models.DataGenerationJobScenario;Preview API. DataGenerationJobs=V1Preview; class;com.azure.ai.projects.models.DataGenerationJobSource;Preview API. DataGenerationJobs=V1Preview; diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java index b577747222a82..4f91595418f4e 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobOutputWriteMode.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.projects.models; +import com.azure.ai.projects.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -10,6 +11,7 @@ /** * The supported write modes for data generation job outputs. */ +@Beta(warningText = "Preview API. DataGenerationJobs=V1Preview") public final class DataGenerationJobOutputWriteMode extends ExpandableStringEnum { /** From cb8a7c240b9cba57f3bd728bb6844cdcee55e9d0 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 15:19:21 -0700 Subject: [PATCH 07/15] remove browser automation --- .../azure/ai/agents/ToolboxesAsyncClient.java | 14 +- .../com/azure/ai/agents/ToolboxesClient.java | 14 +- .../agents/implementation/ToolboxesImpl.java | 36 ++--- .../agents/models/BrowserAutomationTool.java | 104 ------------ .../models/BrowserAutomationToolboxTool.java | 151 ------------------ .../java/com/azure/ai/agents/models/Tool.java | 2 - .../azure/ai/agents/models/ToolboxTool.java | 2 - .../ai/agents/models/ToolboxToolType.java | 7 +- 8 files changed, 33 insertions(+), 297 deletions(-) delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index 2d04291a7eb99..2105c91054015 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -67,7 +67,7 @@ public final class ToolboxesAsyncClient { * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -124,7 +124,7 @@ public final class ToolboxesAsyncClient { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -207,7 +207,7 @@ public Mono> createToolboxVersionWithResponse(String name, * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -311,7 +311,7 @@ public Mono> getToolboxWithResponse(String name, RequestOpt * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -408,7 +408,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -483,7 +483,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -575,7 +575,7 @@ public Mono> getToolboxVersionWithResponse(String name, Str * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index 9fc79bef14582..4cb3e0f9ff757 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -61,7 +61,7 @@ public final class ToolboxesClient { * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -118,7 +118,7 @@ public final class ToolboxesClient { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -200,7 +200,7 @@ public Response createToolboxVersionWithResponse(String name, Binary * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -303,7 +303,7 @@ public Response getToolboxWithResponse(String name, RequestOptions r * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -400,7 +400,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -475,7 +475,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -567,7 +567,7 @@ public Response getToolboxVersionWithResponse(String name, String ve * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java index 04c69d5247998..db47cf8f94085 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java @@ -284,7 +284,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -341,7 +341,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -417,7 +417,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * } * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -474,7 +474,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -559,7 +559,7 @@ public Response createToolboxVersionWithResponse(String name, Binary * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -644,7 +644,7 @@ public Mono> getToolboxWithResponseAsync(String name, Reque * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -748,7 +748,7 @@ public Response getToolboxWithResponse(String name, RequestOptions r * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -855,7 +855,7 @@ private Mono> listToolboxesSinglePageAsync(RequestOpti * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -956,7 +956,7 @@ public PagedFlux listToolboxesAsync(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1061,7 +1061,7 @@ private PagedResponse listToolboxesSinglePage(RequestOptions request * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1157,7 +1157,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1258,7 +1258,7 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1352,7 +1352,7 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1450,7 +1450,7 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1524,7 +1524,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1602,7 +1602,7 @@ public Mono> getToolboxVersionWithResponseAsync(String name * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1785,7 +1785,7 @@ public Response invokeLatestToolboxMcpWithResponse(String name, Stri * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { @@ -1884,7 +1884,7 @@ public Mono> updateToolboxWithResponseAsync(String name, Bi * created_at: long (Required) * tools (Required): [ * (Required){ - * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview/browser_automation) (Required) + * type: String(code_interpreter/file_search/web_search/mcp/azure_ai_search/openapi/a2a_preview/browser_automation_preview/reminder_preview/work_iq_preview/fabric_iq_preview/toolbox_search/toolbox_search_preview/a2a/shell/web_iq_preview) (Required) * name: String (Optional) * description: String (Optional) * tool_configs (Optional): { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java deleted file mode 100644 index 310a85d1f5188..0000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationTool.java +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * The input definition information for a Browser Automation Tool, as used to configure an Agent. - */ -@Immutable -public final class BrowserAutomationTool extends Tool { - - /* - * The type property. - */ - @Generated - private ToolType type = ToolType.BROWSER_AUTOMATION; - - /* - * The Browser Automation Tool parameters. - */ - @Generated - private final BrowserAutomationToolParameters browserAutomation; - - /** - * Creates an instance of BrowserAutomationTool class. - * - * @param browserAutomation the browserAutomation value to set. - */ - @Generated - public BrowserAutomationTool(BrowserAutomationToolParameters browserAutomation) { - this.browserAutomation = browserAutomation; - } - - /** - * Get the type property: The type property. - * - * @return the type value. - */ - @Generated - @Override - public ToolType getType() { - return this.type; - } - - /** - * Get the browserAutomation property: The Browser Automation Tool parameters. - * - * @return the browserAutomation value. - */ - @Generated - public BrowserAutomationToolParameters getBrowserAutomation() { - return this.browserAutomation; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeJsonField("browser_automation", this.browserAutomation); - jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of BrowserAutomationTool from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of BrowserAutomationTool 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 BrowserAutomationTool. - */ - @Generated - public static BrowserAutomationTool fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - BrowserAutomationToolParameters browserAutomation = null; - ToolType type = ToolType.BROWSER_AUTOMATION; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("browser_automation".equals(fieldName)) { - browserAutomation = BrowserAutomationToolParameters.fromJson(reader); - } else if ("type".equals(fieldName)) { - type = ToolType.fromString(reader.getString()); - } else { - reader.skipChildren(); - } - } - BrowserAutomationTool deserializedBrowserAutomationTool = new BrowserAutomationTool(browserAutomation); - deserializedBrowserAutomationTool.type = type; - return deserializedBrowserAutomationTool; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java deleted file mode 100644 index 57674bc67f251..0000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolboxTool.java +++ /dev/null @@ -1,151 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.annotation.Generated; -import com.azure.json.JsonReader; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.Map; - -/** - * A browser automation tool stored in a toolbox. - */ -@Fluent -public final class BrowserAutomationToolboxTool extends ToolboxTool { - - /* - * The type of tool. - */ - @Generated - private ToolboxToolType type = ToolboxToolType.BROWSER_AUTOMATION; - - /* - * The Browser Automation Tool parameters. - */ - @Generated - private final BrowserAutomationToolParameters browserAutomation; - - /** - * Creates an instance of BrowserAutomationToolboxTool class. - * - * @param browserAutomation the browserAutomation value to set. - */ - @Generated - public BrowserAutomationToolboxTool(BrowserAutomationToolParameters browserAutomation) { - this.browserAutomation = browserAutomation; - } - - /** - * Get the type property: The type of tool. - * - * @return the type value. - */ - @Generated - @Override - public ToolboxToolType getType() { - return this.type; - } - - /** - * Get the browserAutomation property: The Browser Automation Tool parameters. - * - * @return the browserAutomation value. - */ - @Generated - public BrowserAutomationToolParameters getBrowserAutomation() { - return this.browserAutomation; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public BrowserAutomationToolboxTool setName(String name) { - super.setName(name); - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public BrowserAutomationToolboxTool setDescription(String description) { - super.setDescription(description); - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public BrowserAutomationToolboxTool setToolConfigs(Map toolConfigs) { - super.setToolConfigs(toolConfigs); - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("name", getName()); - jsonWriter.writeStringField("description", getDescription()); - jsonWriter.writeMapField("tool_configs", getToolConfigs(), (writer, element) -> writer.writeJson(element)); - jsonWriter.writeJsonField("browser_automation", this.browserAutomation); - jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of BrowserAutomationToolboxTool from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of BrowserAutomationToolboxTool 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 BrowserAutomationToolboxTool. - */ - @Generated - public static BrowserAutomationToolboxTool fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String name = null; - String description = null; - Map toolConfigs = null; - BrowserAutomationToolParameters browserAutomation = null; - ToolboxToolType type = ToolboxToolType.BROWSER_AUTOMATION; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("description".equals(fieldName)) { - description = reader.getString(); - } else if ("tool_configs".equals(fieldName)) { - toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1)); - } else if ("browser_automation".equals(fieldName)) { - browserAutomation = BrowserAutomationToolParameters.fromJson(reader); - } else if ("type".equals(fieldName)) { - type = ToolboxToolType.fromString(reader.getString()); - } else { - reader.skipChildren(); - } - } - BrowserAutomationToolboxTool deserializedBrowserAutomationToolboxTool - = new BrowserAutomationToolboxTool(browserAutomation); - deserializedBrowserAutomationToolboxTool.setName(name); - deserializedBrowserAutomationToolboxTool.setDescription(description); - deserializedBrowserAutomationToolboxTool.setToolConfigs(toolConfigs); - deserializedBrowserAutomationToolboxTool.type = type; - return deserializedBrowserAutomationToolboxTool; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java index 1b4494c73849d..ea5c21184e766 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java @@ -93,8 +93,6 @@ public static Tool fromJson(JsonReader jsonReader) throws IOException { return BingCustomSearchPreviewTool.fromJson(readerToUse.reset()); } else if ("browser_automation_preview".equals(discriminatorValue)) { return BrowserAutomationPreviewTool.fromJson(readerToUse.reset()); - } else if ("browser_automation".equals(discriminatorValue)) { - return BrowserAutomationTool.fromJson(readerToUse.reset()); } else if ("azure_function".equals(discriminatorValue)) { return AzureFunctionTool.fromJson(readerToUse.reset()); } else if ("capture_structured_outputs".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java index a6b33a61f65ef..8d3e58ec3229a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxTool.java @@ -191,8 +191,6 @@ public static ToolboxTool fromJson(JsonReader jsonReader) throws IOException { return A2APreviewToolboxTool.fromJson(readerToUse.reset()); } else if ("browser_automation_preview".equals(discriminatorValue)) { return BrowserAutomationPreviewToolboxTool.fromJson(readerToUse.reset()); - } else if ("browser_automation".equals(discriminatorValue)) { - return BrowserAutomationToolboxTool.fromJson(readerToUse.reset()); } else if ("reminder_preview".equals(discriminatorValue)) { return ReminderPreviewToolboxTool.fromJson(readerToUse.reset()); } else if ("work_iq_preview".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java index 1f0a75c47ea58..62d96ad142cce 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxToolType.java @@ -86,12 +86,7 @@ public enum ToolboxToolType { /** * Enum value web_iq_preview. */ - WEB_IQ_PREVIEW("web_iq_preview"), - - /** - * Enum value browser_automation. - */ - BROWSER_AUTOMATION("browser_automation"); + WEB_IQ_PREVIEW("web_iq_preview"); /** * The actual serialized value for a ToolboxToolType instance. From 1ee2e173de2f7e47c73256630a49c34337a2ce3d Mon Sep 17 00:00:00 2001 From: Kaylie <50653231+kaylieee@users.noreply.github.com> Date: Mon, 14 Sep 2026 17:06:04 -0700 Subject: [PATCH 08/15] Add voice functionality (#50427) * initial voice gen * dedup openai * add voice beta client builers * realtime rename * telephony regen * regen with voice agent subclients * update builder for new client names * update beta annotations * rename ops to be subject based * update beta annotations --- sdk/ai/azure-ai-agents/CHANGELOG.md | 6 + .../checkstyle-suppressions.xml | 13 + .../customizations/beta-annotations.csv | 170 +- .../azure/ai/agents/AgentsClientBuilder.java | 117 +- .../ai/agents/BetaAgentsAsyncClient.java | 171 + .../com/azure/ai/agents/BetaAgentsClient.java | 169 + ...taVoiceAgentsConversationsAsyncClient.java | 1564 ++++++ .../BetaVoiceAgentsConversationsClient.java | 1451 +++++ .../BetaVoiceAgentsTelephonyAsyncClient.java | 2444 +++++++++ .../BetaVoiceAgentsTelephonyClient.java | 2356 ++++++++ .../implementation/AgentsClientImpl.java | 30 + .../agents/implementation/BetaAgentsImpl.java | 317 ++ .../BetaVoiceAgentsConversationsImpl.java | 2649 +++++++++ .../BetaVoiceAgentsTelephoniesImpl.java | 4837 +++++++++++++++++ .../implementation/JsonMergePatchHelper.java | 18 + .../implementation/OpenAIJsonHelper.java | 6 +- ...eplaceTelephonyTransferTargetsRequest.java | 88 + .../models/TransferTelephonyCallRequest.java | 82 + .../ai/agents/models/AgentDefinition.java | 2 + .../agents/models/AgentEndpointProtocol.java | 6 + .../azure/ai/agents/models/AgentHarness.java | 2 + .../com/azure/ai/agents/models/AgentKind.java | 6 + .../ai/agents/models/AudioTranscription.java | 298 + .../models/AudioTranscriptionModel.java | 94 + .../models/AzureCreateResponseOptions.java | 4 + ...serAutomationToolConnectionParameters.java | 2 - .../BrowserAutomationToolParameters.java | 2 - .../models/CreateAgentVersionInput.java | 4 +- ...PhoneExtensionTelephonyBindingRequest.java | 161 + .../models/CreateTelephonyBindingRequest.java | 169 + .../models/CreateTelephonyCallJobRequest.java | 289 + .../CreateTelephonyCampaignRequest.java | 238 + .../CreateTranscriptionResponseJsonUsage.java | 110 + ...ateTranscriptionResponseJsonUsageType.java | 58 + .../CreateTwilioTelephonyBindingRequest.java | 128 + .../agents/models/GitHubCopilotHarness.java | 2 + .../models/GitHubCopilotToolsetPreview.java | 2 + ...ortTelephonyCampaignRecipientsRequest.java | 162 + .../ai/agents/models/McpListToolsTool.java | 173 + .../models/McpListToolsToolAnnotations.java | 57 + .../models/McpListToolsToolInputSchema.java | 57 + .../PSTNTelephonyTransferDestination.java | 107 + .../PickPropertiesVoiceAgentAudioConfig.java | 93 + .../agents/models/PromptAgentDefinition.java | 7 + .../PublishTelephonyCampaignRequest.java | 84 + .../agents/models/RealtimeAudioFormats.java | 109 + .../models/RealtimeAudioFormatsAudioPcm.java | 111 + .../RealtimeAudioFormatsAudioPcmRate.java | 49 + .../models/RealtimeAudioFormatsAudioPcma.java | 80 + .../models/RealtimeAudioFormatsAudioPcmu.java | 80 + .../models/RealtimeAudioFormatsType.java | 63 + .../ai/agents/models/RealtimeClientEvent.java | 129 + ...timeClientEventConversationItemCreate.java | 188 + ...timeClientEventConversationItemDelete.java | 141 + ...meClientEventConversationItemRetrieve.java | 142 + ...meClientEventConversationItemTruncate.java | 196 + ...timeClientEventInputAudioBufferAppend.java | 150 + ...ltimeClientEventInputAudioBufferClear.java | 112 + ...timeClientEventInputAudioBufferCommit.java | 115 + ...timeClientEventOutputAudioBufferClear.java | 115 + .../RealtimeClientEventResponseCancel.java | 149 + .../RealtimeClientEventResponseCreate.java | 162 + .../RealtimeClientEventSessionUpdate.java | 155 + ...eClientEventSessionUpdateSessionModel.java | 173 + ...entSessionUpdateSessionOutputModality.java | 57 + ...ntEventSessionUpdateSessionTruncation.java | 57 + ...tEventSessionUpdateSessionTruncation1.java | 136 + .../models/RealtimeClientEventType.java | 123 + .../models/RealtimeConversationItem.java | 120 + .../RealtimeConversationItemFunctionCall.java | 307 ++ ...imeConversationItemFunctionCallOutput.java | 310 ++ ...versationItemFunctionCallOutputStatus.java | 62 + ...imeConversationItemFunctionCallStatus.java | 61 + .../RealtimeConversationItemMessage.java | 130 + ...ltimeConversationItemMessageAssistant.java | 270 + ...nversationItemMessageAssistantContent.java | 187 + ...sationItemMessageAssistantContentType.java | 57 + ...onversationItemMessageAssistantStatus.java | 62 + ...RealtimeConversationItemMessageSystem.java | 273 + ...eConversationItemMessageSystemContent.java | 124 + ...versationItemMessageSystemContentType.java | 52 + ...meConversationItemMessageSystemStatus.java | 61 + .../RealtimeConversationItemMessageType.java | 64 + .../RealtimeConversationItemMessageUser.java | 269 + ...imeConversationItemMessageUserContent.java | 250 + ...versationItemMessageUserContentDetail.java | 62 + ...onversationItemMessageUserContentType.java | 62 + ...timeConversationItemMessageUserStatus.java | 61 + .../RealtimeConversationItemObject.java | 51 + .../models/RealtimeConversationItemType.java | 87 + .../models/RealtimeMCPApprovalRequest.java | 215 + .../models/RealtimeMCPApprovalResponse.java | 226 + .../ai/agents/models/RealtimeMCPError.java | 109 + .../agents/models/RealtimeMCPListTools.java | 204 + .../models/RealtimeMCPProtocolError.java | 126 + .../ai/agents/models/RealtimeMCPToolCall.java | 314 ++ .../models/RealtimeMCPToolExecutionError.java | 105 + .../agents/models/RealtimeMcpErrorType.java | 63 + .../agents/models/RealtimeMcpHttpError.java | 126 + .../ai/agents/models/RealtimeServerEvent.java | 231 + ...ealtimeServerEventConversationCreated.java | 128 + ...rEventConversationCreatedConversation.java | 101 + ...ConversationCreatedConversationObject.java | 52 + ...ltimeServerEventConversationItemAdded.java | 156 + ...imeServerEventConversationItemCreated.java | 156 + ...imeServerEventConversationItemDeleted.java | 129 + ...altimeServerEventConversationItemDone.java | 150 + ...nItemInputAudioTranscriptionCompleted.java | 289 + ...ationItemInputAudioTranscriptionDelta.java | 207 + ...tionItemInputAudioTranscriptionFailed.java | 177 + ...temInputAudioTranscriptionFailedError.java | 143 + ...ionItemInputAudioTranscriptionSegment.java | 263 + ...eServerEventConversationItemRetrieved.java | 129 + ...eServerEventConversationItemTruncated.java | 197 + .../models/RealtimeServerEventErrorError.java | 169 + ...imeServerEventInputAudioBufferCleared.java | 106 + ...eServerEventInputAudioBufferCommitted.java | 151 + ...ventInputAudioBufferDtmfEventReceived.java | 131 + ...verEventInputAudioBufferSpeechStarted.java | 163 + ...verEventInputAudioBufferSpeechStopped.java | 155 + ...EventInputAudioBufferTimeoutTriggered.java | 186 + ...ltimeServerEventMCPListToolsCompleted.java | 127 + ...RealtimeServerEventMCPListToolsFailed.java | 127 + ...timeServerEventMCPListToolsInProgress.java | 127 + ...meServerEventOutputAudioBufferCleared.java | 131 + ...meServerEventOutputAudioBufferStarted.java | 130 + ...meServerEventOutputAudioBufferStopped.java | 130 + .../RealtimeServerEventRateLimitsUpdated.java | 133 + ...erverEventRateLimitsUpdatedRateLimits.java | 141 + ...rEventRateLimitsUpdatedRateLimitsName.java | 57 + ...meServerEventRealtimeServerEventError.java | 129 + ...RealtimeServerEventResponseAudioDelta.java | 218 + .../RealtimeServerEventResponseAudioDone.java | 195 + ...rverEventResponseAudioTranscriptDelta.java | 217 + ...erverEventResponseAudioTranscriptDone.java | 219 + ...meServerEventResponseContentPartAdded.java | 218 + ...rverEventResponseContentPartAddedPart.java | 138 + ...EventResponseContentPartAddedPartType.java | 57 + ...imeServerEventResponseContentPartDone.java | 218 + ...erverEventResponseContentPartDonePart.java | 158 + ...rEventResponseContentPartDonePartType.java | 57 + .../RealtimeServerEventResponseCreated.java | 128 + .../RealtimeServerEventResponseDone.java | 133 + ...entResponseFunctionCallArgumentsDelta.java | 218 + ...ventResponseFunctionCallArgumentsDone.java | 241 + ...verEventResponseMCPCallArgumentsDelta.java | 215 + ...rverEventResponseMCPCallArgumentsDone.java | 195 + ...meServerEventResponseMCPCallCompleted.java | 149 + ...ltimeServerEventResponseMCPCallFailed.java | 149 + ...eServerEventResponseMCPCallInProgress.java | 149 + ...imeServerEventResponseOutputItemAdded.java | 172 + ...timeServerEventResponseOutputItemDone.java | 173 + .../RealtimeServerEventResponseTextDelta.java | 217 + .../RealtimeServerEventResponseTextDone.java | 217 + .../RealtimeServerEventSessionCreated.java | 154 + .../RealtimeServerEventSessionUpdated.java | 130 + .../models/RealtimeServerEventType.java | 441 ++ .../RealtimeSessionCreateRequestGA.java | 597 ++ .../RealtimeSessionCreateRequestGAAudio.java | 125 + ...ltimeSessionCreateRequestGAAudioInput.java | 189 + ...eateRequestGAAudioInputNoiseReduction.java | 95 + ...timeSessionCreateRequestGAAudioOutput.java | 161 + ...essionCreateRequestGAAudioOutputVoice.java | 83 + ...RealtimeSessionCreateRequestGATracing.java | 164 + .../RealtimeSessionCreateRequestUnion.java | 110 + ...RealtimeSessionCreateRequestUnionType.java | 58 + ...meTranscriptionSessionCreateRequestGA.java | 151 + ...nscriptionSessionCreateRequestGAAudio.java | 94 + ...ptionSessionCreateRequestGAAudioInput.java | 191 + ...eateRequestGAAudioInputNoiseReduction.java | 96 + .../agents/models/RealtimeTurnDetection.java | 118 + .../RealtimeTurnDetectionSemanticVad.java | 176 + .../RealtimeTurnDetectionServerVad.java | 270 + .../models/RealtimeTurnDetectionType.java | 57 + .../agents/models/RoutingConfiguration.java | 4 + .../models/SessionAffinityConfiguration.java | 2 + .../models/SessionAffinityDecision.java | 2 + .../agents/models/SessionAffinityDetails.java | 2 + .../ai/agents/models/SessionAffinityMode.java | 2 + .../models/SessionAffinityRequestMode.java | 8 +- .../agents/models/SessionAffinitySource.java | 2 + .../SipTelephonyTransferDestination.java | 107 + .../ai/agents/models/SkillReference.java | 2 + .../TeamsPhoneExtensionTelephonyBinding.java | 156 + ...honeExtensionTelephonyBindingListItem.java | 160 + .../TeamsTelephonyTransferDestination.java | 107 + .../ai/agents/models/TelephonyBinding.java | 236 + .../models/TelephonyBindingListItem.java | 268 + .../agents/models/TelephonyBindingStatus.java | 59 + .../models/TelephonyCallDurationBasis.java | 59 + .../agents/models/TelephonyCallEndReason.java | 232 + .../ai/agents/models/TelephonyCallJob.java | 493 ++ .../models/TelephonyCallJobCancellation.java | 157 + .../models/TelephonyCallJobSchedule.java | 140 + .../agents/models/TelephonyCallJobStatus.java | 119 + .../TelephonyCallJobTerminalReason.java | 188 + .../models/TelephonyCallLifecycleEvent.java | 336 ++ .../TelephonyCallLifecycleEventName.java | 116 + .../TelephonyCallLifecycleEventOutcome.java | 83 + .../TelephonyCallLifecycleEventReason.java | 237 + .../TelephonyCallLifecycleEventSource.java | 71 + .../ai/agents/models/TelephonyCallPhase.java | 119 + .../ai/agents/models/TelephonyCallRecord.java | 542 ++ .../ai/agents/models/TelephonyCallStatus.java | 65 + .../agents/models/TelephonyCallSummary.java | 453 ++ .../models/TelephonyCallTimestampSource.java | 65 + .../ai/agents/models/TelephonyCallTiming.java | 356 ++ .../ai/agents/models/TelephonyCallTrace.java | 169 + .../agents/models/TelephonyCallTraceMode.java | 60 + .../models/TelephonyCallTraceStatus.java | 83 + .../ai/agents/models/TelephonyCampaign.java | 477 ++ .../TelephonyCampaignCallJobCounts.java | 240 + .../TelephonyCampaignConfigurationStatus.java | 84 + .../TelephonyCampaignDuplicateHandling.java | 65 + .../TelephonyCampaignExecutionStatus.java | 89 + .../TelephonyCampaignRecipientImport.java | 380 ++ ...elephonyCampaignRecipientImportFormat.java | 66 + ...elephonyCampaignRecipientImportSource.java | 169 + ...elephonyCampaignRecipientImportStatus.java | 66 + .../TelephonyCampaignRecipientMapping.java | 184 + ...ephonyCampaignRecipientMappingRequest.java | 235 + .../models/TelephonyCampaignSchedule.java | 128 + .../models/TelephonyCampaignScheduleType.java | 59 + .../ai/agents/models/TelephonyOperation.java | 193 + .../models/TelephonyOperationResource.java | 106 + .../models/TelephonyOperationStatus.java | 83 + .../models/TelephonyOutboundDestination.java | 106 + .../TelephonyOutboundDestinationType.java | 53 + ...phonyOutboundFixedIntervalRetryPolicy.java | 139 + ...boundFixedIntervalRetryPolicyResponse.java | 118 + .../models/TelephonyOutboundRetryPolicy.java | 143 + .../TelephonyOutboundRetryPolicyResponse.java | 135 + .../TelephonyOutboundRetryPolicyType.java | 53 + .../ai/agents/models/TelephonyProvider.java | 60 + .../models/TelephonyTransferDestination.java | 113 + .../TelephonyTransferDestinationKind.java | 65 + .../models/TelephonyTransferTarget.java | 128 + .../models/TelephonyTransferTargets.java | 88 + .../azure/ai/agents/models/TokenLimits.java | 90 + .../ai/agents/models/ToolChoiceFunction.java | 106 + .../azure/ai/agents/models/ToolChoiceMCP.java | 139 + .../ai/agents/models/ToolChoiceOptions.java | 67 + .../ai/agents/models/ToolChoiceParam.java | 109 + .../ai/agents/models/ToolChoiceParamType.java | 135 + .../models/TranscriptTextUsageDuration.java | 112 + .../models/TranscriptTextUsageTokens.java | 172 + ...criptTextUsageTokensInputTokenDetails.java | 101 + .../agents/models/TranscriptionLanguage.java | 82 + .../agents/models/TwilioTelephonyBinding.java | 134 + .../TwilioTelephonyBindingListItem.java | 138 + .../models/UpdateTelephonyBindingRequest.java | 273 + .../models/VoiceAgentAnimationConfig.java | 127 + .../models/VoiceAgentAnimationOutputType.java | 58 + .../agents/models/VoiceAgentAudioConfig.java | 123 + .../models/VoiceAgentAudioInputConfig.java | 222 + ...entAudioInputConfigTranscriptionDelay.java | 71 + .../models/VoiceAgentAudioOutputConfig.java | 579 ++ .../models/VoiceAgentAudioTimestampType.java | 54 + .../agents/models/VoiceAgentAvatarConfig.java | 339 ++ .../models/VoiceAgentAvatarIceServer.java | 152 + .../VoiceAgentAvatarOutputProtocol.java | 59 + .../agents/models/VoiceAgentAvatarScene.java | 278 + .../agents/models/VoiceAgentAvatarType.java | 59 + .../VoiceAgentAvatarVideoBackground.java | 124 + .../models/VoiceAgentAvatarVideoCrop.java | 107 + .../models/VoiceAgentAvatarVideoParams.java | 218 + .../VoiceAgentAvatarVideoResolution.java | 106 + ...eAgentAzureSemanticVadEnTurnDetection.java | 416 ++ ...eSemanticVadMultilingualTurnDetection.java | 450 ++ ...iceAgentAzureSemanticVadTurnDetection.java | 449 ++ ...VoiceAgentClientEventRtcCallSdpCreate.java | 176 + ...eAgentClientEventSessionAvatarConnect.java | 140 + .../agents/models/VoiceAgentDefinition.java | 724 +++ .../models/VoiceAgentEchoCancellation.java | 147 + ...eAgentEchoCancellationReferenceSource.java | 58 + .../VoiceAgentEndConversationSystemTool.java | 114 + .../VoiceAgentEndOfUtteranceDetection.java | 161 + ...oiceAgentEndOfUtteranceDetectionModel.java | 76 + ...oiceAgentEndOfUtteranceThresholdLevel.java | 72 + .../agents/models/VoiceAgentFunctionTool.java | 183 + .../models/VoiceAgentFunctionToolType.java | 51 + .../models/VoiceAgentGreetingConfig.java | 109 + .../models/VoiceAgentInputTranscription.java | 356 ++ .../VoiceAgentInputTranscriptionModel.java | 105 + .../VoiceAgentInterimResponseConfig.java | 185 + .../VoiceAgentInterimResponseTrigger.java | 59 + .../VoiceAgentLlmGeneratedGreetingConfig.java | 145 + .../VoiceAgentLlmInterimResponseConfig.java | 212 + .../ai/agents/models/VoiceAgentMcpTool.java | 494 ++ .../models/VoiceAgentNoiseReduction.java | 84 + .../models/VoiceAgentNoiseReductionType.java | 66 + .../models/VoiceAgentRealtimeResponse.java | 335 ++ .../VoiceAgentRealtimeResponseBase.java | 407 ++ .../VoiceAgentResponseCreateParams.java | 549 ++ ...AgentResponseCreateParamsConversation.java | 58 + .../models/VoiceAgentRtcCallErrorDetails.java | 133 + .../VoiceAgentSemanticVadTurnDetection.java | 192 + ...gentSemanticVadTurnDetectionEagerness.java | 66 + ...ventResponseAnimationBlendshapesDelta.java | 244 + ...EventResponseAnimationBlendshapesDone.java | 175 + ...rverEventResponseAnimationVisemeDelta.java | 246 + ...erverEventResponseAnimationVisemeDone.java | 197 + ...erverEventResponseAudioTimestampDelta.java | 289 + ...ServerEventResponseAudioTimestampDone.java | 197 + ...iceAgentServerEventResponseVideoDelta.java | 173 + .../VoiceAgentServerEventRtcCallError.java | 170 + ...oiceAgentServerEventRtcCallSdpCreated.java | 151 + ...entServerEventSessionAvatarConnecting.java | 129 + ...tServerEventSessionAvatarSwitchToIdle.java | 128 + ...verEventSessionAvatarSwitchToSpeaking.java | 129 + ...gentServerEventSessionSubagentAborted.java | 197 + ...ntServerEventSessionSubagentCompleted.java | 174 + ...gentServerEventSessionSubagentStarted.java | 174 + .../models/VoiceAgentServerEventWarning.java | 129 + .../VoiceAgentServerEventWarningDetails.java | 129 + .../VoiceAgentServerVadTurnDetection.java | 362 ++ .../models/VoiceAgentSessionAvatarConfig.java | 214 + .../VoiceAgentSessionIncludeOption.java | 62 + .../VoiceAgentSessionResponseConfig.java | 505 ++ .../models/VoiceAgentSessionUpdateConfig.java | 574 ++ ...VoiceAgentStaticInterimResponseConfig.java | 150 + .../ai/agents/models/VoiceAgentSubagent.java | 221 + .../models/VoiceAgentSubagentAbortReason.java | 83 + .../models/VoiceAgentSubagentConfig.java | 86 + .../VoiceAgentSubagentResponsePolicy.java | 308 ++ .../agents/models/VoiceAgentSystemTool.java | 156 + .../models/VoiceAgentSystemToolName.java | 53 + .../VoiceAgentTemplateGreetingConfig.java | 108 + .../ai/agents/models/VoiceAgentTool.java | 113 + .../VoiceAgentToolResponseScheduling.java | 71 + .../agents/models/VoiceAgentToolboxTool.java | 165 + .../models/VoiceAgentTranscriptionPhrase.java | 203 + .../models/VoiceAgentTranscriptionWord.java | 137 + .../ai/agents/models/VoiceAgentTransport.java | 59 + .../models/VoiceAgentTurnDetectionConfig.java | 148 + .../models/VoiceAgentTurnDetectionType.java | 78 + .../ai/agents/models/VoiceAudioCodec.java | 65 + .../models/VoiceAudioContainerFormat.java | 53 + .../agents/models/VoiceAudioItemResponse.java | 290 + .../ai/agents/models/VoiceAudioRole.java | 59 + .../ai/agents/models/VoiceConversation.java | 259 + .../models/VoiceConversationEngine.java | 107 + .../models/VoiceConversationStatus.java | 70 + .../VoiceGeneratedAudioItemResponse.java | 291 + .../VoiceHostedAgentConversationEngine.java | 201 + .../ai/agents/models/VoiceIdsShared.java | 105 + .../ai/agents/models/VoiceModelType.java | 60 + .../ai/agents/models/VoiceOutputModality.java | 71 + .../models/VoiceRecordingChannelLayout.java | 94 + .../agents/models/VoiceRecordingResponse.java | 233 + .../azure/ai/agents/models/VoiceResponse.java | 421 ++ .../ai/agents/models/VoiceResponseAudio.java | 80 + .../models/VoiceResponseAudioOutput.java | 137 + .../ai/agents/models/VoiceResponseBase.java | 294 + .../models/VoiceResponseBaseObject.java | 51 + .../models/VoiceResponseBaseObject1.java | 51 + .../VoiceResponseBaseOutputModality.java | 56 + .../models/VoiceResponseBaseStatus.java | 71 + .../com/azure/ai/agents/models/VoiceType.java | 83 + .../src/main/java/module-info.java | 2 +- .../META-INF/azure-ai-agents_metadata.json | 2 +- ...FoundryFeaturesHeaderVerificationTest.java | 77 +- ...RealtimeOpenAIDedupSerializationTests.java | 281 + sdk/ai/azure-ai-agents/tsp-location.yaml | 2 +- 364 files changed, 68998 insertions(+), 25 deletions(-) create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsAsyncClient.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/ReplaceTelephonyTransferTargetsRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscription.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTeamsPhoneExtensionTelephonyBindingRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ImportTelephonyCampaignRecipientsRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormats.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEvent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessage.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SipTelephonyTransferDestination.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBinding.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBindingListItem.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBinding.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallEndReason.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventReason.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTrace.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaign.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyProvider.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TokenLimits.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceFunction.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceOptions.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBindingListItem.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarIceServer.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventRtcCallSdpCreate.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndConversationSystemTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionToolType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagent.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentAbortReason.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentResponsePolicy.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionPhrase.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionConfig.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversation.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationEngine.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceIdsShared.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceType.java create mode 100644 sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/RealtimeOpenAIDedupSerializationTests.java diff --git a/sdk/ai/azure-ai-agents/CHANGELOG.md b/sdk/ai/azure-ai-agents/CHANGELOG.md index 207ff3310d7ed..d471baf8fa858 100644 --- a/sdk/ai/azure-ai-agents/CHANGELOG.md +++ b/sdk/ai/azure-ai-agents/CHANGELOG.md @@ -4,6 +4,12 @@ ### Features Added +- Added `BetaAgentTelephonyClient` and `BetaAgentTelephonyAsyncClient`, built through + `AgentsClientBuilder.beta()`, for managing voice-agent outbound call jobs and telephony campaigns. +- Added `BetaAgentEndpointConversationsClient` and `BetaAgentEndpointConversationsAsyncClient`, built through + `AgentsClientBuilder.beta()`, for managing persisted voice-agent conversations and their responses, items, and + audio content. + ### Breaking Changes ### Bugs Fixed diff --git a/sdk/ai/azure-ai-agents/checkstyle-suppressions.xml b/sdk/ai/azure-ai-agents/checkstyle-suppressions.xml index f182278d2359f..196eacab984b8 100644 --- a/sdk/ai/azure-ai-agents/checkstyle-suppressions.xml +++ b/sdk/ai/azure-ai-agents/checkstyle-suppressions.xml @@ -10,6 +10,19 @@ + + + + + + + + + + + + + diff --git a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv index 6bea02ed8de79..ad8a2df37a545 100644 --- a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv +++ b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv @@ -4,6 +4,7 @@ class;com.azure.ai.agents.models.A2APreviewToolboxTool;Preview API. preview_tool class;com.azure.ai.agents.models.A2AToolCall;Preview API. preview_tool; class;com.azure.ai.agents.models.A2AToolCallOutput;Preview API. preview_tool; field;com.azure.ai.agents.models.AgentDetails;Preview API. DigitalWorker=V1Preview;digital_worker_type +class;com.azure.ai.agents.models.AgentHarness;Preview API. GitHubCopilot=V1Preview; class;com.azure.ai.agents.models.AgentOptimizationCandidate;Preview API. AgentsOptimization=V2Preview; class;com.azure.ai.agents.models.AgentOptimizationDatasetCriterion;Preview API. AgentsOptimization=V2Preview; class;com.azure.ai.agents.models.AgentOptimizationDatasetInput;Preview API. AgentsOptimization=V2Preview; @@ -20,6 +21,7 @@ class;com.azure.ai.agents.models.AgentOptimizationOptions;Preview API. AgentsOpt class;com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput;Preview API. AgentsOptimization=V2Preview; field;com.azure.ai.agents.models.AgentVersionDetails;Preview API. DraftAgents=V1Preview;draft field;com.azure.ai.agents.models.AzureCreateResponseDetails;Preview API. ModelRouterControls=V1Preview;model_selection_details +field;com.azure.ai.agents.models.AzureCreateResponseOptions;Preview API. ModelRouterControls=V1Preview;routing_config class;com.azure.ai.agents.models.BingCustomSearchConfiguration;Preview API. preview_tool; class;com.azure.ai.agents.models.BingCustomSearchPreviewTool;Preview API. preview_tool; class;com.azure.ai.agents.models.BingCustomSearchToolCall;Preview API. preview_tool; @@ -29,18 +31,26 @@ class;com.azure.ai.agents.models.BrowserAutomationPreviewTool;Preview API. previ class;com.azure.ai.agents.models.BrowserAutomationPreviewToolboxTool;Preview API. preview_tool; class;com.azure.ai.agents.models.BrowserAutomationToolCall;Preview API. preview_tool; class;com.azure.ai.agents.models.BrowserAutomationToolCallOutput;Preview API. preview_tool; -class;com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters;Preview API. preview_tool; -class;com.azure.ai.agents.models.BrowserAutomationToolParameters;Preview API. preview_tool; class;com.azure.ai.agents.models.ChatSummaryMemoryItem;Preview API. MemoryStores=V1Preview; -field;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. DigitalWorker=V1Preview, DraftAgents=V1Preview, ExternalAgents=V1Preview, VoiceAgents=V1Preview, WorkflowAgents=V1Preview;definition +field;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. DigitalWorker=V1Preview, DraftAgents=V1Preview, ExternalAgents=V1Preview, GitHubCopilot=V1Preview, Skills=V1Preview, VoiceAgents=V1Preview, WorkflowAgents=V1Preview;definition field;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. DigitalWorker=V1Preview;digital_worker_type field;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. DraftAgents=V1Preview;draft +class;com.azure.ai.agents.models.CreateTeamsPhoneExtensionTelephonyBindingRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.CreateTelephonyBindingRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.CreateTelephonyCallJobRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.CreateTelephonyCampaignRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.ExternalAgentDefinition;Preview API. ExternalAgents=V1Preview; class;com.azure.ai.agents.models.FabricDataAgentToolCall;Preview API. preview_tool; class;com.azure.ai.agents.models.FabricDataAgentToolCallOutput;Preview API. preview_tool; class;com.azure.ai.agents.models.FabricDataAgentToolParameters;Preview API. preview_tool; class;com.azure.ai.agents.models.FabricIqPreviewTool;Preview API. preview_tool; class;com.azure.ai.agents.models.FabricIqPreviewToolboxTool;Preview API. preview_tool; +class;com.azure.ai.agents.models.GenerateAgentRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.GenerateVoiceAgentRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.GitHubCopilotHarness;Preview API. GitHubCopilot=V1Preview; +class;com.azure.ai.agents.models.GitHubCopilotToolsetPreview;Preview API. GitHubCopilot=V1Preview; +class;com.azure.ai.agents.models.ImportTelephonyCampaignRecipientsRequest;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.MemoryCommandToolCall;Preview API. preview_tool; class;com.azure.ai.agents.models.MemoryCommandToolCallOutput;Preview API. preview_tool; class;com.azure.ai.agents.models.MemoryItem;Preview API. MemoryStores=V1Preview; @@ -73,39 +83,175 @@ class;com.azure.ai.agents.models.ModelSelectionDetails;Preview API. ModelRouterC class;com.azure.ai.agents.models.OptimizedAgentIdentifier;Preview API. AgentsOptimization=V2Preview; class;com.azure.ai.agents.models.ProceduralMemoryItem;Preview API. MemoryStores=V1Preview; class;com.azure.ai.agents.models.PromotionInfo;Preview API. AgentsOptimization=V2Preview; +field;com.azure.ai.agents.models.PromptAgentDefinition;Preview API. GitHubCopilot=V1Preview;harness +field;com.azure.ai.agents.models.PromptAgentDefinition;Preview API. Skills=V1Preview;skills +class;com.azure.ai.agents.models.PSTNTelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.PublishTelephonyCampaignRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItem;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItemFunctionCall;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItemFunctionCallOutput;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.RealtimeConversationItemMessage;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItemMessageSystem;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeConversationItemMessageUser;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMCPApprovalRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMCPApprovalResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMCPListTools;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMCPToolCall;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.ReminderPreviewToolboxTool;Preview API. preview_tool; field;com.azure.ai.agents.models.Response;Preview API. ModelRouterControls=V1Preview;model_selection_details +field;com.azure.ai.agents.models.RoutingConfiguration;Preview API. ModelRouterControls=V1Preview;session_affinity class;com.azure.ai.agents.models.RoutingTraceEntry;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinityConfiguration;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinityDecision;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinityDetails;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinityMode;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinityRequestMode;Preview API. ModelRouterControls=V1Preview; +class;com.azure.ai.agents.models.SessionAffinitySource;Preview API. ModelRouterControls=V1Preview; class;com.azure.ai.agents.models.SharepointGroundingToolCall;Preview API. preview_tool; class;com.azure.ai.agents.models.SharepointGroundingToolCallOutput;Preview API. preview_tool; class;com.azure.ai.agents.models.SharepointGroundingToolParameters;Preview API. preview_tool; class;com.azure.ai.agents.models.SharepointPreviewTool;Preview API. preview_tool; +class;com.azure.ai.agents.models.SipTelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.SkillReference;Preview API. Skills=V1Preview; +class;com.azure.ai.agents.models.TeamsPhoneExtensionTelephonyBinding;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TeamsPhoneExtensionTelephonyBindingListItem;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TeamsTelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyBinding;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyBindingListItem;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyBindingStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallDurationBasis;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallEndReason;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallJob;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallJobCancellation;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallJobSchedule;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallJobStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallJobTerminalReason;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallLifecycleEvent;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallLifecycleEventName;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallLifecycleEventOutcome;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallLifecycleEventReason;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallLifecycleEventSource;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallPhase;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallRecord;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallSummary;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallTimestampSource;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallTiming;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallTrace;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallTraceMode;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCallTraceStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaign;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignCallJobCounts;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignExecutionStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignOperation;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignOperationKind;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientImport;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientMapping;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignSchedule;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyCampaignScheduleType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOperation;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOperationResource;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOperationStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundDestinationType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundRetryPolicy;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyProvider;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyTransferDestinationKind;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyTransferTarget;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TelephonyTransferTargets;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.ToolboxSearchPreviewToolboxTool;Preview API. preview_tool; +class;com.azure.ai.agents.models.TwilioTelephonyBinding;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.TwilioTelephonyBindingListItem;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.UpdateTelephonyBindingRequest;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.UserProfileMemoryItem;Preview API. MemoryStores=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAnimationConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAnimationOutputType;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAudioConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAudioInputConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAudioOutputConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAudioTimestampType;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAvatarConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarIceServer;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAvatarOutputProtocol;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarScene;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAvatarType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarVideoBackground;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarVideoCrop;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarVideoParams;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentAvatarVideoResolution;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAzureSemanticVadEnTurnDetection;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAzureSemanticVadMultilingualTurnDetection;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentAzureSemanticVadTurnDetection;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentClientEvent;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentClientEventRtcCallSdpCreate;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentClientEventSessionUpdate;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentDefinition;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentEchoCancellation;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentEchoCancellationReferenceSource;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentEndConversationSystemTool;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetection;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentEndOfUtteranceDetectionModel;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentEndOfUtteranceThresholdLevel;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentFunctionTool;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentGreetingConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentInputTranscription;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentInputTranscriptionModel;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentInterimResponseConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentInterimResponseTrigger;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentLlmGeneratedGreetingConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentLlmInterimResponseConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentMaxOutputTokens;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentMcpTool;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentNoiseReduction;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentNoiseReductionType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentRealtimeResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentResponseCreateParams;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSemanticVadTurnDetection;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEvent;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDelta;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventWarning;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentSessionIncludeOption;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSessionResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSessionResponseConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSessionUpdate;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentStaticInterimResponseConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSubagent;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSubagentAbortReason;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSubagentConfig;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentSubagentResponsePolicy;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentSystemTool;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentSystemToolName;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentTemplateGreetingConfig;Preview API. VoiceAgents=V1Preview; @@ -113,11 +259,29 @@ class;com.azure.ai.agents.models.VoiceAgentTool;Preview API. VoiceAgents=V1Previ class;com.azure.ai.agents.models.VoiceAgentToolboxTool;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentToolChoice;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentToolResponseScheduling;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentTranscriptionPhrase;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentTranscriptionWord;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentTransport;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentTurnDetectionConfig;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceAgentTurnDetectionType;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAgentWebSocketMessage;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAudioCodec;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAudioContainerFormat;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAudioItemResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceAudioRole;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceConversation;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceConversationEngine;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceConversationStatus;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceHostedAgentConversationEngine;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceModelType;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceOutputModality;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceRecordingChannelLayout;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceRecordingResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceResponse;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceResponseAudio;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceResponseAudioOutput;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.VoiceResponseBase;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.VoiceType;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.WebIqPreviewTool;Preview API. preview_tool; class;com.azure.ai.agents.models.WebIqPreviewToolboxTool;Preview API. preview_tool; diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java index 7dbab0615e426..8f3e7f338e08e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java @@ -60,10 +60,14 @@ */ @ServiceClientBuilder( serviceClients = { + BetaVoiceAgentsConversationsClient.class, + BetaVoiceAgentsTelephonyClient.class, BetaMemoryStoresClient.class, BetaAgentsClient.class, AgentsClient.class, ToolboxesClient.class, + BetaVoiceAgentsConversationsAsyncClient.class, + BetaVoiceAgentsTelephonyAsyncClient.class, BetaMemoryStoresAsyncClient.class, BetaAgentsAsyncClient.class, AgentsAsyncClient.class, @@ -92,6 +96,9 @@ public final class AgentsClientBuilder private static final String MEMORY_STORES_PREVIEW_FEATURES = FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(); + private static final String VOICE_AGENTS_PREVIEW_FEATURES + = AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(); + private boolean allowPreview; @Generated @@ -529,7 +536,9 @@ public AgentsClient buildAgentsClient() { * The returned builder uses the configuration set on this builder, including endpoint, credential, HTTP pipeline, * policies, retry settings, logging options, client options, and service version. Use this method * when you want to build a client whose type is prefixed with {@code Beta}, such as {@link BetaAgentsClient}, - * {@link BetaAgentsAsyncClient}, {@link BetaMemoryStoresClient}, {@link BetaMemoryStoresAsyncClient} + * {@link BetaAgentsAsyncClient}, {@link BetaMemoryStoresClient}, {@link BetaMemoryStoresAsyncClient}, + * {@link BetaAgentTelephonyClient}, {@link BetaAgentTelephonyAsyncClient}, + * {@link BetaAgentEndpointConversationsClient}, or {@link BetaAgentEndpointConversationsAsyncClient}. *

* Clients created by this sub-builder automatically opt in to the preview service area they target by adding the * required {@code Foundry-Features} header. Calling {@link #allowPreview(boolean)} is not required for these @@ -554,8 +563,12 @@ public BetaAgentsClientBuilder beta() { serviceClients = { BetaAgentsClient.class, BetaMemoryStoresClient.class, + BetaVoiceAgentsTelephonyClient.class, + BetaVoiceAgentsConversationsClient.class, BetaAgentsAsyncClient.class, - BetaMemoryStoresAsyncClient.class }) + BetaMemoryStoresAsyncClient.class, + BetaVoiceAgentsTelephonyAsyncClient.class, + BetaVoiceAgentsConversationsAsyncClient.class }) public final class BetaAgentsClientBuilder { /** @@ -595,6 +608,38 @@ public BetaMemoryStoresAsyncClient buildBetaMemoryStoresAsyncClient() { buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores()); } + /** + * Builds an asynchronous beta client for preview voice-agent telephony operations. + *

+ * The client is created using the endpoint, credential, pipeline, policies, and other configuration set on the + * enclosing {@link AgentsClientBuilder}. Requests made by the client automatically include the + * {@code Foundry-Features} header required for voice-agent preview operations, so + * {@link AgentsClientBuilder#allowPreview(boolean)} does not need to be enabled. + * + * @return an instance of BetaVoiceAgentsTelephonyAsyncClient. + */ + @Beta + public BetaVoiceAgentsTelephonyAsyncClient buildBetaVoiceAgentsTelephonyAsyncClient() { + return new BetaVoiceAgentsTelephonyAsyncClient( + buildInnerClient(VOICE_AGENTS_PREVIEW_FEATURES).getBetaVoiceAgentsTelephonies()); + } + + /** + * Builds an asynchronous beta client for preview voice-agent conversation operations. + *

+ * The client is created using the endpoint, credential, pipeline, policies, and other configuration set on the + * enclosing {@link AgentsClientBuilder}. Requests made by the client automatically include the + * {@code Foundry-Features} header required for voice-agent preview operations, so + * {@link AgentsClientBuilder#allowPreview(boolean)} does not need to be enabled. + * + * @return an instance of BetaVoiceAgentConversationsAsyncClient. + */ + @Beta + public BetaVoiceAgentsConversationsAsyncClient buildBetaVoiceAgentsConversationsAsyncClient() { + return new BetaVoiceAgentsConversationsAsyncClient( + buildInnerClient(VOICE_AGENTS_PREVIEW_FEATURES).getBetaVoiceAgentsConversations()); + } + /** * Builds a synchronous beta Agents client for preview agent optimization operations. *

@@ -624,6 +669,38 @@ public BetaAgentsClient buildBetaAgentsClient() { public BetaMemoryStoresClient buildBetaMemoryStoresClient() { return new BetaMemoryStoresClient(buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores()); } + + /** + * Builds a synchronous beta client for preview voice-agent telephony operations. + *

+ * The client is created using the endpoint, credential, pipeline, policies, and other configuration set on the + * enclosing {@link AgentsClientBuilder}. Requests made by the client automatically include the + * {@code Foundry-Features} header required for voice-agent preview operations, so + * {@link AgentsClientBuilder#allowPreview(boolean)} does not need to be enabled. + * + * @return an instance of BetaVoiceAgentsTelephonyClient. + */ + @Beta + public BetaVoiceAgentsTelephonyClient buildBetaVoiceAgentsTelephonyClient() { + return new BetaVoiceAgentsTelephonyClient( + buildInnerClient(VOICE_AGENTS_PREVIEW_FEATURES).getBetaVoiceAgentsTelephonies()); + } + + /** + * Builds a synchronous beta client for preview voice-agent conversation operations. + *

+ * The client is created using the endpoint, credential, pipeline, policies, and other configuration set on the + * enclosing {@link AgentsClientBuilder}. Requests made by the client automatically include the + * {@code Foundry-Features} header required for voice-agent preview operations, so + * {@link AgentsClientBuilder#allowPreview(boolean)} does not need to be enabled. + * + * @return an instance of BetaVoiceAgentsConversationsClient. + */ + @Beta + public BetaVoiceAgentsConversationsClient buildBetaVoiceAgentsConversationsClient() { + return new BetaVoiceAgentsConversationsClient( + buildInnerClient(VOICE_AGENTS_PREVIEW_FEATURES).getBetaVoiceAgentsConversations()); + } } /** @@ -681,4 +758,40 @@ public ToolboxesAsyncClient buildToolboxesAsyncClient() { public ToolboxesClient buildToolboxesClient() { return new ToolboxesClient(buildInnerClient().getToolboxes()); } + + /** + * Builds an instance of BetaVoiceAgentsConversationsAsyncClient class. + * + * @return an instance of BetaVoiceAgentsConversationsAsyncClient. + */ + private BetaVoiceAgentsConversationsAsyncClient buildBetaVoiceAgentsConversationsAsyncClient() { + return new BetaVoiceAgentsConversationsAsyncClient(buildInnerClient().getBetaVoiceAgentsConversations()); + } + + /** + * Builds an instance of BetaVoiceAgentsTelephonyAsyncClient class. + * + * @return an instance of BetaVoiceAgentsTelephonyAsyncClient. + */ + private BetaVoiceAgentsTelephonyAsyncClient buildBetaVoiceAgentsTelephonyAsyncClient() { + return new BetaVoiceAgentsTelephonyAsyncClient(buildInnerClient().getBetaVoiceAgentsTelephonies()); + } + + /** + * Builds an instance of BetaVoiceAgentsConversationsClient class. + * + * @return an instance of BetaVoiceAgentsConversationsClient. + */ + private BetaVoiceAgentsConversationsClient buildBetaVoiceAgentsConversationsClient() { + return new BetaVoiceAgentsConversationsClient(buildInnerClient().getBetaVoiceAgentsConversations()); + } + + /** + * Builds an instance of BetaVoiceAgentsTelephonyClient class. + * + * @return an instance of BetaVoiceAgentsTelephonyClient. + */ + private BetaVoiceAgentsTelephonyClient buildBetaVoiceAgentsTelephonyClient() { + return new BetaVoiceAgentsTelephonyClient(buildInnerClient().getBetaVoiceAgentsTelephonies()); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java index f8c58fd575db4..1ee141c74b5f8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java @@ -5,6 +5,7 @@ import com.azure.ai.agents.implementation.BetaAgentsImpl; import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.AgentDetails; import com.azure.ai.agents.models.AgentOptimizationJob; import com.azure.ai.agents.models.AgentOptimizationJobListItem; import com.azure.ai.agents.models.AgentOptimizationJobResult; @@ -778,4 +779,174 @@ public PollerFlux beginCreateOptimizationJob(BinaryData RequestOptions requestOptions = new RequestOptions(); return serviceClient.beginCreateOptimizationJobWithModelAsync(BinaryData.fromObject(job), requestOptions); } + + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + *

Request Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
+     *     configuration_state: String(enabled/disabled) (Required)
+     *     state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+     *     versions (Required): {
+     *         latest (Required): {
+     *             metadata (Required): {
+     *                 String: String (Required)
+     *             }
+     *             object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *             id: String (Required)
+     *             name: String (Required)
+     *             version: String (Required)
+     *             description: String (Optional)
+     *             created_at: long (Required)
+     *             definition (Required): {
+     *                 kind: String(prompt/hosted/workflow/external/voice) (Required)
+     *                 rai_config (Optional): {
+     *                     rai_policy_name: String (Required)
+     *                     invocations_moderation (Optional): {
+     *                         input_content_type: String(json/text) (Optional)
+     *                         output_content_type: String(json/text) (Optional)
+     *                         response_mode: String(non_streaming/streaming/both) (Required)
+     *                         input_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         output_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         stream_selectors (Optional): [
+     *                              (Optional){
+     *                                 event_type: String (Required)
+     *                                 text_field: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 }
+     *             }
+     *             draft: Boolean (Optional)
+     *             status: String(creating/active/failed/deleting/deleted) (Optional)
+     *             instance_identity (Optional): {
+     *                 principal_id: String (Required)
+     *                 client_id: String (Required)
+     *                 status: String(active/disabled) (Optional)
+     *             }
+     *             blueprint (Optional): (recursive schema, see blueprint above)
+     *             blueprint_reference (Optional): {
+     *                 type: String(ManagedAgentIdentityBlueprint) (Required)
+     *             }
+     *             agent_guid: String (Optional)
+     *         }
+     *     }
+     *     agent_endpoint (Optional): {
+     *         version_selector (Optional): {
+     *             version_selection_rules (Optional, Required on create): [
+     *                  (Optional, Required on create){
+     *                     type: String(FixedRatio) (Required)
+     *                     agent_version: String (Optional, Required on create)
+     *                 }
+     *             ]
+     *         }
+     *         protocol_configuration (Optional): {
+     *             activity (Optional): {
+     *                 enable_m365_public_endpoint: Boolean (Optional)
+     *                 access_boundaries (Optional): [
+     *                     String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+     *                 ]
+     *             }
+     *             responses (Optional): {
+     *             }
+     *             a2a (Optional): {
+     *             }
+     *             mcp (Optional): {
+     *             }
+     *             invocations (Optional): {
+     *             }
+     *             invocations_ws (Optional): {
+     *             }
+     *         }
+     *         authorization_schemes (Optional): [
+     *              (Optional){
+     *                 type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+     *             }
+     *         ]
+     *         publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+     *     }
+     *     digital_worker_type: String(m365) (Optional)
+     *     instance_identity (Optional): (recursive schema, see instance_identity above)
+     *     blueprint (Optional): (recursive schema, see blueprint above)
+     *     blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+     *     agent_card (Optional): {
+     *         version: String (Optional, Required on create)
+     *         description: String (Optional)
+     *         skills (Optional, Required on create): [
+     *              (Optional, Required on create){
+     *                 id: String (Optional, Required on create)
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 tags (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 examples (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body The kind-specific inputs for generating and creating an agent. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createAgentFromPromptWithResponse(BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createAgentFromPromptWithResponseAsync(body, requestOptions); + } + + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + * + * @param body The kind-specific inputs for generating and creating an agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createAgentFromPrompt(BinaryData body) { + // Generated convenience method for createAgentFromPromptWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createAgentFromPromptWithResponse(body, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class)); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsClient.java index be812c429b97a..3e63f6123dd4e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaAgentsClient.java @@ -5,6 +5,7 @@ import com.azure.ai.agents.implementation.BetaAgentsImpl; import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.AgentDetails; import com.azure.ai.agents.models.AgentOptimizationJob; import com.azure.ai.agents.models.AgentOptimizationJobListItem; import com.azure.ai.agents.models.AgentOptimizationJobResult; @@ -745,4 +746,172 @@ public SyncPoller beginCreateOptimizationJob(BinaryData RequestOptions requestOptions = new RequestOptions(); return serviceClient.beginCreateOptimizationJobWithModel(BinaryData.fromObject(job), requestOptions); } + + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + *

Request Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
+     *     configuration_state: String(enabled/disabled) (Required)
+     *     state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+     *     versions (Required): {
+     *         latest (Required): {
+     *             metadata (Required): {
+     *                 String: String (Required)
+     *             }
+     *             object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *             id: String (Required)
+     *             name: String (Required)
+     *             version: String (Required)
+     *             description: String (Optional)
+     *             created_at: long (Required)
+     *             definition (Required): {
+     *                 kind: String(prompt/hosted/workflow/external/voice) (Required)
+     *                 rai_config (Optional): {
+     *                     rai_policy_name: String (Required)
+     *                     invocations_moderation (Optional): {
+     *                         input_content_type: String(json/text) (Optional)
+     *                         output_content_type: String(json/text) (Optional)
+     *                         response_mode: String(non_streaming/streaming/both) (Required)
+     *                         input_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         output_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         stream_selectors (Optional): [
+     *                              (Optional){
+     *                                 event_type: String (Required)
+     *                                 text_field: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 }
+     *             }
+     *             draft: Boolean (Optional)
+     *             status: String(creating/active/failed/deleting/deleted) (Optional)
+     *             instance_identity (Optional): {
+     *                 principal_id: String (Required)
+     *                 client_id: String (Required)
+     *                 status: String(active/disabled) (Optional)
+     *             }
+     *             blueprint (Optional): (recursive schema, see blueprint above)
+     *             blueprint_reference (Optional): {
+     *                 type: String(ManagedAgentIdentityBlueprint) (Required)
+     *             }
+     *             agent_guid: String (Optional)
+     *         }
+     *     }
+     *     agent_endpoint (Optional): {
+     *         version_selector (Optional): {
+     *             version_selection_rules (Optional, Required on create): [
+     *                  (Optional, Required on create){
+     *                     type: String(FixedRatio) (Required)
+     *                     agent_version: String (Optional, Required on create)
+     *                 }
+     *             ]
+     *         }
+     *         protocol_configuration (Optional): {
+     *             activity (Optional): {
+     *                 enable_m365_public_endpoint: Boolean (Optional)
+     *                 access_boundaries (Optional): [
+     *                     String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+     *                 ]
+     *             }
+     *             responses (Optional): {
+     *             }
+     *             a2a (Optional): {
+     *             }
+     *             mcp (Optional): {
+     *             }
+     *             invocations (Optional): {
+     *             }
+     *             invocations_ws (Optional): {
+     *             }
+     *         }
+     *         authorization_schemes (Optional): [
+     *              (Optional){
+     *                 type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+     *             }
+     *         ]
+     *         publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+     *     }
+     *     digital_worker_type: String(m365) (Optional)
+     *     instance_identity (Optional): (recursive schema, see instance_identity above)
+     *     blueprint (Optional): (recursive schema, see blueprint above)
+     *     blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+     *     agent_card (Optional): {
+     *         version: String (Optional, Required on create)
+     *         description: String (Optional)
+     *         skills (Optional, Required on create): [
+     *              (Optional, Required on create){
+     *                 id: String (Optional, Required on create)
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 tags (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 examples (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body The kind-specific inputs for generating and creating an agent. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response body along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createAgentFromPromptWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createAgentFromPromptWithResponse(body, requestOptions); + } + + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + * + * @param body The kind-specific inputs for generating and creating an agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AgentDetails createAgentFromPrompt(BinaryData body) { + // Generated convenience method for createAgentFromPromptWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createAgentFromPromptWithResponse(body, requestOptions).getValue().toObject(AgentDetails.class); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsAsyncClient.java new file mode 100644 index 0000000000000..eaed34bda0db5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsAsyncClient.java @@ -0,0 +1,1564 @@ +// 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; + +import com.azure.ai.agents.implementation.BetaVoiceAgentsConversationsImpl; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.agents.models.RealtimeConversationItem; +import com.azure.ai.agents.models.VoiceAudioItemResponse; +import com.azure.ai.agents.models.VoiceConversation; +import com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse; +import com.azure.ai.agents.models.VoiceRecordingResponse; +import com.azure.ai.agents.models.VoiceResponse; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +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.PagedFlux; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import java.util.stream.Collectors; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous AgentsClient type. + */ +@ServiceClient(builder = AgentsClientBuilder.class, isAsync = true) +@Beta(warningText = "This class is in preview and may change in future releases.") +public final class BetaVoiceAgentsConversationsAsyncClient { + + @Generated + private final BetaVoiceAgentsConversationsImpl serviceClient; + + /** + * Initializes an instance of BetaVoiceAgentsConversationsAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + BetaVoiceAgentsConversationsAsyncClient(BetaVoiceAgentsConversationsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversations(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationsAsync(agentName, requestOptions); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @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 + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with + * {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationWithResponseAsync(agentName, conversationId, requestOptions); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.deleteAgentConversationWithResponseAsync(agentName, conversationId, requestOptions); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponses(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationResponsesAsync(agentName, conversationId, requestOptions); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @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 response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationResponseWithResponse(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationResponseWithResponseAsync(agentName, conversationId, responseId, + requestOptions); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponseItems(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationResponseItemsAsync(agentName, conversationId, responseId, + requestOptions); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationItems(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationItemsAsync(agentName, conversationId, requestOptions); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @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 to retrieve. + * @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 + * + * Retrieves a single item from the specified conversation by its id, including its transcript along with + * {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationItemWithResponseAsync(agentName, conversationId, itemId, + requestOptions); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + *

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 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 audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationAudioItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationAudioItemWithResponseAsync(agentName, conversationId, itemId, + requestOptions); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + *

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 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> downloadAgentConversationAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationAudioItemWithResponseAsync(agentName, conversationId, itemId, + requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationGeneratedAudioItemWithResponseAsync(agentName, conversationId, + itemId, requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> downloadAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationGeneratedAudioItemWithResponseAsync(agentName, + conversationId, itemId, requestOptions); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conversation_id: String (Required)
+     *     format: String(wav) (Required)
+     *     sample_rate: int (Required)
+     *     channels: int (Required)
+     *     channel_layout (Required): {
+     *         left: String (Required)
+     *         right: String (Required)
+     *     }
+     *     duration_ms: long (Required)
+     *     blob_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right) along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationAudioWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationAudioWithResponseAsync(agentName, conversationId, requestOptions); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> downloadAgentConversationAudioWithResponse(String agentName, + String conversationId, RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationAudioWithResponseAsync(agentName, conversationId, + requestOptions); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + * + * @param agentName The name of the agent. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversations(String agentName, Integer limit, PageOrder order, + String after, String before) { + // Generated convenience method for listAgentConversations + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse = listAgentConversations(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + * + * @param agentName The name of the agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversations(String agentName) { + // Generated convenience method for listAgentConversations + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listAgentConversations(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversation(String agentName, String conversationId) { + // Generated convenience method for getAgentConversationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationWithResponse(agentName, conversationId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(VoiceConversation.class)); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteAgentConversation(String agentName, String conversationId) { + // Generated convenience method for deleteAgentConversationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteAgentConversationWithResponse(agentName, conversationId, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponses(String agentName, String conversationId, + Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationResponses + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse + = listAgentConversationResponses(agentName, conversationId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponses(String agentName, String conversationId) { + // Generated convenience method for listAgentConversationResponses + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse + = listAgentConversationResponses(agentName, conversationId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversationResponse(String agentName, String conversationId, + String responseId) { + // Generated convenience method for getAgentConversationResponseWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationResponseWithResponse(agentName, conversationId, responseId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(VoiceResponse.class)); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponseItems(String agentName, + String conversationId, String responseId, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationResponseItems + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse + = listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationResponseItems(String agentName, + String conversationId, String responseId) { + // Generated convenience method for listAgentConversationResponseItems + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse + = listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationItems(String agentName, String conversationId, + Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationItems + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse = listAgentConversationItems(agentName, conversationId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentConversationItems(String agentName, String conversationId) { + // Generated convenience method for listAgentConversationItems + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listAgentConversationItems(agentName, conversationId, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + * + * @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 to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversationItem(String agentName, String conversationId, + String itemId) { + // Generated convenience method for getAgentConversationItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationItemWithResponse(agentName, conversationId, itemId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(RealtimeConversationItem.class)); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + * + * @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 audio metadata is retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversationAudioItem(String agentName, String conversationId, + String itemId) { + // Generated convenience method for getAgentConversationAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(VoiceAudioItemResponse.class)); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + * + * @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 audio is streamed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono downloadAgentConversationAudioItem(String agentName, String conversationId, String itemId) { + // Generated convenience method for downloadAgentConversationAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * 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. + * + * @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item's generated audio metadata + * + * Returns metadata for a conversation item's generated audio on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversationGeneratedAudioItem(String agentName, + String conversationId, String itemId) { + // Generated convenience method for getAgentConversationGeneratedAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, itemId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(VoiceGeneratedAudioItemResponse.class)); + } + + /** + * 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. + * + * @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono downloadAgentConversationGeneratedAudioItem(String agentName, String conversationId, + String itemId) { + // Generated convenience method for downloadAgentConversationGeneratedAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, itemId, + requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording metadata is retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right) on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getAgentConversationAudio(String agentName, String conversationId) { + // Generated convenience method for getAgentConversationAudioWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(VoiceRecordingResponse.class)); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording is streamed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response body on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono downloadAgentConversationAudio(String agentName, String conversationId) { + // Generated convenience method for downloadAgentConversationAudioWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationAudioWithResponse(agentName, conversationId, requestOptions) + .flatMap(FluxUtil::toMono); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java new file mode 100644 index 0000000000000..440a0d52938de --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java @@ -0,0 +1,1451 @@ +// 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; + +import com.azure.ai.agents.implementation.BetaVoiceAgentsConversationsImpl; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.agents.models.RealtimeConversationItem; +import com.azure.ai.agents.models.VoiceAudioItemResponse; +import com.azure.ai.agents.models.VoiceConversation; +import com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse; +import com.azure.ai.agents.models.VoiceRecordingResponse; +import com.azure.ai.agents.models.VoiceResponse; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +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.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; + +/** + * Initializes a new instance of the synchronous AgentsClient type. + */ +@ServiceClient(builder = AgentsClientBuilder.class) +@Beta(warningText = "This class is in preview and may change in future releases.") +public final class BetaVoiceAgentsConversationsClient { + + @Generated + private final BetaVoiceAgentsConversationsImpl serviceClient; + + /** + * Initializes an instance of BetaVoiceAgentsConversationsClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + BetaVoiceAgentsConversationsClient(BetaVoiceAgentsConversationsImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversations(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listAgentConversations(agentName, requestOptions); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @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 + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with + * {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationWithResponse(agentName, conversationId, requestOptions); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.deleteAgentConversationWithResponse(agentName, conversationId, requestOptions); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponses(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @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 response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationResponseWithResponse(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationResponseWithResponse(agentName, conversationId, responseId, + requestOptions); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponseItems(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId, + requestOptions); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationItems(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @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 to retrieve. + * @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 + * + * Retrieves a single item from the specified conversation by its id, including its transcript along with + * {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationItemWithResponse(agentName, conversationId, itemId, + requestOptions); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + *

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 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 audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationAudioItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, + requestOptions); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + *

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 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response downloadAgentConversationAudioItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, + requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, itemId, + requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response downloadAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, + itemId, requestOptions); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conversation_id: String (Required)
+     *     format: String(wav) (Required)
+     *     sample_rate: int (Required)
+     *     channels: int (Required)
+     *     channel_layout (Required): {
+     *         left: String (Required)
+     *         right: String (Required)
+     *     }
+     *     duration_ms: long (Required)
+     *     blob_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right) along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationAudioWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response downloadAgentConversationAudioWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return this.serviceClient.downloadAgentConversationAudioWithResponse(agentName, conversationId, requestOptions); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + * + * @param agentName The name of the agent. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversations(String agentName, Integer limit, PageOrder order, + String after, String before) { + // Generated convenience method for listAgentConversations + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listAgentConversations(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceConversation.class)); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + * + * @param agentName The name of the agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversations(String agentName) { + // Generated convenience method for listAgentConversations + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listAgentConversations(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceConversation.class)); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public VoiceConversation getAgentConversation(String agentName, String conversationId) { + // Generated convenience method for getAgentConversationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationWithResponse(agentName, conversationId, requestOptions).getValue() + .toObject(VoiceConversation.class); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteAgentConversation(String agentName, String conversationId) { + // Generated convenience method for deleteAgentConversationWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteAgentConversationWithResponse(agentName, conversationId, requestOptions).getValue(); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponses(String agentName, String conversationId, + Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationResponses + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceResponse.class)); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponses(String agentName, String conversationId) { + // Generated convenience method for listAgentConversationResponses + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listAgentConversationResponses(agentName, conversationId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(VoiceResponse.class)); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public VoiceResponse getAgentConversationResponse(String agentName, String conversationId, String responseId) { + // Generated convenience method for getAgentConversationResponseWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationResponseWithResponse(agentName, conversationId, responseId, requestOptions) + .getValue() + .toObject(VoiceResponse.class); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponseItems(String agentName, + String conversationId, String responseId, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationResponseItems + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class)); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationResponseItems(String agentName, + String conversationId, String responseId) { + // Generated convenience method for listAgentConversationResponseItems + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listAgentConversationResponseItems(agentName, conversationId, responseId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class)); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items are listed. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationItems(String agentName, String conversationId, + Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listAgentConversationItems + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class)); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentConversationItems(String agentName, String conversationId) { + // Generated convenience method for listAgentConversationItems + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listAgentConversationItems(agentName, conversationId, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(RealtimeConversationItem.class)); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + * + * @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 to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public RealtimeConversationItem getAgentConversationItem(String agentName, String conversationId, String itemId) { + // Generated convenience method for getAgentConversationItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationItemWithResponse(agentName, conversationId, itemId, requestOptions).getValue() + .toObject(RealtimeConversationItem.class); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + * + * @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 audio metadata is retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public VoiceAudioItemResponse getAgentConversationAudioItem(String agentName, String conversationId, + String itemId) { + // Generated convenience method for getAgentConversationAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, requestOptions).getValue() + .toObject(VoiceAudioItemResponse.class); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + * + * @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 audio is streamed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData downloadAgentConversationAudioItem(String agentName, String conversationId, String itemId) { + // Generated convenience method for downloadAgentConversationAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationAudioItemWithResponse(agentName, conversationId, itemId, requestOptions) + .getValue(); + } + + /** + * 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. + * + * @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation item's generated audio metadata + * + * Returns metadata for a conversation item's generated audio. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public VoiceGeneratedAudioItemResponse getAgentConversationGeneratedAudioItem(String agentName, + String conversationId, String itemId) { + // Generated convenience method for getAgentConversationGeneratedAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, itemId, requestOptions) + .getValue() + .toObject(VoiceGeneratedAudioItemResponse.class); + } + + /** + * 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. + * + * @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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData downloadAgentConversationGeneratedAudioItem(String agentName, String conversationId, + String itemId) { + // Generated convenience method for downloadAgentConversationGeneratedAudioItemWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationGeneratedAudioItemWithResponse(agentName, conversationId, itemId, + requestOptions).getValue(); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording metadata is retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public VoiceRecordingResponse getAgentConversationAudio(String agentName, String conversationId) { + // Generated convenience method for getAgentConversationAudioWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getAgentConversationAudioWithResponse(agentName, conversationId, requestOptions).getValue() + .toObject(VoiceRecordingResponse.class); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording is streamed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData downloadAgentConversationAudio(String agentName, String conversationId) { + // Generated convenience method for downloadAgentConversationAudioWithResponse + RequestOptions requestOptions = new RequestOptions(); + return downloadAgentConversationAudioWithResponse(agentName, conversationId, requestOptions).getValue(); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java new file mode 100644 index 0000000000000..34ad2f837b204 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java @@ -0,0 +1,2444 @@ +// 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; + +import com.azure.ai.agents.implementation.BetaVoiceAgentsTelephoniesImpl; +import com.azure.ai.agents.implementation.JsonMergePatchHelper; +import com.azure.ai.agents.implementation.models.ReplaceTelephonyTransferTargetsRequest; +import com.azure.ai.agents.implementation.models.TransferTelephonyCallRequest; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.CreateTelephonyBindingRequest; +import com.azure.ai.agents.models.CreateTelephonyCallJobRequest; +import com.azure.ai.agents.models.CreateTelephonyCampaignRequest; +import com.azure.ai.agents.models.ImportTelephonyCampaignRecipientsRequest; +import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.agents.models.PublishTelephonyCampaignRequest; +import com.azure.ai.agents.models.TelephonyBinding; +import com.azure.ai.agents.models.TelephonyBindingListItem; +import com.azure.ai.agents.models.TelephonyBindingStatus; +import com.azure.ai.agents.models.TelephonyCallJob; +import com.azure.ai.agents.models.TelephonyCallRecord; +import com.azure.ai.agents.models.TelephonyCallStatus; +import com.azure.ai.agents.models.TelephonyCallSummary; +import com.azure.ai.agents.models.TelephonyCampaign; +import com.azure.ai.agents.models.TelephonyCampaignRecipientImport; +import com.azure.ai.agents.models.TelephonyOperation; +import com.azure.ai.agents.models.TelephonyOperationResource; +import com.azure.ai.agents.models.TelephonyProvider; +import com.azure.ai.agents.models.TelephonyTransferTarget; +import com.azure.ai.agents.models.TelephonyTransferTargets; +import com.azure.ai.agents.models.UpdateTelephonyBindingRequest; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +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.PagedFlux; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import java.time.OffsetDateTime; +import java.util.List; +import java.util.stream.Collectors; +import reactor.core.publisher.Flux; +import reactor.core.publisher.Mono; + +/** + * Initializes a new instance of the asynchronous AgentsClient type. + */ +@ServiceClient(builder = AgentsClientBuilder.class, isAsync = true) +@Beta(warningText = "This class is in preview and may change in future releases.") +public final class BetaVoiceAgentsTelephonyAsyncClient { + + @Generated + private final BetaVoiceAgentsTelephoniesImpl serviceClient; + + /** + * Initializes an instance of BetaVoiceAgentsTelephonyAsyncClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + BetaVoiceAgentsTelephonyAsyncClient(BetaVoiceAgentsTelephoniesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + *

Header Parameters

+ * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 telephonyBinding 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTelephonyBindingWithResponse(String agentName, BinaryData telephonyBinding, + RequestOptions requestOptions) { + return this.serviceClient.createTelephonyBindingWithResponseAsync(agentName, telephonyBinding, requestOptions); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyBindings(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listTelephonyBindingsAsync(agentName, requestOptions); + } + + /** + * Get an agent telephony binding + * + * Retrieves a telephony binding owned by the voice agent named in the path. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyBindingWithResponse(String agentName, String bindingId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyBindingWithResponseAsync(agentName, bindingId, requestOptions); + } + + /** + * 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_name: String (Optional)
+     *     phone_number: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateTelephonyBindingWithResponse(String agentName, String bindingId, + String ifMatch, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.updateTelephonyBindingWithResponseAsync(agentName, bindingId, ifMatch, body, + requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteTelephonyBindingWithResponse(String agentName, String bindingId, String ifMatch, + RequestOptions requestOptions) { + return this.serviceClient.deleteTelephonyBindingWithResponseAsync(agentName, bindingId, ifMatch, + requestOptions); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyCalls(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listTelephonyCallsAsync(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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCallWithResponse(String agentName, String callId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCallWithResponseAsync(agentName, callId, requestOptions); + } + + /** + * 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> transferTelephonyCallWithResponse(String agentName, String callId, + BinaryData transferTelephonyCallRequest, RequestOptions requestOptions) { + return this.serviceClient.transferTelephonyCallWithResponseAsync(agentName, callId, + transferTelephonyCallRequest, requestOptions); + } + + /** + * 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> endTelephonyCallWithResponse(String agentName, String callId, + RequestOptions requestOptions) { + return this.serviceClient.endTelephonyCallWithResponseAsync(agentName, callId, requestOptions); + } + + /** + * 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyTransferTargetsWithResponse(String agentName, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyTransferTargetsWithResponseAsync(agentName, requestOptions); + } + + /** + * 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     transfer_targets (Required): [
+     *          (Required){
+     *             name: String (Required)
+     *             description: String (Required)
+     *             destination (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> replaceTelephonyTransferTargetsWithResponse(String agentName, String ifMatch, + BinaryData replaceTelephonyTransferTargetsRequest, RequestOptions requestOptions) { + return this.serviceClient.replaceTelephonyTransferTargetsWithResponseAsync(agentName, ifMatch, + replaceTelephonyTransferTargetsRequest, requestOptions); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call 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 durable direct or campaign-created outbound call intent along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTelephonyCallJobWithResponse(String agentName, String idempotencyKey, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createTelephonyCallJobWithResponseAsync(agentName, idempotencyKey, body, + requestOptions); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId 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 an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCallJobWithResponse(String agentName, String callJobId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCallJobWithResponseAsync(agentName, callJobId, requestOptions); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @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 a durable direct or campaign-created outbound call intent along with {@link Response} on successful + * completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cancelTelephonyCallJobWithResponse(String agentName, String callJobId, + String ifMatch, RequestOptions requestOptions) { + return this.serviceClient.cancelTelephonyCallJobWithResponseAsync(agentName, callJobId, ifMatch, + requestOptions); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
LocationStringThe Location response header.
+ * + * @param agentName The agentName parameter. + * @param body The body 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTelephonyCampaignWithResponse(String agentName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createTelephonyCampaignWithResponseAsync(agentName, body, requestOptions); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts along + * with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportTelephonyCampaignRecipients(String agentName, + String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginImportTelephonyCampaignRecipientsAsync(agentName, campaignId, idempotencyKey, + body, requestOptions); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     campaign_id: String (Required)
+     *     status: String(running/succeeded/failed) (Required)
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Required)
+     *         recipient_key: String (Required)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Required)
+     *     rows_processed: long (Required)
+     *     eligible_recipient_count: long (Required)
+     *     invalid_recipient_count: long (Required)
+     *     error_code: String (Optional)
+     *     error_message: String (Optional)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId 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 an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import along with {@link Response} on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCampaignRecipientImportWithResponse(String agentName, + String campaignId, String importId, RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCampaignRecipientImportWithResponseAsync(agentName, campaignId, importId, + requestOptions); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginValidateTelephonyCampaign(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.beginValidateTelephonyCampaignAsync(agentName, campaignId, requestOptions); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginPublishTelephonyCampaign(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginPublishTelephonyCampaignAsync(agentName, campaignId, body, requestOptions); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> pauseTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.pauseTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> resumeTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.resumeTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cancelTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.cancelTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     created_at: Long (Optional)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     resource (Optional): {
+     *         id: String (Required)
+     *         type: String (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param operationId The operationId 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 an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation along with {@link Response} on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyOperationWithResponse(String agentName, String operationId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyOperationWithResponseAsync(agentName, operationId, requestOptions); + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the binding. + * @param telephonyBinding The provider-specific binding to create. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a telephony binding owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createTelephonyBinding(String agentName, + CreateTelephonyBindingRequest telephonyBinding) { + // Generated convenience method for createTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyBindingWithResponse(agentName, BinaryData.fromObject(telephonyBinding), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyBinding.class)); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent whose bindings are listed. + * @param provider Filters bindings by provider. + * @param status Filters bindings by lifecycle status. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyBindings(String agentName, TelephonyProvider provider, + TelephonyBindingStatus status, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listTelephonyBindings + RequestOptions requestOptions = new RequestOptions(); + if (provider != null) { + requestOptions.addQueryParam("provider", provider.toString(), false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse = listTelephonyBindings(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyBindingListItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent whose bindings are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyBindings(String agentName) { + // Generated convenience method for listTelephonyBindings + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listTelephonyBindings(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyBindingListItem.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Get an agent telephony binding + * + * Retrieves 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an agent telephony binding + * + * Retrieves a telephony binding owned by the voice agent named in the path on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyBinding(String agentName, String bindingId) { + // Generated convenience method for getTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyBindingWithResponse(agentName, bindingId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyBinding.class)); + } + + /** + * Update an agent telephony binding + * + * Updates 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 body The binding properties to update. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a telephony binding owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono updateTelephonyBinding(String agentName, String bindingId, String ifMatch, + UpdateTelephonyBindingRequest body) { + // Generated convenience method for updateTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + JsonMergePatchHelper.getUpdateTelephonyBindingRequestAccessor().prepareModelForJsonMergePatch(body, true); + BinaryData bodyInBinaryData = BinaryData.fromObject(body); + // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization. + bodyInBinaryData.getLength(); + JsonMergePatchHelper.getUpdateTelephonyBindingRequestAccessor().prepareModelForJsonMergePatch(body, false); + return updateTelephonyBindingWithResponse(agentName, bindingId, ifMatch, bodyInBinaryData, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyBinding.class)); + } + + /** + * 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return A {@link Mono} that completes when a successful response is received. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteTelephonyBinding(String agentName, String bindingId, String ifMatch) { + // Generated convenience method for deleteTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteTelephonyBindingWithResponse(agentName, bindingId, ifMatch, requestOptions) + .flatMap(FluxUtil::toMono); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose calls are listed. + * @param provider Filters calls by provider. + * @param status Filters calls by lifecycle status. + * @param startedAfter Includes calls that started at or after this Unix timestamp in seconds. + * @param startedBefore Includes calls that started at or before this Unix timestamp in seconds. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyCalls(String agentName, TelephonyProvider provider, + TelephonyCallStatus status, OffsetDateTime startedAfter, OffsetDateTime startedBefore, Integer limit, + PageOrder order, String after, String before) { + // Generated convenience method for listTelephonyCalls + RequestOptions requestOptions = new RequestOptions(); + if (provider != null) { + requestOptions.addQueryParam("provider", provider.toString(), false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + if (startedAfter != null) { + requestOptions.addQueryParam("started_after", String.valueOf(startedAfter.toEpochSecond()), false); + } + if (startedBefore != null) { + requestOptions.addQueryParam("started_before", String.valueOf(startedBefore.toEpochSecond()), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse = listTelephonyCalls(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallSummary.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose calls are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listTelephonyCalls(String agentName) { + // Generated convenience method for listTelephonyCalls + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listTelephonyCalls(agentName, requestOptions); + return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { + Flux> flux = (continuationTokenParam == null) + ? pagedFluxResponse.byPage().take(1) + : pagedFluxResponse.byPage(continuationTokenParam).take(1); + return flux + .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), + pagedResponse.getStatusCode(), pagedResponse.getHeaders(), + pagedResponse.getValue() + .stream() + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallSummary.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Get an agent telephony call + * + * Retrieves a durable inbound call record owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the call record. + * @param callId The service-generated call identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an agent telephony call + * + * Retrieves a durable inbound call record owned by the voice agent named in the path on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyCall(String agentName, String callId) { + // Generated convenience method for getTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCallWithResponse(agentName, callId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallRecord.class)); + } + + /** + * Transfer an active agent telephony call + * + * Transfers an active inbound call to a configured target for the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the active call. + * @param callId The service-generated call identifier. + * @param target The name of a transfer target configured for the voice agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed diagnostics for a durable inbound call to a voice agent on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono transferTelephonyCall(String agentName, String callId, String target) { + // Generated convenience method for transferTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + TransferTelephonyCallRequest transferTelephonyCallRequestObj = new TransferTelephonyCallRequest(target); + BinaryData transferTelephonyCallRequest = BinaryData.fromObject(transferTelephonyCallRequestObj); + return transferTelephonyCallWithResponse(agentName, callId, transferTelephonyCallRequest, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallRecord.class)); + } + + /** + * End an active agent telephony call + * + * Ends an active inbound call owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the active call. + * @param callId The service-generated call identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed diagnostics for a durable inbound call to a voice agent on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono endTelephonyCall(String agentName, String callId) { + // Generated convenience method for endTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + return endTelephonyCallWithResponse(agentName, callId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallRecord.class)); + } + + /** + * Get agent telephony transfer targets + * + * Returns all transfer targets configured for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose transfer targets are retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return agent telephony transfer targets + * + * Returns all transfer targets configured for the voice agent named in the path on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyTransferTargets(String agentName) { + // Generated convenience method for getTelephonyTransferTargetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyTransferTargetsWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyTransferTargets.class)); + } + + /** + * Replace agent telephony transfer targets + * + * Replaces all transfer targets configured for the voice agent named in the path. + * + * @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 transferTargets The complete set of destinations to which the voice agent may transfer calls. An empty + * array clears all targets when replacing the configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the telephony transfer targets configured for one voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono replaceTelephonyTransferTargets(String agentName, String ifMatch, + List transferTargets) { + // Generated convenience method for replaceTelephonyTransferTargetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + ReplaceTelephonyTransferTargetsRequest replaceTelephonyTransferTargetsRequestObj + = new ReplaceTelephonyTransferTargetsRequest(transferTargets); + BinaryData replaceTelephonyTransferTargetsRequest + = BinaryData.fromObject(replaceTelephonyTransferTargetsRequestObj); + return replaceTelephonyTransferTargetsWithResponse(agentName, ifMatch, replaceTelephonyTransferTargetsRequest, + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyTransferTargets.class)); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call to create. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable direct or campaign-created outbound call intent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createTelephonyCallJob(String agentName, String idempotencyKey, + CreateTelephonyCallJobRequest body) { + // Generated convenience method for createTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyCallJobWithResponse(agentName, idempotencyKey, BinaryData.fromObject(body), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallJob.class)); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyCallJob(String agentName, String callJobId) { + // Generated convenience method for getTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCallJobWithResponse(agentName, callJobId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallJob.class)); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that + * read. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable direct or campaign-created outbound call intent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cancelTelephonyCallJob(String agentName, String callJobId, String ifMatch) { + // Generated convenience method for cancelTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cancelTelephonyCallJobWithResponse(agentName, callJobId, ifMatch, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCallJob.class)); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + * + * @param agentName The agentName parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createTelephonyCampaign(String agentName, CreateTelephonyCampaignRequest body) { + // Generated convenience method for createTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyCampaignWithResponse(agentName, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaign.class)); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts on + * successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for getTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaign.class)); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportTelephonyCampaignRecipients( + String agentName, String campaignId, String idempotencyKey, ImportTelephonyCampaignRecipientsRequest body) { + // Generated convenience method for beginImportTelephonyCampaignRecipientsWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginImportTelephonyCampaignRecipientsWithModelAsync(agentName, campaignId, idempotencyKey, + BinaryData.fromObject(body), requestOptions); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import on successful completion of + * {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyCampaignRecipientImport(String agentName, + String campaignId, String importId) { + // Generated convenience method for getTelephonyCampaignRecipientImportWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCampaignRecipientImportWithResponse(agentName, campaignId, importId, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaignRecipientImport.class)); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginValidateTelephonyCampaign(String agentName, + String campaignId) { + // Generated convenience method for beginValidateTelephonyCampaignWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginValidateTelephonyCampaignWithModelAsync(agentName, campaignId, requestOptions); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginPublishTelephonyCampaign(String agentName, + String campaignId, PublishTelephonyCampaignRequest body) { + // Generated convenience method for beginPublishTelephonyCampaignWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginPublishTelephonyCampaignWithModelAsync(agentName, campaignId, + BinaryData.fromObject(body), requestOptions); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono pauseTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for pauseTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return pauseTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaign.class)); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono resumeTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for resumeTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return resumeTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaign.class)); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono cancelTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for cancelTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cancelTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyCampaign.class)); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + * + * @param agentName The agentName parameter. + * @param operationId The operationId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getTelephonyOperation(String agentName, String operationId) { + // Generated convenience method for getTelephonyOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyOperationWithResponse(agentName, operationId, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(TelephonyOperation.class)); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java new file mode 100644 index 0000000000000..cd760fc3301ac --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java @@ -0,0 +1,2356 @@ +// 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; + +import com.azure.ai.agents.implementation.BetaVoiceAgentsTelephoniesImpl; +import com.azure.ai.agents.implementation.JsonMergePatchHelper; +import com.azure.ai.agents.implementation.models.ReplaceTelephonyTransferTargetsRequest; +import com.azure.ai.agents.implementation.models.TransferTelephonyCallRequest; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.ai.agents.models.CreateTelephonyBindingRequest; +import com.azure.ai.agents.models.CreateTelephonyCallJobRequest; +import com.azure.ai.agents.models.CreateTelephonyCampaignRequest; +import com.azure.ai.agents.models.ImportTelephonyCampaignRecipientsRequest; +import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.agents.models.PublishTelephonyCampaignRequest; +import com.azure.ai.agents.models.TelephonyBinding; +import com.azure.ai.agents.models.TelephonyBindingListItem; +import com.azure.ai.agents.models.TelephonyBindingStatus; +import com.azure.ai.agents.models.TelephonyCallJob; +import com.azure.ai.agents.models.TelephonyCallRecord; +import com.azure.ai.agents.models.TelephonyCallStatus; +import com.azure.ai.agents.models.TelephonyCallSummary; +import com.azure.ai.agents.models.TelephonyCampaign; +import com.azure.ai.agents.models.TelephonyCampaignRecipientImport; +import com.azure.ai.agents.models.TelephonyOperation; +import com.azure.ai.agents.models.TelephonyOperationResource; +import com.azure.ai.agents.models.TelephonyProvider; +import com.azure.ai.agents.models.TelephonyTransferTarget; +import com.azure.ai.agents.models.TelephonyTransferTargets; +import com.azure.ai.agents.models.UpdateTelephonyBindingRequest; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.ReturnType; +import com.azure.core.annotation.ServiceClient; +import com.azure.core.annotation.ServiceMethod; +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.PagedIterable; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.http.rest.Response; +import com.azure.core.util.BinaryData; +import com.azure.core.util.polling.SyncPoller; +import java.time.OffsetDateTime; +import java.util.List; + +/** + * Initializes a new instance of the synchronous AgentsClient type. + */ +@ServiceClient(builder = AgentsClientBuilder.class) +@Beta(warningText = "This class is in preview and may change in future releases.") +public final class BetaVoiceAgentsTelephonyClient { + + @Generated + private final BetaVoiceAgentsTelephoniesImpl serviceClient; + + /** + * Initializes an instance of BetaVoiceAgentsTelephonyClient class. + * + * @param serviceClient the service client implementation. + */ + @Generated + BetaVoiceAgentsTelephonyClient(BetaVoiceAgentsTelephoniesImpl serviceClient) { + this.serviceClient = serviceClient; + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + *

Header Parameters

+ * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 telephonyBinding 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTelephonyBindingWithResponse(String agentName, BinaryData telephonyBinding, + RequestOptions requestOptions) { + return this.serviceClient.createTelephonyBindingWithResponse(agentName, telephonyBinding, requestOptions); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyBindings(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listTelephonyBindings(agentName, requestOptions); + } + + /** + * Get an agent telephony binding + * + * Retrieves a telephony binding owned by the voice agent named in the path. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyBindingWithResponse(String agentName, String bindingId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyBindingWithResponse(agentName, bindingId, requestOptions); + } + + /** + * 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_name: String (Optional)
+     *     phone_number: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateTelephonyBindingWithResponse(String agentName, String bindingId, String ifMatch, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.updateTelephonyBindingWithResponse(agentName, bindingId, ifMatch, body, + requestOptions); + } + + /** + * 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteTelephonyBindingWithResponse(String agentName, String bindingId, String ifMatch, + RequestOptions requestOptions) { + return this.serviceClient.deleteTelephonyBindingWithResponse(agentName, bindingId, ifMatch, requestOptions); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyCalls(String agentName, RequestOptions requestOptions) { + return this.serviceClient.listTelephonyCalls(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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCallWithResponse(String agentName, String callId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCallWithResponse(agentName, callId, requestOptions); + } + + /** + * 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response transferTelephonyCallWithResponse(String agentName, String callId, + BinaryData transferTelephonyCallRequest, RequestOptions requestOptions) { + return this.serviceClient.transferTelephonyCallWithResponse(agentName, callId, transferTelephonyCallRequest, + requestOptions); + } + + /** + * 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response endTelephonyCallWithResponse(String agentName, String callId, + RequestOptions requestOptions) { + return this.serviceClient.endTelephonyCallWithResponse(agentName, callId, requestOptions); + } + + /** + * 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyTransferTargetsWithResponse(String agentName, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyTransferTargetsWithResponse(agentName, requestOptions); + } + + /** + * 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     transfer_targets (Required): [
+     *          (Required){
+     *             name: String (Required)
+     *             description: String (Required)
+     *             destination (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response replaceTelephonyTransferTargetsWithResponse(String agentName, String ifMatch, + BinaryData replaceTelephonyTransferTargetsRequest, RequestOptions requestOptions) { + return this.serviceClient.replaceTelephonyTransferTargetsWithResponse(agentName, ifMatch, + replaceTelephonyTransferTargetsRequest, requestOptions); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call 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 durable direct or campaign-created outbound call intent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTelephonyCallJobWithResponse(String agentName, String idempotencyKey, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createTelephonyCallJobWithResponse(agentName, idempotencyKey, body, requestOptions); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId 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 an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCallJobWithResponse(String agentName, String callJobId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCallJobWithResponse(agentName, callJobId, requestOptions); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @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 a durable direct or campaign-created outbound call intent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cancelTelephonyCallJobWithResponse(String agentName, String callJobId, String ifMatch, + RequestOptions requestOptions) { + return this.serviceClient.cancelTelephonyCallJobWithResponse(agentName, callJobId, ifMatch, requestOptions); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
LocationStringThe Location response header.
+ * + * @param agentName The agentName parameter. + * @param body The body 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTelephonyCampaignWithResponse(String agentName, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createTelephonyCampaignWithResponse(agentName, body, requestOptions); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts along + * with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCampaignWithResponse(agentName, campaignId, requestOptions); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportTelephonyCampaignRecipients(String agentName, + String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginImportTelephonyCampaignRecipients(agentName, campaignId, idempotencyKey, body, + requestOptions); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     campaign_id: String (Required)
+     *     status: String(running/succeeded/failed) (Required)
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Required)
+     *         recipient_key: String (Required)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Required)
+     *     rows_processed: long (Required)
+     *     eligible_recipient_count: long (Required)
+     *     invalid_recipient_count: long (Required)
+     *     error_code: String (Optional)
+     *     error_message: String (Optional)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId 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 an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCampaignRecipientImportWithResponse(String agentName, String campaignId, + String importId, RequestOptions requestOptions) { + return this.serviceClient.getTelephonyCampaignRecipientImportWithResponse(agentName, campaignId, importId, + requestOptions); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginValidateTelephonyCampaign(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.beginValidateTelephonyCampaign(agentName, campaignId, requestOptions); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginPublishTelephonyCampaign(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.beginPublishTelephonyCampaign(agentName, campaignId, body, requestOptions); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response pauseTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.pauseTelephonyCampaignWithResponse(agentName, campaignId, requestOptions); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response resumeTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.resumeTelephonyCampaignWithResponse(agentName, campaignId, requestOptions); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cancelTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + return this.serviceClient.cancelTelephonyCampaignWithResponse(agentName, campaignId, requestOptions); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     created_at: Long (Optional)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     resource (Optional): {
+     *         id: String (Required)
+     *         type: String (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param operationId The operationId 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 an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyOperationWithResponse(String agentName, String operationId, + RequestOptions requestOptions) { + return this.serviceClient.getTelephonyOperationWithResponse(agentName, operationId, requestOptions); + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the binding. + * @param telephonyBinding The provider-specific binding to create. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a telephony binding owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyBinding createTelephonyBinding(String agentName, CreateTelephonyBindingRequest telephonyBinding) { + // Generated convenience method for createTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyBindingWithResponse(agentName, BinaryData.fromObject(telephonyBinding), requestOptions) + .getValue() + .toObject(TelephonyBinding.class); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent whose bindings are listed. + * @param provider Filters bindings by provider. + * @param status Filters bindings by lifecycle status. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyBindings(String agentName, TelephonyProvider provider, + TelephonyBindingStatus status, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listTelephonyBindings + RequestOptions requestOptions = new RequestOptions(); + if (provider != null) { + requestOptions.addQueryParam("provider", provider.toString(), false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listTelephonyBindings(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(TelephonyBindingListItem.class)); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent whose bindings are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyBindings(String agentName) { + // Generated convenience method for listTelephonyBindings + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listTelephonyBindings(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(TelephonyBindingListItem.class)); + } + + /** + * Get an agent telephony binding + * + * Retrieves 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an agent telephony binding + * + * Retrieves a telephony binding owned by the voice agent named in the path. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyBinding getTelephonyBinding(String agentName, String bindingId) { + // Generated convenience method for getTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyBindingWithResponse(agentName, bindingId, requestOptions).getValue() + .toObject(TelephonyBinding.class); + } + + /** + * Update an agent telephony binding + * + * Updates 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 body The binding properties to update. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a telephony binding owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyBinding updateTelephonyBinding(String agentName, String bindingId, String ifMatch, + UpdateTelephonyBindingRequest body) { + // Generated convenience method for updateTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + JsonMergePatchHelper.getUpdateTelephonyBindingRequestAccessor().prepareModelForJsonMergePatch(body, true); + BinaryData bodyInBinaryData = BinaryData.fromObject(body); + // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization. + bodyInBinaryData.getLength(); + JsonMergePatchHelper.getUpdateTelephonyBindingRequestAccessor().prepareModelForJsonMergePatch(body, false); + return updateTelephonyBindingWithResponse(agentName, bindingId, ifMatch, bodyInBinaryData, requestOptions) + .getValue() + .toObject(TelephonyBinding.class); + } + + /** + * 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteTelephonyBinding(String agentName, String bindingId, String ifMatch) { + // Generated convenience method for deleteTelephonyBindingWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteTelephonyBindingWithResponse(agentName, bindingId, ifMatch, requestOptions).getValue(); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose calls are listed. + * @param provider Filters calls by provider. + * @param status Filters calls by lifecycle status. + * @param startedAfter Includes calls that started at or after this Unix timestamp in seconds. + * @param startedBefore Includes calls that started at or before this Unix timestamp in seconds. + * @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 20. + * @param order Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and`desc` + * for descending order. + * @param after 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. + * @param before 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. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyCalls(String agentName, TelephonyProvider provider, + TelephonyCallStatus status, OffsetDateTime startedAfter, OffsetDateTime startedBefore, Integer limit, + PageOrder order, String after, String before) { + // Generated convenience method for listTelephonyCalls + RequestOptions requestOptions = new RequestOptions(); + if (provider != null) { + requestOptions.addQueryParam("provider", provider.toString(), false); + } + if (status != null) { + requestOptions.addQueryParam("status", status.toString(), false); + } + if (startedAfter != null) { + requestOptions.addQueryParam("started_after", String.valueOf(startedAfter.toEpochSecond()), false); + } + if (startedBefore != null) { + requestOptions.addQueryParam("started_before", String.valueOf(startedBefore.toEpochSecond()), false); + } + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + return serviceClient.listTelephonyCalls(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(TelephonyCallSummary.class)); + } + + /** + * List agent telephony calls + * + * Returns the durable inbound call history for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose calls are listed. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @Generated + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listTelephonyCalls(String agentName) { + // Generated convenience method for listTelephonyCalls + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listTelephonyCalls(agentName, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(TelephonyCallSummary.class)); + } + + /** + * Get an agent telephony call + * + * Retrieves a durable inbound call record owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the call record. + * @param callId The service-generated call identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an agent telephony call + * + * Retrieves a durable inbound call record owned by the voice agent named in the path. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallRecord getTelephonyCall(String agentName, String callId) { + // Generated convenience method for getTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCallWithResponse(agentName, callId, requestOptions).getValue() + .toObject(TelephonyCallRecord.class); + } + + /** + * Transfer an active agent telephony call + * + * Transfers an active inbound call to a configured target for the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the active call. + * @param callId The service-generated call identifier. + * @param target The name of a transfer target configured for the voice agent. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed diagnostics for a durable inbound call to a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallRecord transferTelephonyCall(String agentName, String callId, String target) { + // Generated convenience method for transferTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + TransferTelephonyCallRequest transferTelephonyCallRequestObj = new TransferTelephonyCallRequest(target); + BinaryData transferTelephonyCallRequest = BinaryData.fromObject(transferTelephonyCallRequestObj); + return transferTelephonyCallWithResponse(agentName, callId, transferTelephonyCallRequest, requestOptions) + .getValue() + .toObject(TelephonyCallRecord.class); + } + + /** + * End an active agent telephony call + * + * Ends an active inbound call owned by the voice agent named in the path. + * + * @param agentName The name of the voice agent that owns the active call. + * @param callId The service-generated call identifier. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return detailed diagnostics for a durable inbound call to a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallRecord endTelephonyCall(String agentName, String callId) { + // Generated convenience method for endTelephonyCallWithResponse + RequestOptions requestOptions = new RequestOptions(); + return endTelephonyCallWithResponse(agentName, callId, requestOptions).getValue() + .toObject(TelephonyCallRecord.class); + } + + /** + * Get agent telephony transfer targets + * + * Returns all transfer targets configured for the voice agent named in the path. + * + * @param agentName The name of the voice agent whose transfer targets are retrieved. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return agent telephony transfer targets + * + * Returns all transfer targets configured for the voice agent named in the path. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyTransferTargets getTelephonyTransferTargets(String agentName) { + // Generated convenience method for getTelephonyTransferTargetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyTransferTargetsWithResponse(agentName, requestOptions).getValue() + .toObject(TelephonyTransferTargets.class); + } + + /** + * Replace agent telephony transfer targets + * + * Replaces all transfer targets configured for the voice agent named in the path. + * + * @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 transferTargets The complete set of destinations to which the voice agent may transfer calls. An empty + * array clears all targets when replacing the configuration. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the telephony transfer targets configured for one voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyTransferTargets replaceTelephonyTransferTargets(String agentName, String ifMatch, + List transferTargets) { + // Generated convenience method for replaceTelephonyTransferTargetsWithResponse + RequestOptions requestOptions = new RequestOptions(); + ReplaceTelephonyTransferTargetsRequest replaceTelephonyTransferTargetsRequestObj + = new ReplaceTelephonyTransferTargetsRequest(transferTargets); + BinaryData replaceTelephonyTransferTargetsRequest + = BinaryData.fromObject(replaceTelephonyTransferTargetsRequestObj); + return replaceTelephonyTransferTargetsWithResponse(agentName, ifMatch, replaceTelephonyTransferTargetsRequest, + requestOptions).getValue().toObject(TelephonyTransferTargets.class); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call to create. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable direct or campaign-created outbound call intent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallJob createTelephonyCallJob(String agentName, String idempotencyKey, + CreateTelephonyCallJobRequest body) { + // Generated convenience method for createTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyCallJobWithResponse(agentName, idempotencyKey, BinaryData.fromObject(body), + requestOptions).getValue().toObject(TelephonyCallJob.class); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallJob getTelephonyCallJob(String agentName, String callJobId) { + // Generated convenience method for getTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCallJobWithResponse(agentName, callJobId, requestOptions).getValue() + .toObject(TelephonyCallJob.class); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @param ifMatch The entity tag returned by the latest read. The request fails if the resource changed since that + * read. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable direct or campaign-created outbound call intent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCallJob cancelTelephonyCallJob(String agentName, String callJobId, String ifMatch) { + // Generated convenience method for cancelTelephonyCallJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cancelTelephonyCallJobWithResponse(agentName, callJobId, ifMatch, requestOptions).getValue() + .toObject(TelephonyCallJob.class); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + * + * @param agentName The agentName parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaign createTelephonyCampaign(String agentName, CreateTelephonyCampaignRequest body) { + // Generated convenience method for createTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createTelephonyCampaignWithResponse(agentName, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(TelephonyCampaign.class); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaign getTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for getTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).getValue() + .toObject(TelephonyCampaign.class); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportTelephonyCampaignRecipients( + String agentName, String campaignId, String idempotencyKey, ImportTelephonyCampaignRecipientsRequest body) { + // Generated convenience method for beginImportTelephonyCampaignRecipientsWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginImportTelephonyCampaignRecipientsWithModel(agentName, campaignId, idempotencyKey, + BinaryData.fromObject(body), requestOptions); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaignRecipientImport getTelephonyCampaignRecipientImport(String agentName, String campaignId, + String importId) { + // Generated convenience method for getTelephonyCampaignRecipientImportWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyCampaignRecipientImportWithResponse(agentName, campaignId, importId, requestOptions) + .getValue() + .toObject(TelephonyCampaignRecipientImport.class); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginValidateTelephonyCampaign(String agentName, + String campaignId) { + // Generated convenience method for beginValidateTelephonyCampaignWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginValidateTelephonyCampaignWithModel(agentName, campaignId, requestOptions); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return the {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginPublishTelephonyCampaign(String agentName, + String campaignId, PublishTelephonyCampaignRequest body) { + // Generated convenience method for beginPublishTelephonyCampaignWithModel + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.beginPublishTelephonyCampaignWithModel(agentName, campaignId, BinaryData.fromObject(body), + requestOptions); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaign pauseTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for pauseTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return pauseTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).getValue() + .toObject(TelephonyCampaign.class); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaign resumeTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for resumeTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return resumeTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).getValue() + .toObject(TelephonyCampaign.class); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a durable outbound campaign owned by a voice agent. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyCampaign cancelTelephonyCampaign(String agentName, String campaignId) { + // Generated convenience method for cancelTelephonyCampaignWithResponse + RequestOptions requestOptions = new RequestOptions(); + return cancelTelephonyCampaignWithResponse(agentName, campaignId, requestOptions).getValue() + .toObject(TelephonyCampaign.class); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + * + * @param agentName The agentName parameter. + * @param operationId The operationId parameter. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public TelephonyOperation getTelephonyOperation(String agentName, String operationId) { + // Generated convenience method for getTelephonyOperationWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getTelephonyOperationWithResponse(agentName, operationId, requestOptions).getValue() + .toObject(TelephonyOperation.class); + } +} 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 d5d107362708b..bc8ba850e5fe0 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 @@ -80,6 +80,34 @@ public SerializerAdapter getSerializerAdapter() { return this.serializerAdapter; } + /** + * The BetaVoiceAgentsConversationsImpl object to access its operations. + */ + private final BetaVoiceAgentsConversationsImpl betaVoiceAgentsConversations; + + /** + * Gets the BetaVoiceAgentsConversationsImpl object to access its operations. + * + * @return the BetaVoiceAgentsConversationsImpl object. + */ + public BetaVoiceAgentsConversationsImpl getBetaVoiceAgentsConversations() { + return this.betaVoiceAgentsConversations; + } + + /** + * The BetaVoiceAgentsTelephoniesImpl object to access its operations. + */ + private final BetaVoiceAgentsTelephoniesImpl betaVoiceAgentsTelephonies; + + /** + * Gets the BetaVoiceAgentsTelephoniesImpl object to access its operations. + * + * @return the BetaVoiceAgentsTelephoniesImpl object. + */ + public BetaVoiceAgentsTelephoniesImpl getBetaVoiceAgentsTelephonies() { + return this.betaVoiceAgentsTelephonies; + } + /** * The BetaMemoryStoresImpl object to access its operations. */ @@ -184,6 +212,8 @@ public AgentsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerA this.serializerAdapter = serializerAdapter; this.endpoint = endpoint; this.serviceVersion = serviceVersion; + this.betaVoiceAgentsConversations = new BetaVoiceAgentsConversationsImpl(this); + this.betaVoiceAgentsTelephonies = new BetaVoiceAgentsTelephoniesImpl(this); this.betaMemoryStores = new BetaMemoryStoresImpl(this); this.betaAgents = new BetaAgentsImpl(this); this.agents = new AgentsImpl(this); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java index 63630d6091868..29dfbca90468a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java @@ -86,6 +86,28 @@ public AgentsServiceVersion getServiceVersion() { @Host("{endpoint}") @ServiceInterface(name = "AgentsClientBetaAgents") public interface BetaAgentsService { + @Post("/agents:generate") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createAgentFromPrompt(@HostParam("endpoint") String endpoint, + @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:generate") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createAgentFromPromptSync(@HostParam("endpoint") String endpoint, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, + RequestOptions requestOptions, Context context); + @Post("/agent_optimization_jobs") @ExpectedResponses({ 201 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @@ -189,6 +211,301 @@ Response deleteOptimizationJobSync(@HostParam("endpoint") String endpoint, RequestOptions requestOptions, Context context); } + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + *

Request Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
+     *     configuration_state: String(enabled/disabled) (Required)
+     *     state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+     *     versions (Required): {
+     *         latest (Required): {
+     *             metadata (Required): {
+     *                 String: String (Required)
+     *             }
+     *             object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *             id: String (Required)
+     *             name: String (Required)
+     *             version: String (Required)
+     *             description: String (Optional)
+     *             created_at: long (Required)
+     *             definition (Required): {
+     *                 kind: String(prompt/hosted/workflow/external/voice) (Required)
+     *                 rai_config (Optional): {
+     *                     rai_policy_name: String (Required)
+     *                     invocations_moderation (Optional): {
+     *                         input_content_type: String(json/text) (Optional)
+     *                         output_content_type: String(json/text) (Optional)
+     *                         response_mode: String(non_streaming/streaming/both) (Required)
+     *                         input_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         output_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         stream_selectors (Optional): [
+     *                              (Optional){
+     *                                 event_type: String (Required)
+     *                                 text_field: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 }
+     *             }
+     *             draft: Boolean (Optional)
+     *             status: String(creating/active/failed/deleting/deleted) (Optional)
+     *             instance_identity (Optional): {
+     *                 principal_id: String (Required)
+     *                 client_id: String (Required)
+     *                 status: String(active/disabled) (Optional)
+     *             }
+     *             blueprint (Optional): (recursive schema, see blueprint above)
+     *             blueprint_reference (Optional): {
+     *                 type: String(ManagedAgentIdentityBlueprint) (Required)
+     *             }
+     *             agent_guid: String (Optional)
+     *         }
+     *     }
+     *     agent_endpoint (Optional): {
+     *         version_selector (Optional): {
+     *             version_selection_rules (Optional, Required on create): [
+     *                  (Optional, Required on create){
+     *                     type: String(FixedRatio) (Required)
+     *                     agent_version: String (Optional, Required on create)
+     *                 }
+     *             ]
+     *         }
+     *         protocol_configuration (Optional): {
+     *             activity (Optional): {
+     *                 enable_m365_public_endpoint: Boolean (Optional)
+     *                 access_boundaries (Optional): [
+     *                     String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+     *                 ]
+     *             }
+     *             responses (Optional): {
+     *             }
+     *             a2a (Optional): {
+     *             }
+     *             mcp (Optional): {
+     *             }
+     *             invocations (Optional): {
+     *             }
+     *             invocations_ws (Optional): {
+     *             }
+     *         }
+     *         authorization_schemes (Optional): [
+     *              (Optional){
+     *                 type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+     *             }
+     *         ]
+     *         publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+     *     }
+     *     digital_worker_type: String(m365) (Optional)
+     *     instance_identity (Optional): (recursive schema, see instance_identity above)
+     *     blueprint (Optional): (recursive schema, see blueprint above)
+     *     blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+     *     agent_card (Optional): {
+     *         version: String (Optional, Required on create)
+     *         description: String (Optional)
+     *         skills (Optional, Required on create): [
+     *              (Optional, Required on create){
+     *                 id: String (Optional, Required on create)
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 tags (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 examples (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body The kind-specific inputs for generating and creating an agent. + * @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> createAgentFromPromptWithResponseAsync(BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createAgentFromPrompt(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Generate an agent + * + * Generates and creates an agent from kind-specific high-level inputs. + * The generated definition remains fully editable through the standard agent versioning operations. + *

Request Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
+     *     configuration_state: String(enabled/disabled) (Required)
+     *     state_source: String(agent_instance_identity/agent_blueprint) (Optional)
+     *     versions (Required): {
+     *         latest (Required): {
+     *             metadata (Required): {
+     *                 String: String (Required)
+     *             }
+     *             object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *             id: String (Required)
+     *             name: String (Required)
+     *             version: String (Required)
+     *             description: String (Optional)
+     *             created_at: long (Required)
+     *             definition (Required): {
+     *                 kind: String(prompt/hosted/workflow/external/voice) (Required)
+     *                 rai_config (Optional): {
+     *                     rai_policy_name: String (Required)
+     *                     invocations_moderation (Optional): {
+     *                         input_content_type: String(json/text) (Optional)
+     *                         output_content_type: String(json/text) (Optional)
+     *                         response_mode: String(non_streaming/streaming/both) (Required)
+     *                         input_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         output_paths (Optional): [
+     *                             String (Optional)
+     *                         ]
+     *                         stream_selectors (Optional): [
+     *                              (Optional){
+     *                                 event_type: String (Required)
+     *                                 text_field: String (Optional)
+     *                             }
+     *                         ]
+     *                     }
+     *                 }
+     *             }
+     *             draft: Boolean (Optional)
+     *             status: String(creating/active/failed/deleting/deleted) (Optional)
+     *             instance_identity (Optional): {
+     *                 principal_id: String (Required)
+     *                 client_id: String (Required)
+     *                 status: String(active/disabled) (Optional)
+     *             }
+     *             blueprint (Optional): (recursive schema, see blueprint above)
+     *             blueprint_reference (Optional): {
+     *                 type: String(ManagedAgentIdentityBlueprint) (Required)
+     *             }
+     *             agent_guid: String (Optional)
+     *         }
+     *     }
+     *     agent_endpoint (Optional): {
+     *         version_selector (Optional): {
+     *             version_selection_rules (Optional, Required on create): [
+     *                  (Optional, Required on create){
+     *                     type: String(FixedRatio) (Required)
+     *                     agent_version: String (Optional, Required on create)
+     *                 }
+     *             ]
+     *         }
+     *         protocol_configuration (Optional): {
+     *             activity (Optional): {
+     *                 enable_m365_public_endpoint: Boolean (Optional)
+     *                 access_boundaries (Optional): [
+     *                     String(read.1on1.developers/read.1on1.manager/read.1on1.allowlisted/read.1on1.tenant/write.1on1.developers/write.1on1.manager/write.1on1.allowlisted/write.1on1.tenant/read.group.developers/read.group.allowlisted/read.group.manager-invited/read.group.manager-present/read.group.tenant/write.group.developers/write.group.allowlisted/write.group.manager-invited/write.group.manager-present/write.group.tenant) (Optional)
+     *                 ]
+     *             }
+     *             responses (Optional): {
+     *             }
+     *             a2a (Optional): {
+     *             }
+     *             mcp (Optional): {
+     *             }
+     *             invocations (Optional): {
+     *             }
+     *             invocations_ws (Optional): {
+     *             }
+     *         }
+     *         authorization_schemes (Optional): [
+     *              (Optional){
+     *                 type: String(Entra/BotService/BotServiceRbac/BotServiceTenant) (Required)
+     *             }
+     *         ]
+     *         publish_approval_status: String(not_published/pending/approved/rejected/no_approval_needed) (Optional)
+     *     }
+     *     digital_worker_type: String(m365) (Optional)
+     *     instance_identity (Optional): (recursive schema, see instance_identity above)
+     *     blueprint (Optional): (recursive schema, see blueprint above)
+     *     blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+     *     agent_card (Optional): {
+     *         version: String (Optional, Required on create)
+     *         description: String (Optional)
+     *         skills (Optional, Required on create): [
+     *              (Optional, Required on create){
+     *                 id: String (Optional, Required on create)
+     *                 name: String (Optional, Required on create)
+     *                 description: String (Optional)
+     *                 tags (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *                 examples (Optional): [
+     *                     String (Optional)
+     *                 ]
+     *             }
+     *         ]
+     *     }
+     * }
+     * }
+     * 
+ * + * @param body The kind-specific inputs for generating and creating an agent. + * @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 createAgentFromPromptWithResponse(BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createAgentFromPromptSync(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); + } + /** * Create an agent optimization job * diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java new file mode 100644 index 0000000000000..b6d276479bba0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java @@ -0,0 +1,2649 @@ +// 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.Delete; +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.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +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 java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in BetaVoiceAgentsConversations. + */ +public final class BetaVoiceAgentsConversationsImpl { + /** + * The proxy service used to perform REST calls. + */ + private final BetaVoiceAgentsConversationsService service; + + /** + * The service client containing this operation class. + */ + private final AgentsClientImpl client; + + /** + * Initializes an instance of BetaVoiceAgentsConversationsImpl. + * + * @param client the instance of the service client containing this operation class. + */ + BetaVoiceAgentsConversationsImpl(AgentsClientImpl client) { + this.service = RestProxy.create(BetaVoiceAgentsConversationsService.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 AgentsClientBetaVoiceAgentsConversations to be used by the proxy + * service to perform REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "AgentsClientBetaVoiceAgentsConversations") + public interface BetaVoiceAgentsConversationsService { + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listAgentConversations(@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}/endpoint/protocols/voice/conversations") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listAgentConversationsSync(@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}/endpoint/protocols/voice/conversations/{conversation_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> getAgentConversation(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_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 getAgentConversationSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Delete("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_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> deleteAgentConversation(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context); + + @Delete("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_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 deleteAgentConversationSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listAgentConversationResponses(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listAgentConversationResponsesSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_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> getAgentConversationResponse(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_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 getAgentConversationResponseSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}/items") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listAgentConversationResponseItems(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/responses/{response_id}/items") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listAgentConversationResponseItemsSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @PathParam("response_id") String responseId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> listAgentConversationItems(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/items") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response listAgentConversationItemsSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @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}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAgentConversationItem(@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}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAgentConversationItemSync(@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") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAgentConversationAudioItem(@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") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAgentConversationAudioItemSync(@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/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> downloadAgentConversationAudioItem(@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/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 downloadAgentConversationAudioItemSync(@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) + Mono> getAgentConversationGeneratedAudioItem(@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 getAgentConversationGeneratedAudioItemSync(@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> downloadAgentConversationGeneratedAudioItem(@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 downloadAgentConversationGeneratedAudioItemSync(@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}/audio") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getAgentConversationAudio(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/audio") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response getAgentConversationAudioSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/audio/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> downloadAgentConversationAudio(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/endpoint/protocols/voice/conversations/{conversation_id}/audio/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 downloadAgentConversationAudioSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("conversation_id") String conversationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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> listAgentConversationsSinglePageAsync(String agentName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listAgentConversations(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 voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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 listAgentConversationsAsync(String agentName, RequestOptions requestOptions) { + return new PagedFlux<>(() -> listAgentConversationsSinglePageAsync(agentName, requestOptions)); + } + + /** + * List voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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 listAgentConversationsSinglePage(String agentName, + RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = service.listAgentConversationsSync(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 voice agent conversations + * + * Returns the conversations persisted for the specified voice agent endpoint. + * Conversations are present when the session's effective `store` setting is `true`, whether inherited from the + * agent definition or enabled by the WebSocket session override. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @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 listAgentConversations(String agentName, RequestOptions requestOptions) { + return new PagedIterable<>(() -> listAgentConversationsSinglePage(agentName, requestOptions)); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @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 + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with + * {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationWithResponseAsync(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAgentConversation(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a voice agent conversation + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(in_progress/completed/failed) (Required)
+     *     created_at: long (Required)
+     *     completed_at: Long (Optional)
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     last_error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to retrieve. + * @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 + * + * Retrieves a single conversation recorded for the specified voice agent endpoint by its id. + * Returns `404` when the conversation was not persisted (`store = false`) or does not exist along with + * {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationSync(this.client.getEndpoint(), agentName, conversationId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @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> deleteAgentConversationWithResponseAsync(String agentName, String conversationId, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.deleteAgentConversation(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * Delete a voice agent conversation + * + * Deletes a conversation and all of its stored data — responses, items, and any audio (cascade). This is + * the customer's explicit data-deletion control for voice conversations. + * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation to delete. + * @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 deleteAgentConversationWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + return service.deleteAgentConversationSync(this.client.getEndpoint(), agentName, conversationId, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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> listAgentConversationResponsesSinglePageAsync(String agentName, + String conversationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listAgentConversationResponses(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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 listAgentConversationResponsesAsync(String agentName, String conversationId, + RequestOptions requestOptions) { + return new PagedFlux<>( + () -> listAgentConversationResponsesSinglePageAsync(agentName, conversationId, requestOptions)); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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 listAgentConversationResponsesSinglePage(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = service.listAgentConversationResponsesSync(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * List responses in a voice agent conversation + * + * Returns a paged collection of the responses (model inference turns) recorded for the specified + * conversation. The per-response `output` projection may be omitted here; use the response-items route + * for the canonical paged output. Returns `404` when the conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose responses 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 listAgentConversationResponses(String agentName, String conversationId, + RequestOptions requestOptions) { + return new PagedIterable<>( + () -> listAgentConversationResponsesSinglePage(agentName, conversationId, requestOptions)); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @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 response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationResponseWithResponseAsync(String agentName, + String conversationId, String responseId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.getAgentConversationResponse(this.client.getEndpoint(), agentName, conversationId, + responseId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a voice agent conversation response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status. Returns `404` when the conversation or response was not persisted (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(realtime.response) (Optional)
+     *     status: String(completed/cancelled/failed/incomplete/in_progress) (Optional)
+     *     status_details (Optional): {
+     *         type: String(completed/cancelled/failed/incomplete) (Optional)
+     *         reason: String(turn_detected/client_cancelled/max_output_tokens/content_filter) (Optional)
+     *         error (Optional): {
+     *             type: String (Optional)
+     *             code: String (Optional)
+     *         }
+     *     }
+     *     usage (Optional): {
+     *         total_tokens: Long (Optional)
+     *         input_tokens: Long (Optional)
+     *         output_tokens: Long (Optional)
+     *         input_token_details (Optional): {
+     *             cached_tokens: Long (Optional)
+     *             text_tokens: Long (Optional)
+     *             image_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *             cached_tokens_details (Optional): {
+     *                 text_tokens: Long (Optional)
+     *                 image_tokens: Long (Optional)
+     *                 audio_tokens: Long (Optional)
+     *             }
+     *         }
+     *         output_token_details (Optional): {
+     *             text_tokens: Long (Optional)
+     *             audio_tokens: Long (Optional)
+     *         }
+     *     }
+     *     output_modalities (Optional): [
+     *         String(text/audio) (Optional)
+     *     ]
+     *     max_output_tokens: BinaryData (Optional)
+     *     id: String (Required)
+     *     output (Optional): [
+     *          (Optional){
+     *             type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     *         }
+     *     ]
+     *     conversation_id: String (Required)
+     *     audio (Optional): {
+     *         output (Optional): {
+     *             voice: String (Optional)
+     *             voice_type: String(openai/azure-standard/azure-custom/azure-personal/avatar-voice-sync/azure-realtime-native) (Optional)
+     *             voice_locale: String (Optional)
+     *             format (Optional): {
+     *                 type: String(audio/pcm/audio/pcmu/audio/pcma) (Required)
+     *             }
+     *         }
+     *     }
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     temperature: Double (Optional)
+     *     created_at: Long (Optional)
+     *     completed_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response to retrieve. + * @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 response + * + * Retrieves a single response from the specified conversation by its id, including its `output` items, + * `usage`, and status along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationResponseWithResponse(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationResponseSync(this.client.getEndpoint(), agentName, conversationId, + responseId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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> listAgentConversationResponseItemsSinglePageAsync(String agentName, + String conversationId, String responseId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listAgentConversationResponseItems(this.client.getEndpoint(), agentName, + conversationId, responseId, this.client.getServiceVersion().getVersion(), accept, requestOptions, + context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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 listAgentConversationResponseItemsAsync(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return new PagedFlux<>(() -> listAgentConversationResponseItemsSinglePageAsync(agentName, conversationId, + responseId, requestOptions)); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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 listAgentConversationResponseItemsSinglePage(String agentName, + String conversationId, String responseId, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res + = service.listAgentConversationResponseItemsSync(this.client.getEndpoint(), agentName, conversationId, + responseId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * List items produced by a voice agent conversation response + * + * Returns a paged collection of the output items produced by a specific response (the response's output + * projection). For the complete ordered conversation history — including user input and client-created + * tool outputs — use the conversation items route instead. Returns `404` when the conversation or + * response was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation that contains the response. + * @param responseId The id of the response whose output items 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 listAgentConversationResponseItems(String agentName, String conversationId, + String responseId, RequestOptions requestOptions) { + return new PagedIterable<>( + () -> listAgentConversationResponseItemsSinglePage(agentName, conversationId, responseId, requestOptions)); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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> listAgentConversationItemsSinglePageAsync(String agentName, + String conversationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listAgentConversationItems(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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 listAgentConversationItemsAsync(String agentName, String conversationId, + RequestOptions requestOptions) { + return new PagedFlux<>( + () -> listAgentConversationItemsSinglePageAsync(agentName, conversationId, requestOptions)); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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 listAgentConversationItemsSinglePage(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = service.listAgentConversationItemsSync(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * List items in a voice agent conversation + * + * Returns a paged collection of items — the complete ordered conversation history, including user input, + * assistant output, and client-created tool outputs (transcripts + tool events). Returns `404` when the + * conversation was not persisted (`store = false`). + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose items 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 listAgentConversationItems(String agentName, String conversationId, + RequestOptions requestOptions) { + return new PagedIterable<>( + () -> listAgentConversationItemsSinglePage(agentName, conversationId, requestOptions)); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @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 to retrieve. + * @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 + * + * Retrieves a single item from the specified conversation by its id, including its transcript along with + * {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationItemWithResponseAsync(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAgentConversationItem(this.client.getEndpoint(), agentName, + conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a voice agent conversation item + * + * Retrieves a single item from the specified conversation by its id, including its transcript. An + * `input_audio`/`output_audio` content part indicates that audio is available for the item; the canonical per-item + * audio metadata is the `/items/{item_id}/audio` resource, and the bytes are streamed by + * `/items/{item_id}/audio/content`. Returns `404` when the conversation or item was not persisted + * (`store = false`). + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     type: String(function_call/function_call_output/mcp_approval_response/mcp_list_tools/mcp_call/mcp_approval_request/message) (Required)
+     * }
+     * }
+     * 
+ * + * @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 to retrieve. + * @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 + * + * Retrieves a single item from the specified conversation by its id, including its transcript along with + * {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationItemSync(this.client.getEndpoint(), agentName, conversationId, itemId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + *

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 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 audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationAudioItemWithResponseAsync(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.getAgentConversationAudioItem(this.client.getEndpoint(), agentName, + conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a voice agent conversation item's audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted. + *

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 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 audio metadata + * + * Returns metadata for a single conversation item's audio segment, including the common playback facts + * (role, format/codec, sample rate, channels, offset, duration) for both Foundry-managed and + * bring-your-own-storage (BYOS) recordings; for BYOS the response additionally includes `blob_uri`, the URI + * of the recording in the customer's own storage (no SAS) that the customer downloads with their own credentials. + * Requires the conversation to have persisted audio (`store = true`); returns `404` when the conversation, + * item, or its audio was not persisted along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationAudioItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationAudioItemSync(this.client.getEndpoint(), agentName, conversationId, itemId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + *

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 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> downloadAgentConversationAudioItemWithResponseAsync(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "audio/wav"; + return FluxUtil + .withContext(context -> service.downloadAgentConversationAudioItem(this.client.getEndpoint(), agentName, + conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Stream a voice agent conversation item's audio + * + * Streams a single conversation item's audio as a WAV (`audio/wav`) byte stream through the service (no SAS + * URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) recordings the + * bytes are not proxied — the caller must download directly from customer storage using the `blob_uri` + * returned by the item's `/audio` metadata route — so this route returns `409 Conflict` for BYOS recordings. + * Returns `404` when the conversation, item, or its audio was not persisted (`store = false`). + *

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 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 downloadAgentConversationAudioItemWithResponse(String agentName, String conversationId, + String itemId, RequestOptions requestOptions) { + final String accept = "audio/wav"; + return service.downloadAgentConversationAudioItemSync(this.client.getEndpoint(), agentName, conversationId, + itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * 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> getAgentConversationGeneratedAudioItemWithResponseAsync(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.getAgentConversationGeneratedAudioItem(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 getAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationGeneratedAudioItemSync(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> downloadAgentConversationGeneratedAudioItemWithResponseAsync(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "audio/wav"; + return FluxUtil.withContext( + context -> service.downloadAgentConversationGeneratedAudioItem(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 downloadAgentConversationGeneratedAudioItemWithResponse(String agentName, + String conversationId, String itemId, RequestOptions requestOptions) { + final String accept = "audio/wav"; + return service.downloadAgentConversationGeneratedAudioItemSync(this.client.getEndpoint(), agentName, + conversationId, itemId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conversation_id: String (Required)
+     *     format: String(wav) (Required)
+     *     sample_rate: int (Required)
+     *     channels: int (Required)
+     *     channel_layout (Required): {
+     *         left: String (Required)
+     *         right: String (Required)
+     *     }
+     *     duration_ms: long (Required)
+     *     blob_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right) along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentConversationAudioWithResponseAsync(String agentName, + String conversationId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAgentConversationAudio(this.client.getEndpoint(), agentName, + conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a voice agent conversation's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right). The common metadata (format, sample rate, channels, channel layout, duration) is returned + * for both Foundry-managed and bring-your-own-storage (BYOS) recordings; for BYOS the response additionally + * includes `blob_uri`, the URI of the recording in the customer's own storage (no SAS) that the customer downloads + * with their own credentials. The recording is built once from the per-turn segments after persistence + * finalization succeeds. While the conversation is `in_progress`, this route returns retriable `409 Conflict` + * with `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, metadata is available subject to the existing BYOS behavior. Requires the + * conversation to have persisted audio (`store = true`); otherwise returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     conversation_id: String (Required)
+     *     format: String(wav) (Required)
+     *     sample_rate: int (Required)
+     *     channels: int (Required)
+     *     channel_layout (Required): {
+     *         left: String (Required)
+     *         right: String (Required)
+     *     }
+     *     duration_ms: long (Required)
+     *     blob_uri: String (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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's merged recording metadata + * + * Returns metadata for the whole-call merged stereo recording (user audio on the left channel, agent audio + * on the right) along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentConversationAudioWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentConversationAudioSync(this.client.getEndpoint(), agentName, conversationId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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> downloadAgentConversationAudioWithResponseAsync(String agentName, + String conversationId, RequestOptions requestOptions) { + final String accept = "audio/wav"; + return FluxUtil.withContext(context -> service.downloadAgentConversationAudio(this.client.getEndpoint(), + agentName, conversationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Stream a voice agent conversation's merged recording + * + * Streams the whole-call merged stereo recording as a WAV (`audio/wav`) byte stream through the service + * (no SAS URL). This route serves Foundry-managed storage only. For bring-your-own-storage (BYOS) + * recordings the bytes are not proxied — the caller must download directly from customer storage using the + * `blob_uri` returned by the metadata route — so this route returns `409 Conflict` for BYOS recordings. + * While the conversation is `in_progress`, this route returns retriable `409 Conflict` with + * `error.code = recording_not_ready` and a `Retry-After` header when retry guidance is available. When the + * conversation is `failed`, it returns terminal `409 Conflict` with `error.code = recording_unavailable`. + * For a `completed` conversation, content is available subject to the existing BYOS behavior. A conversation + * without persisted audio (`store = false`) returns `404`. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
+     * }
+     * 
+ * + * @param agentName The name of the agent. + * @param conversationId The id of the conversation whose merged recording 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 downloadAgentConversationAudioWithResponse(String agentName, String conversationId, + RequestOptions requestOptions) { + final String accept = "audio/wav"; + return service.downloadAgentConversationAudioSync(this.client.getEndpoint(), agentName, conversationId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + private List getValues(BinaryData binaryData, String... path) { + try { + Object value = binaryData.toObject(Map.class); + for (String segment : path) { + value = ((Map) value).get(segment); + } + List values = (List) value; + return values.stream().map(BinaryData::fromObject).collect(Collectors.toList()); + } catch (RuntimeException e) { + return null; + } + } + + private String getNextLink(BinaryData binaryData, String... path) { + try { + Object value = binaryData.toObject(Map.class); + for (String segment : path) { + value = ((Map) value).get(segment); + } + return (String) value; + } catch (RuntimeException e) { + return null; + } + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.java new file mode 100644 index 0000000000000..a836bf91044b7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.java @@ -0,0 +1,4837 @@ +// 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.ai.agents.models.TelephonyOperation; +import com.azure.ai.agents.models.TelephonyOperationResource; +import com.azure.core.annotation.BodyParam; +import com.azure.core.annotation.Delete; +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.Patch; +import com.azure.core.annotation.PathParam; +import com.azure.core.annotation.Post; +import com.azure.core.annotation.Put; +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.HttpHeaderName; +import com.azure.core.http.rest.PagedFlux; +import com.azure.core.http.rest.PagedIterable; +import com.azure.core.http.rest.PagedResponse; +import com.azure.core.http.rest.PagedResponseBase; +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.CoreUtils; +import com.azure.core.util.DateTimeRfc1123; +import com.azure.core.util.FluxUtil; +import com.azure.core.util.polling.PollerFlux; +import com.azure.core.util.polling.PollingStrategyOptions; +import com.azure.core.util.polling.SyncPoller; +import com.azure.core.util.serializer.TypeReference; +import java.time.Duration; +import java.time.OffsetDateTime; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import reactor.core.publisher.Mono; + +/** + * An instance of this class provides access to all the operations defined in BetaVoiceAgentsTelephonies. + */ +public final class BetaVoiceAgentsTelephoniesImpl { + /** + * The proxy service used to perform REST calls. + */ + private final BetaVoiceAgentsTelephoniesService service; + + /** + * The service client containing this operation class. + */ + private final AgentsClientImpl client; + + /** + * Initializes an instance of BetaVoiceAgentsTelephoniesImpl. + * + * @param client the instance of the service client containing this operation class. + */ + BetaVoiceAgentsTelephoniesImpl(AgentsClientImpl client) { + this.service = RestProxy.create(BetaVoiceAgentsTelephoniesService.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 AgentsClientBetaVoiceAgentsTelephonies to be used by the proxy + * service to perform REST calls. + */ + @Host("{endpoint}") + @ServiceInterface(name = "AgentsClientBetaVoiceAgentsTelephonies") + public interface BetaVoiceAgentsTelephoniesService { + @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 telephonyBinding, 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 telephonyBinding, 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); + + @Post("/agents/{agent_name}/telephony/call_jobs") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createTelephonyCallJob(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @HeaderParam("Idempotency-Key") String idempotencyKey, + @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/call_jobs") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createTelephonyCallJobSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @HeaderParam("Idempotency-Key") String idempotencyKey, + @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/call_jobs/{call_job_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> getTelephonyCallJob(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("call_job_id") String callJobId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/telephony/call_jobs/{call_job_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 getTelephonyCallJobSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("call_job_id") String callJobId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/call_jobs/{call_job_id}:cancel") + @ExpectedResponses({ 200, 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> cancelTelephonyCallJob(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("call_job_id") String callJobId, + @HeaderParam("If-Match") String ifMatch, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/call_jobs/{call_job_id}:cancel") + @ExpectedResponses({ 200, 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response cancelTelephonyCallJobSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("call_job_id") String callJobId, + @HeaderParam("If-Match") String ifMatch, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> createTelephonyCampaign(@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/campaigns") + @ExpectedResponses({ 201 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response createTelephonyCampaignSync(@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/campaigns/{campaign_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> getTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/telephony/campaigns/{campaign_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 getTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}/recipients:import") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> importTelephonyCampaignRecipients(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @HeaderParam("Idempotency-Key") String idempotencyKey, @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/campaigns/{campaign_id}/recipients:import") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response importTelephonyCampaignRecipientsSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @HeaderParam("Idempotency-Key") String idempotencyKey, @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/campaigns/{campaign_id}/recipient_imports/{import_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> getTelephonyCampaignRecipientImport(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @PathParam("import_id") String importId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/telephony/campaigns/{campaign_id}/recipient_imports/{import_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 getTelephonyCampaignRecipientImportSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @PathParam("import_id") String importId, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:validate") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> validateTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:validate") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response validateTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:publish") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> publishTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @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/campaigns/{campaign_id}:publish") + @ExpectedResponses({ 202 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response publishTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @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/campaigns/{campaign_id}:pause") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> pauseTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:pause") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response pauseTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:resume") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> resumeTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:resume") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response resumeTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:cancel") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> cancelTelephonyCampaign(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}/telephony/campaigns/{campaign_id}:cancel") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response cancelTelephonyCampaignSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("campaign_id") String campaignId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/telephony/operations/{operation_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> getTelephonyOperation(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("operation_id") String operationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/agents/{agent_name}/telephony/operations/{operation_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 getTelephonyOperationSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @PathParam("operation_id") String operationId, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + *

Header Parameters

+ * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 telephonyBinding 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 telephonyBinding, 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, telephonyBinding, requestOptionsLocal, + context)); + } + + /** + * Create an agent telephony binding + * + * Creates a telephony binding for the voice agent named in the path. + *

Header Parameters

+ * + * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
repeatability-request-idStringNoRepeatability request ID header
repeatability-first-sentStringNoRepeatability first sent header as + * HTTP-date
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 telephonyBinding 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 telephonyBinding, + 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, telephonyBinding, requestOptionsLocal, + Context.NONE); + } + + /** + * List agent telephony bindings + * + * Returns the telephony bindings owned by the voice agent named in the path. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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
NameTypeRequiredDescription
providerStringNoFilters bindings by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters bindings by lifecycle status. Allowed values: "active", + * "suspended".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     *     etag: String (Required)
+     * }
+     * }
+     * 
+ * + * @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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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_name: String (Optional)
+     *     phone_number: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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_name: String (Optional)
+     *     phone_number: String (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     provider: String(teams_phone_extension/twilio) (Required)
+     *     id: String (Required)
+     *     connection_name: String (Required)
+     *     label: String (Optional)
+     *     status: String(active/suspended) (Required)
+     *     incoming_call_url: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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
NameTypeRequiredDescription
providerStringNoFilters calls by provider. Allowed values: + * "teams_phone_extension", "twilio".
statusStringNoFilters calls by lifecycle status. Allowed values: + * "in_progress", "success", "failed".
started_afterOffsetDateTimeNoIncludes calls that started at or after this Unix + * timestamp in seconds.
started_beforeOffsetDateTimeNoIncludes calls that started at or before this + * Unix timestamp in seconds.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA 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.
beforeStringNoA 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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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_ms: Long (Optional)
+     *     end_reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (Optional)
+     *     provider_status_code: Integer (Optional)
+     *     provider_sub_code: Integer (Optional)
+     *     provider_message: String (Optional)
+     *     timing (Required): {
+     *         received_at: Long (Optional)
+     *         validated_at: Long (Optional)
+     *         admitted_at: Long (Optional)
+     *         answer_requested_at: Long (Optional)
+     *         answered_at: Long (Optional)
+     *         media_connected_at: Long (Optional)
+     *         agent_session_ready_at: Long (Optional)
+     *         first_caller_audio_at: Long (Optional)
+     *         first_agent_audio_at: Long (Optional)
+     *         ended_at: 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: long (Required)
+     *             occurred_at: Long (Optional)
+     *             timestamp_source: String(provider/gateway/derived) (Required)
+     *             reason: String(invalid_webhook_payload/webhook_validation_failed/binding_not_found/binding_suspended/admission_rejected/admission_check_failed/route_agent_mismatch/invalid_binding_configuration/credential_resolution_failed/provider_resource_mismatch/endpoint_resolution_failed/ingress_setup_failed/live_call_conflict/live_call_persistence_failed/answer_failed/provider_disconnected/provider_busy/provider_no_answer/provider_cancelled/provider_failed/provider_stream_error/provider_stream_stopped/agent_session_connect_failed/media_stream_ended/bridge_cancelled/bridge_failed/managed_hangup/managed_transfer/manage_hangup_failed/manage_transfer_failed) (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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     transfer_targets (Required): [
+     *          (Required){
+     *             name: String (Required)
+     *             description: String (Required)
+     *             destination (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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 (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     transfer_targets (Required): [
+     *          (Required){
+     *             name: String (Required)
+     *             description: String (Required)
+     *             destination (Required): {
+     *                 kind: String(pstn/teams/sip) (Required)
+     *             }
+     *         }
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe 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); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call 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 durable direct or campaign-created outbound call intent along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTelephonyCallJobWithResponseAsync(String agentName, String idempotencyKey, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.createTelephonyCallJob(this.client.getEndpoint(), agentName, idempotencyKey, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Create an outbound telephony call job + * + * Creates one durable direct outbound call job. The latest agent definition is resolved when each attempt executes. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The name of the voice agent that executes the call. + * @param idempotencyKey A customer-generated idempotency key. Reusing it with an equivalent request returns the + * same call job. + * @param body The direct outbound call 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 durable direct or campaign-created outbound call intent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTelephonyCallJobWithResponse(String agentName, String idempotencyKey, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createTelephonyCallJobSync(this.client.getEndpoint(), agentName, idempotencyKey, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId 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 an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCallJobWithResponseAsync(String agentName, String callJobId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTelephonyCallJob(this.client.getEndpoint(), agentName, + callJobId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId 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 an outbound telephony call job + * + * Retrieves a durable direct or campaign-created outbound call job along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCallJobWithResponse(String agentName, String callJobId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTelephonyCallJobSync(this.client.getEndpoint(), agentName, callJobId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @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 a durable direct or campaign-created outbound call intent along with {@link Response} on successful + * completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cancelTelephonyCallJobWithResponseAsync(String agentName, String callJobId, + String ifMatch, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.cancelTelephonyCallJob(this.client.getEndpoint(), agentName, + callJobId, ifMatch, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Cancel an outbound telephony call job + * + * Requests cancellation of a durable outbound call job. A connected call is allowed to finish. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     destination (Required): {
+     *         type: String(phone_number) (Required)
+     *         value: String (Required)
+     *     }
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     structured_inputs (Optional): {
+     *         String: BinaryData (Required)
+     *     }
+     *     schedule (Optional): {
+     *         not_before: Long (Optional)
+     *         expires_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     status: String(accepted/waiting_for_schedule/queued/dispatching/in_progress/waiting_for_retry/cancellation_requested/completed/blocked/expired/failed/cancelled) (Required)
+     *     cancellation (Optional): {
+     *         requested_by: String (Required)
+     *         mode: String (Required)
+     *         requested_at: long (Required)
+     *         revision: long (Required)
+     *     }
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     attempt_count: int (Required)
+     *     next_attempt_at: Long (Optional)
+     *     terminal_reason: String(no_answer/no_answer_timeout/answer_failed/bridge_cancelled/bridge_failed/voice_session_configuration_invalid/connection_project_mismatch/outbound_connection_changed/outbound_connection_unavailable/telephony_binding_invalid/telephony_binding_not_found/telephony_binding_inactive/telephony_binding_changed/campaign_not_found/campaign_cancelled/campaign_completed/campaign_failed/origination_fence_not_recorded/origination_reconciliation_timeout/cancellation_reconciliation_timeout/provider_callback_timeout_cancellation_reconciliation_timeout) (Optional)
+     *     revision: long (Required)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + * + * + *
Response Headers
NameTypeDescription
ETagStringThe ETag response header.
LocationStringThe Location response header.
Retry-AfterDurationThe Retry-After response header.
+ * + * @param agentName The agentName parameter. + * @param callJobId The callJobId parameter. + * @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 a durable direct or campaign-created outbound call intent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cancelTelephonyCallJobWithResponse(String agentName, String callJobId, String ifMatch, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.cancelTelephonyCallJobSync(this.client.getEndpoint(), agentName, callJobId, ifMatch, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
LocationStringThe Location response header.
+ * + * @param agentName The agentName parameter. + * @param body The body 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createTelephonyCampaignWithResponseAsync(String agentName, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createTelephonyCampaign(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Create an outbound telephony campaign + * + * Creates a draft outbound campaign. Recipients are imported and validated before the campaign can be published. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     retry_policy (Optional): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: Integer (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + *

Response Headers

+ * + * + * + * + *
Response Headers
NameTypeDescription
LocationStringThe Location response header.
+ * + * @param agentName The agentName parameter. + * @param body The body 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createTelephonyCampaignWithResponse(String agentName, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createTelephonyCampaignSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts along + * with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTelephonyCampaign(this.client.getEndpoint(), agentName, + campaignId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an outbound telephony campaign + * + * Retrieves an outbound campaign, including configuration, execution state, and aggregate call-job counts along + * with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 an accepted outbound campaign operation along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> importTelephonyCampaignRecipientsWithResponseAsync(String agentName, + String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.importTelephonyCampaignRecipients(this.client.getEndpoint(), + agentName, campaignId, idempotencyKey, this.client.getServiceVersion().getVersion(), contentType, accept, + body, requestOptions, context)); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 an accepted outbound campaign operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response importTelephonyCampaignRecipientsWithResponse(String agentName, String campaignId, + String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.importTelephonyCampaignRecipientsSync(this.client.getEndpoint(), agentName, campaignId, + idempotencyKey, this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, + Context.NONE); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux + beginImportTelephonyCampaignRecipientsWithModelAsync(String agentName, String campaignId, String idempotencyKey, + BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.importTelephonyCampaignRecipientsWithResponseAsync(agentName, campaignId, idempotencyKey, body, + requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportTelephonyCampaignRecipientsWithModel( + String agentName, String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.importTelephonyCampaignRecipientsWithResponse(agentName, campaignId, idempotencyKey, body, + requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginImportTelephonyCampaignRecipientsAsync(String agentName, + String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.importTelephonyCampaignRecipientsWithResponseAsync(agentName, campaignId, idempotencyKey, body, + requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Import outbound telephony campaign recipients + * + * Starts an asynchronous import of campaign recipients from a Dataset CSV, JSON array, or JSONL file. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Optional)
+     *         recipient_key: String (Optional)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Optional)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param idempotencyKey The idempotencyKey parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginImportTelephonyCampaignRecipients(String agentName, + String campaignId, String idempotencyKey, BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.importTelephonyCampaignRecipientsWithResponse(agentName, campaignId, idempotencyKey, body, + requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     campaign_id: String (Required)
+     *     status: String(running/succeeded/failed) (Required)
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Required)
+     *         recipient_key: String (Required)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Required)
+     *     rows_processed: long (Required)
+     *     eligible_recipient_count: long (Required)
+     *     invalid_recipient_count: long (Required)
+     *     error_code: String (Optional)
+     *     error_message: String (Optional)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId 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 an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import along with {@link Response} on + * successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyCampaignRecipientImportWithResponseAsync(String agentName, + String campaignId, String importId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.getTelephonyCampaignRecipientImport(this.client.getEndpoint(), agentName, + campaignId, importId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     campaign_id: String (Required)
+     *     status: String(running/succeeded/failed) (Required)
+     *     source (Required): {
+     *         type: String (Required)
+     *         dataset_name: String (Required)
+     *         dataset_version: String (Required)
+     *         file_name: String (Required)
+     *         format: String(csv/json/jsonl) (Required)
+     *     }
+     *     mapping (Optional): {
+     *         destination: String (Required)
+     *         recipient_key: String (Required)
+     *         recipient_item_key: String (Optional)
+     *         not_before: String (Optional)
+     *         expires_at: String (Optional)
+     *     }
+     *     duplicate_handling: String(reject/keep_each/merge) (Required)
+     *     rows_processed: long (Required)
+     *     eligible_recipient_count: long (Required)
+     *     invalid_recipient_count: long (Required)
+     *     error_code: String (Optional)
+     *     error_message: String (Optional)
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param importId The importId 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 an outbound telephony campaign recipient import + * + * Retrieves the durable status and counters for a campaign recipient import along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyCampaignRecipientImportWithResponse(String agentName, String campaignId, + String importId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTelephonyCampaignRecipientImportSync(this.client.getEndpoint(), agentName, campaignId, + importId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an accepted outbound campaign operation along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> validateTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.validateTelephonyCampaign(this.client.getEndpoint(), agentName, + campaignId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 an accepted outbound campaign operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response validateTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.validateTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginValidateTelephonyCampaignWithModelAsync( + String agentName, String campaignId, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.validateTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller + beginValidateTelephonyCampaignWithModel(String agentName, String campaignId, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.validateTelephonyCampaignWithResponse(agentName, campaignId, requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginValidateTelephonyCampaignAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.validateTelephonyCampaignWithResponseAsync(agentName, campaignId, requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Validate an outbound telephony campaign + * + * Starts asynchronous validation of the current campaign draft and imported recipient snapshot. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginValidateTelephonyCampaign(String agentName, String campaignId, + RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.validateTelephonyCampaignWithResponse(agentName, campaignId, requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 an accepted outbound campaign operation along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> publishTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.publishTelephonyCampaign(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 an accepted outbound campaign operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Response publishTelephonyCampaignWithResponse(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.publishTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginPublishTelephonyCampaignWithModelAsync( + String agentName, String campaignId, BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.publishTelephonyCampaignWithResponseAsync(agentName, campaignId, body, requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginPublishTelephonyCampaignWithModel( + String agentName, String campaignId, BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.publishTelephonyCampaignWithResponse(agentName, campaignId, body, requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(TelephonyOperation.class), + TypeReference.createInstance(TelephonyOperationResource.class)); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link PollerFlux} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public PollerFlux beginPublishTelephonyCampaignAsync(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + return PollerFlux.create(Duration.ofSeconds(1), + () -> this.publishTelephonyCampaignWithResponseAsync(agentName, campaignId, body, requestOptions), + new com.azure.ai.agents.implementation.OperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Publish an outbound telephony campaign + * + * Permanently locks the validated campaign draft and starts asynchronous call-job materialization. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     validation_id: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     kind: String(recipient_import/validation/publish) (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     campaign_id: String (Required)
+     *     recipient_import_id: String (Optional)
+     *     created_at: Long (Optional)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId parameter. + * @param body The body 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 {@link SyncPoller} for polling of an accepted outbound campaign operation. + */ + @ServiceMethod(returns = ReturnType.LONG_RUNNING_OPERATION) + public SyncPoller beginPublishTelephonyCampaign(String agentName, String campaignId, + BinaryData body, RequestOptions requestOptions) { + return SyncPoller.createPoller(Duration.ofSeconds(1), + () -> this.publishTelephonyCampaignWithResponse(agentName, campaignId, body, requestOptions), + new com.azure.ai.agents.implementation.SyncOperationLocationPollingStrategy<>( + new PollingStrategyOptions(this.client.getHttpPipeline()) + .setEndpoint("{endpoint}".replace("{endpoint}", this.client.getEndpoint())) + .setContext(requestOptions != null && requestOptions.getContext() != null + ? requestOptions.getContext() + : Context.NONE) + .setServiceVersion(this.client.getServiceVersion().getVersion()), + "resource"), + TypeReference.createInstance(BinaryData.class), TypeReference.createInstance(BinaryData.class)); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> pauseTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.pauseTelephonyCampaign(this.client.getEndpoint(), agentName, + campaignId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Pause an outbound telephony campaign + * + * Pauses dispatch of call jobs owned by a published campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response pauseTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.pauseTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> resumeTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.resumeTelephonyCampaign(this.client.getEndpoint(), agentName, + campaignId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Resume an outbound telephony campaign + * + * Resumes dispatch of call jobs owned by a paused campaign. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response resumeTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.resumeTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> cancelTelephonyCampaignWithResponseAsync(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.cancelTelephonyCampaign(this.client.getEndpoint(), agentName, + campaignId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Cancel an outbound telephony campaign + * + * Cancels a campaign and prevents any further call-job dispatch. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     display_name: String (Required)
+     *     connection_name: String (Required)
+     *     source: String (Required)
+     *     purpose: String (Optional)
+     *     schedule (Optional): {
+     *         type: String(immediate/scheduled) (Required)
+     *         start_at: Long (Optional)
+     *     }
+     *     id: String (Required)
+     *     object: String (Required)
+     *     agent_name: String (Required)
+     *     configuration_status: String(draft/importing/validating/publishing/published/publish_failed) (Required)
+     *     execution_status: String(none/scheduled/running/paused/completed/failed/cancelled) (Required)
+     *     retry_policy (Required): {
+     *         type: String(fixed_interval) (Required)
+     *         max_attempts: int (Required)
+     *     }
+     *     latest_successful_validation_id: String (Optional)
+     *     active_validation_id: String (Optional)
+     *     active_recipient_import_id: String (Optional)
+     *     published_at: Long (Optional)
+     *     call_job_counts (Required): {
+     *         total: long (Required)
+     *         pending: long (Required)
+     *         in_progress: long (Required)
+     *         completed: long (Required)
+     *         failed: long (Required)
+     *         blocked: long (Required)
+     *         cancelled: long (Required)
+     *         expired: long (Required)
+     *     }
+     *     created_at: long (Required)
+     *     updated_at: long (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param campaignId The campaignId 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 a durable outbound campaign owned by a voice agent along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response cancelTelephonyCampaignWithResponse(String agentName, String campaignId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.cancelTelephonyCampaignSync(this.client.getEndpoint(), agentName, campaignId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     created_at: Long (Optional)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     resource (Optional): {
+     *         id: String (Required)
+     *         type: String (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param operationId The operationId 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 an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation along with {@link Response} on successful completion of + * {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getTelephonyOperationWithResponseAsync(String agentName, String operationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getTelephonyOperation(this.client.getEndpoint(), agentName, + operationId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     object: String (Required)
+     *     status: String(not_started/running/succeeded/failed/cancelled/unknown) (Required)
+     *     created_at: Long (Optional)
+     *     error (Optional): {
+     *         code: String (Required)
+     *         message: String (Required)
+     *         param: String (Optional)
+     *         type: String (Optional)
+     *         details (Optional): [
+     *             (recursive schema, see above)
+     *         ]
+     *         additionalInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     resource (Optional): {
+     *         id: String (Required)
+     *         type: String (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + * @param agentName The agentName parameter. + * @param operationId The operationId 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 an outbound telephony operation + * + * Retrieves an asynchronous outbound campaign operation along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getTelephonyOperationWithResponse(String agentName, String operationId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getTelephonyOperationSync(this.client.getEndpoint(), agentName, operationId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + private List getValues(BinaryData binaryData, String... path) { + try { + Object value = binaryData.toObject(Map.class); + for (String segment : path) { + value = ((Map) value).get(segment); + } + List values = (List) value; + return values.stream().map(BinaryData::fromObject).collect(Collectors.toList()); + } catch (RuntimeException e) { + return null; + } + } + + private String getNextLink(BinaryData binaryData, String... path) { + try { + Object value = binaryData.toObject(Map.class); + for (String segment : path) { + value = ((Map) value).get(segment); + } + return (String) value; + } catch (RuntimeException e) { + return null; + } + } +} 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 38525dbb12152..1528755d5cf5d 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; @@ -23,6 +24,23 @@ * This is the Helper class to enable json merge patch serialization for a model. */ public class JsonMergePatchHelper { + 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; + } + private static AgentEndpointConfigAccessor agentEndpointConfigAccessor; public interface AgentEndpointConfigAccessor { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/OpenAIJsonHelper.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/OpenAIJsonHelper.java index 53d1741f06fb5..fd6949a4fd62f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/OpenAIJsonHelper.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/OpenAIJsonHelper.java @@ -23,6 +23,8 @@ public final class OpenAIJsonHelper { + private static final ObjectMapper OPENAI_MODEL_MAPPER = ObjectMappers.jsonMapper(); + private static final ObjectMapper MAPPER = ObjectMappers.jsonMapper() .rebuild() .configure(MapperFeature.AUTO_DETECT_FIELDS, true) @@ -110,7 +112,7 @@ public static BinaryData toBinaryData(Object openAIObject) { return null; } try { - String json = MAPPER.writeValueAsString(openAIObject); + String json = OPENAI_MODEL_MAPPER.writeValueAsString(openAIObject); try (JsonReader reader = JsonProviders.createReader(new StringReader(json))) { reader.nextToken(); return BinaryData.fromObject(reader.readUntyped()); @@ -148,7 +150,7 @@ public static T fromBinaryData(BinaryData data, Class type) { return null; } try { - return MAPPER.readValue(data.toString(), type); + return OPENAI_MODEL_MAPPER.readValue(data.toString(), type); } catch (IOException e) { throw new RuntimeException("Failed to deserialize BinaryData to OpenAI type", e); } 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 0000000000000..2a1319f0f9932 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/ReplaceTelephonyTransferTargetsRequest.java @@ -0,0 +1,88 @@ +// 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 0000000000000..dce9efa92fd0b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/TransferTelephonyCallRequest.java @@ -0,0 +1,82 @@ +// 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/AgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java index bd2b34456daab..e592e63909611 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java @@ -114,6 +114,8 @@ public static AgentDefinition fromJson(JsonReader jsonReader) throws IOException return WorkflowAgentDefinition.fromJson(readerToUse.reset()); } else if ("external".equals(discriminatorValue)) { return ExternalAgentDefinition.fromJson(readerToUse.reset()); + } else if ("voice".equals(discriminatorValue)) { + return VoiceAgentDefinition.fromJson(readerToUse.reset()); } else { return fromJsonKnownDiscriminator(readerToUse.reset()); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java index 2d3bd91d0e3a7..74fa101efe21a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java @@ -78,4 +78,10 @@ public static Collection values() { */ @Generated public static final AgentEndpointProtocol INVOCATIONS_WS = fromString("invocations_ws"); + + /** + * Static value voice for AgentEndpointProtocol. + */ + @Generated + public static final AgentEndpointProtocol VOICE = fromString("voice"); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java index 2943eb468cb13..cca0fe0a0c8d5 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentHarness.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -15,6 +16,7 @@ * A managed runtime and agent loop used to execute a prompt agent. */ @Immutable +@Beta(warningText = "Preview API. GitHubCopilot=V1Preview") public class AgentHarness implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentKind.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentKind.java index 4e0afa59b582f..69d463910e665 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentKind.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentKind.java @@ -66,4 +66,10 @@ public static Collection values() { */ @Generated public static final AgentKind EXTERNAL = fromString("external"); + + /** + * Static value voice for AgentKind. + */ + @Generated + public static final AgentKind VOICE = fromString("voice"); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscription.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscription.java new file mode 100644 index 0000000000000..e8dedb092f651 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscription.java @@ -0,0 +1,298 @@ +// 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.util.List; + +/** + * The AudioTranscription model. + */ +@Fluent +public final class AudioTranscription implements JsonSerializable { + + /* + * The model to use for transcription. Current options are `whisper-1`, `gpt-transcribe`, `gpt-live-transcribe`, + * `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`, `gpt-4o-transcribe-diarize`, + * and `gpt-realtime-whisper`. Use `gpt-4o-transcribe-diarize` when you need diarization with speaker labels. + */ + @Generated + private AudioTranscriptionModel model; + + /* + * + * The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + */ + @Generated + private String language; + + /* + * Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) + * format. Supported by `gpt-transcribe` and `gpt-live-transcribe`. + */ + @Generated + private List languages; + + /* + * Words or phrases to guide transcription of the input audio. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + */ + @Generated + private List keywords; + + /* + * + * An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + */ + @Generated + private String prompt; + + /* + * Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + */ + @Generated + private VoiceAgentAudioInputConfigTranscriptionDelay delay; + + /** + * Creates an instance of AudioTranscription class. + */ + @Generated + public AudioTranscription() { + } + + /** + * Get the model property: The model to use for transcription. Current options are `whisper-1`, `gpt-transcribe`, + * `gpt-live-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`, + * `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`. Use `gpt-4o-transcribe-diarize` when you need + * diarization with speaker labels. + * + * @return the model value. + */ + @Generated + public AudioTranscriptionModel getModel() { + return this.model; + } + + /** + * Set the model property: The model to use for transcription. Current options are `whisper-1`, `gpt-transcribe`, + * `gpt-live-transcribe`, `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `gpt-4o-transcribe`, + * `gpt-4o-transcribe-diarize`, and `gpt-realtime-whisper`. Use `gpt-4o-transcribe-diarize` when you need + * diarization with speaker labels. + * + * @param model the model value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setModel(AudioTranscriptionModel model) { + this.model = model; + return this; + } + + /** + * Get the language property: + * The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Set the language property: + * The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + * + * @param language the language value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setLanguage(String language) { + this.language = language; + return this; + } + + /** + * Get the languages property: Possible languages of the input audio, in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Set the languages property: Possible languages of the input audio, in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + * + * @param languages the languages value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setLanguages(List languages) { + this.languages = languages; + return this; + } + + /** + * Get the keywords property: Words or phrases to guide transcription of the input audio. Supported by + * `gpt-transcribe` and `gpt-live-transcribe`. + * + * @return the keywords value. + */ + @Generated + public List getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: Words or phrases to guide transcription of the input audio. Supported by + * `gpt-transcribe` and `gpt-live-transcribe`. + * + * @param keywords the keywords value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setKeywords(List keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the prompt property: + * An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @return the prompt value. + */ + @Generated + public String getPrompt() { + return this.prompt; + } + + /** + * Set the prompt property: + * An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @param prompt the prompt value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setPrompt(String prompt) { + this.prompt = prompt; + return this; + } + + /** + * Get the delay property: Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @return the delay value. + */ + @Generated + public VoiceAgentAudioInputConfigTranscriptionDelay getDelay() { + return this.delay; + } + + /** + * Set the delay property: Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @param delay the delay value to set. + * @return the AudioTranscription object itself. + */ + @Generated + public AudioTranscription setDelay(VoiceAgentAudioInputConfigTranscriptionDelay delay) { + this.delay = delay; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("model", this.model == null ? null : this.model.toString()); + jsonWriter.writeStringField("language", this.language); + jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("keywords", this.keywords, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("prompt", this.prompt); + jsonWriter.writeStringField("delay", this.delay == null ? null : this.delay.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AudioTranscription from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of AudioTranscription 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 AudioTranscription. + */ + @Generated + public static AudioTranscription fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + AudioTranscription deserializedAudioTranscription = new AudioTranscription(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("model".equals(fieldName)) { + deserializedAudioTranscription.model = AudioTranscriptionModel.fromString(reader.getString()); + } else if ("language".equals(fieldName)) { + deserializedAudioTranscription.language = reader.getString(); + } else if ("languages".equals(fieldName)) { + List languages = reader.readArray(reader1 -> reader1.getString()); + deserializedAudioTranscription.languages = languages; + } else if ("keywords".equals(fieldName)) { + List keywords = reader.readArray(reader1 -> reader1.getString()); + deserializedAudioTranscription.keywords = keywords; + } else if ("prompt".equals(fieldName)) { + deserializedAudioTranscription.prompt = reader.getString(); + } else if ("delay".equals(fieldName)) { + deserializedAudioTranscription.delay + = VoiceAgentAudioInputConfigTranscriptionDelay.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedAudioTranscription; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.java new file mode 100644 index 0000000000000..d2b925e7679c0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.java @@ -0,0 +1,94 @@ +// 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; + +/** + * Defines values for AudioTranscriptionModel. + */ +public final class AudioTranscriptionModel extends ExpandableStringEnum { + + /** + * Static value whisper-1 for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel WHISPER_1 = fromString("whisper-1"); + + /** + * Static value gpt-transcribe for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_TRANSCRIBE = fromString("gpt-transcribe"); + + /** + * Static value gpt-live-transcribe for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_LIVE_TRANSCRIBE = fromString("gpt-live-transcribe"); + + /** + * Static value gpt-4o-mini-transcribe for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_4O_MINI_TRANSCRIBE = fromString("gpt-4o-mini-transcribe"); + + /** + * Static value gpt-4o-mini-transcribe-2025-12-15 for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_4O_MINI_TRANSCRIBE_2025_12_15 + = fromString("gpt-4o-mini-transcribe-2025-12-15"); + + /** + * Static value gpt-4o-transcribe for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_4O_TRANSCRIBE = fromString("gpt-4o-transcribe"); + + /** + * Static value gpt-4o-transcribe-diarize for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_4O_TRANSCRIBE_DIARIZE = fromString("gpt-4o-transcribe-diarize"); + + /** + * Static value gpt-realtime-whisper for AudioTranscriptionModel. + */ + @Generated + public static final AudioTranscriptionModel GPT_REALTIME_WHISPER = fromString("gpt-realtime-whisper"); + + /** + * Creates a new instance of AudioTranscriptionModel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public AudioTranscriptionModel() { + } + + /** + * Creates or finds a AudioTranscriptionModel from its string representation. + * + * @param name a name to look for. + * @return the corresponding AudioTranscriptionModel. + */ + @Generated + public static AudioTranscriptionModel fromString(String name) { + return fromString(name, AudioTranscriptionModel.class); + } + + /** + * Gets known AudioTranscriptionModel values. + * + * @return known AudioTranscriptionModel values. + */ + @Generated + public static Collection values() { + return values(AudioTranscriptionModel.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java index 6fd06a9bb034d..9cfae0c2804d4 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.core.util.BinaryData; @@ -185,6 +186,7 @@ public AzureCreateResponseOptions setUserSecurityContext(AzureUserSecurityContex * Returns a 400 (Bad Request) error when the target is not a Model Router endpoint. */ @Generated + @Beta(warningText = "Preview API. ModelRouterControls=V1Preview") private RoutingConfiguration routingConfig; /** @@ -195,6 +197,7 @@ public AzureCreateResponseOptions setUserSecurityContext(AzureUserSecurityContex * @return the routingConfig value. */ @Generated + @Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public RoutingConfiguration getRoutingConfig() { return this.routingConfig; } @@ -208,6 +211,7 @@ public RoutingConfiguration getRoutingConfig() { * @return the AzureCreateResponseOptions object itself. */ @Generated + @Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public AzureCreateResponseOptions setRoutingConfig(RoutingConfiguration routingConfig) { this.routingConfig = routingConfig; return this; diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java index 729740a0a9351..2ec768f9d3bf6 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * Definition of input parameters for the connection used by the Browser Automation Tool. */ @Immutable -@Beta(warningText = "Preview API. preview_tool") public final class BrowserAutomationToolConnectionParameters implements JsonSerializable { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java index 9f0bb642fb58f..72280f17ef86d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * Definition of input parameters for the Browser Automation Tool. */ @Immutable -@Beta(warningText = "Preview API. preview_tool") public final class BrowserAutomationToolParameters implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java index 87f25ed3d4ce6..58fd72cefe236 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java @@ -41,7 +41,7 @@ public final class CreateAgentVersionInput implements JsonSerializable { + String connectionName = null; + String label = null; + String resourceAccountObjectId = null; + TelephonyProvider provider = TelephonyProvider.TEAMS_PHONE_EXTENSION; + String phoneNumber = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else if ("resource_account_object_id".equals(fieldName)) { + resourceAccountObjectId = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else { + reader.skipChildren(); + } + } + CreateTeamsPhoneExtensionTelephonyBindingRequest deserializedCreateTeamsPhoneExtensionTelephonyBindingRequest + = new CreateTeamsPhoneExtensionTelephonyBindingRequest(connectionName, resourceAccountObjectId); + deserializedCreateTeamsPhoneExtensionTelephonyBindingRequest.setLabel(label); + deserializedCreateTeamsPhoneExtensionTelephonyBindingRequest.provider = provider; + deserializedCreateTeamsPhoneExtensionTelephonyBindingRequest.phoneNumber = phoneNumber; + return deserializedCreateTeamsPhoneExtensionTelephonyBindingRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java new file mode 100644 index 0000000000000..4ef01f2e6128c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.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.ai.agents.implementation.utils.Beta; +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; + +/** + * The request to create a telephony binding. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class CreateTelephonyBindingRequest implements JsonSerializable { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.fromString("CreateTelephonyBindingRequest"); + + /* + * An optional display label for the binding. + */ + @Generated + private String label; + + /** + * Creates an instance of CreateTelephonyBindingRequest class. + * + * @param connectionName the connectionName value to set. + */ + @Generated + public CreateTelephonyBindingRequest(String connectionName) { + this.connectionName = connectionName; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the label property: An optional display label for the binding. + * + * @return the label value. + */ + @Generated + public String getLabel() { + return this.label; + } + + /** + * Set the label property: An optional display label for the binding. + * + * @param label the label value to set. + * @return the CreateTelephonyBindingRequest object itself. + */ + @Generated + public CreateTelephonyBindingRequest setLabel(String label) { + this.label = label; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + jsonWriter.writeStringField("label", this.label); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateTelephonyBindingRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateTelephonyBindingRequest 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 CreateTelephonyBindingRequest. + */ + @Generated + public static CreateTelephonyBindingRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("provider".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("teams_phone_extension".equals(discriminatorValue)) { + return CreateTeamsPhoneExtensionTelephonyBindingRequest.fromJson(readerToUse.reset()); + } else if ("twilio".equals(discriminatorValue)) { + return CreateTwilioTelephonyBindingRequest.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static CreateTelephonyBindingRequest fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String connectionName = null; + TelephonyProvider provider = null; + String label = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else { + reader.skipChildren(); + } + } + CreateTelephonyBindingRequest deserializedCreateTelephonyBindingRequest + = new CreateTelephonyBindingRequest(connectionName); + deserializedCreateTelephonyBindingRequest.provider = provider; + deserializedCreateTelephonyBindingRequest.label = label; + return deserializedCreateTelephonyBindingRequest; + }); + } + + /* + * The Foundry connection name for the telephony provider. + */ + @Generated + private final String connectionName; + + /** + * Get the connectionName property: The Foundry connection name for the telephony provider. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java new file mode 100644 index 0000000000000..ff0b582a3add2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java @@ -0,0 +1,289 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.Map; + +/** + * A request to create one durable direct outbound call job. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class CreateTelephonyCallJobRequest implements JsonSerializable { + + /* + * The phone destination to call. + */ + @Generated + private final TelephonyOutboundDestination destination; + + /* + * An optional customer-declared purpose for placing the call. + */ + @Generated + private String purpose; + + /* + * Structured input values available to the agent and greeting for this call. Agent-declared inputs are validated + * against their schemas; omitted optional inputs may use their Agent-defined default values, while omitted required + * inputs are rejected. Additional inputs remain available as dynamic template variables. + */ + @Generated + private Map structuredInputs; + + /* + * The optional execution window. + */ + @Generated + private TelephonyCallJobSchedule schedule; + + /* + * The provider-attempt retry policy. Omit it for one attempt with no retry delay. + */ + @Generated + private TelephonyOutboundRetryPolicy retryPolicy; + + /** + * Get the destination property: The phone destination to call. + * + * @return the destination value. + */ + @Generated + public TelephonyOutboundDestination getDestination() { + return this.destination; + } + + /** + * Get the purpose property: An optional customer-declared purpose for placing the call. + * + * @return the purpose value. + */ + @Generated + public String getPurpose() { + return this.purpose; + } + + /** + * Set the purpose property: An optional customer-declared purpose for placing the call. + * + * @param purpose the purpose value to set. + * @return the CreateTelephonyCallJobRequest object itself. + */ + @Generated + public CreateTelephonyCallJobRequest setPurpose(String purpose) { + this.purpose = purpose; + return this; + } + + /** + * Get the structuredInputs property: Structured input values available to the agent and greeting for this call. + * Agent-declared inputs are validated against their schemas; omitted optional inputs may use their Agent-defined + * default values, while omitted required inputs are rejected. Additional inputs remain available as dynamic + * template variables. + * + * @return the structuredInputs value. + */ + @Generated + public Map getStructuredInputs() { + return this.structuredInputs; + } + + /** + * Set the structuredInputs property: Structured input values available to the agent and greeting for this call. + * Agent-declared inputs are validated against their schemas; omitted optional inputs may use their Agent-defined + * default values, while omitted required inputs are rejected. Additional inputs remain available as dynamic + * template variables. + * + * @param structuredInputs the structuredInputs value to set. + * @return the CreateTelephonyCallJobRequest object itself. + */ + @Generated + public CreateTelephonyCallJobRequest setStructuredInputs(Map structuredInputs) { + this.structuredInputs = structuredInputs; + return this; + } + + /** + * Get the schedule property: The optional execution window. + * + * @return the schedule value. + */ + @Generated + public TelephonyCallJobSchedule getSchedule() { + return this.schedule; + } + + /** + * Set the schedule property: The optional execution window. + * + * @param schedule the schedule value to set. + * @return the CreateTelephonyCallJobRequest object itself. + */ + @Generated + public CreateTelephonyCallJobRequest setSchedule(TelephonyCallJobSchedule schedule) { + this.schedule = schedule; + return this; + } + + /** + * Get the retryPolicy property: The provider-attempt retry policy. Omit it for one attempt with no retry delay. + * + * @return the retryPolicy value. + */ + @Generated + public TelephonyOutboundRetryPolicy getRetryPolicy() { + return this.retryPolicy; + } + + /** + * Set the retryPolicy property: The provider-attempt retry policy. Omit it for one attempt with no retry delay. + * + * @param retryPolicy the retryPolicy value to set. + * @return the CreateTelephonyCallJobRequest object itself. + */ + @Generated + public CreateTelephonyCallJobRequest setRetryPolicy(TelephonyOutboundRetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("destination", this.destination); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("source", this.source); + jsonWriter.writeStringField("purpose", this.purpose); + jsonWriter.writeMapField("structured_inputs", this.structuredInputs, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + jsonWriter.writeJsonField("schedule", this.schedule); + jsonWriter.writeJsonField("retry_policy", this.retryPolicy); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateTelephonyCallJobRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateTelephonyCallJobRequest 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 CreateTelephonyCallJobRequest. + */ + @Generated + public static CreateTelephonyCallJobRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyOutboundDestination destination = null; + String connectionName = null; + String source = null; + String purpose = null; + Map structuredInputs = null; + TelephonyCallJobSchedule schedule = null; + TelephonyOutboundRetryPolicy retryPolicy = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("destination".equals(fieldName)) { + destination = TelephonyOutboundDestination.fromJson(reader); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("source".equals(fieldName)) { + source = reader.getString(); + } else if ("purpose".equals(fieldName)) { + purpose = reader.getString(); + } else if ("structured_inputs".equals(fieldName)) { + structuredInputs = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } else if ("schedule".equals(fieldName)) { + schedule = TelephonyCallJobSchedule.fromJson(reader); + } else if ("retry_policy".equals(fieldName)) { + retryPolicy = TelephonyOutboundRetryPolicy.fromJson(reader); + } else { + reader.skipChildren(); + } + } + CreateTelephonyCallJobRequest deserializedCreateTelephonyCallJobRequest + = new CreateTelephonyCallJobRequest(destination, connectionName, source); + deserializedCreateTelephonyCallJobRequest.purpose = purpose; + deserializedCreateTelephonyCallJobRequest.structuredInputs = structuredInputs; + deserializedCreateTelephonyCallJobRequest.schedule = schedule; + deserializedCreateTelephonyCallJobRequest.retryPolicy = retryPolicy; + return deserializedCreateTelephonyCallJobRequest; + }); + } + + /* + * The Foundry connection name in the current project used to originate the call. Its category selects Twilio or + * Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. + */ + @Generated + private final String connectionName; + + /* + * The caller identity used to originate the call. For a Twilio connection, provide an authorized E.164 phone + * number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource + * Account object ID. The identity type is inferred from the connection category; originating does not change + * inbound routing. + */ + @Generated + private final String source; + + /** + * Creates an instance of CreateTelephonyCallJobRequest class. + * + * @param destination the destination value to set. + * @param connectionName the connectionName value to set. + * @param source the source value to set. + */ + @Generated + public CreateTelephonyCallJobRequest(TelephonyOutboundDestination destination, String connectionName, + String source) { + this.destination = destination; + this.connectionName = connectionName; + this.source = source; + } + + /** + * Get the connectionName property: The Foundry connection name in the current project used to originate the call. + * Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony binding + * is required. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } + + /** + * Get the source property: The caller identity used to originate the call. For a Twilio connection, provide an + * authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide + * the Teams Resource Account object ID. The identity type is inferred from the connection category; originating + * does not change inbound routing. + * + * @return the source value. + */ + @Generated + public String getSource() { + return this.source; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java new file mode 100644 index 0000000000000..6d5248caf3686 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java @@ -0,0 +1,238 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A request to create a draft outbound campaign. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class CreateTelephonyCampaignRequest implements JsonSerializable { + + /* + * A customer-visible name for the campaign. + */ + @Generated + private final String displayName; + + /* + * An optional customer-declared purpose for campaign calls. + */ + @Generated + private String purpose; + + /* + * When the published campaign becomes eligible to dispatch calls. + */ + @Generated + private TelephonyCampaignSchedule schedule; + + /* + * The provider-attempt retry policy inherited by every materialized call job. + */ + @Generated + private TelephonyOutboundRetryPolicy retryPolicy; + + /** + * Get the displayName property: A customer-visible name for the campaign. + * + * @return the displayName value. + */ + @Generated + public String getDisplayName() { + return this.displayName; + } + + /** + * Get the purpose property: An optional customer-declared purpose for campaign calls. + * + * @return the purpose value. + */ + @Generated + public String getPurpose() { + return this.purpose; + } + + /** + * Set the purpose property: An optional customer-declared purpose for campaign calls. + * + * @param purpose the purpose value to set. + * @return the CreateTelephonyCampaignRequest object itself. + */ + @Generated + public CreateTelephonyCampaignRequest setPurpose(String purpose) { + this.purpose = purpose; + return this; + } + + /** + * Get the schedule property: When the published campaign becomes eligible to dispatch calls. + * + * @return the schedule value. + */ + @Generated + public TelephonyCampaignSchedule getSchedule() { + return this.schedule; + } + + /** + * Set the schedule property: When the published campaign becomes eligible to dispatch calls. + * + * @param schedule the schedule value to set. + * @return the CreateTelephonyCampaignRequest object itself. + */ + @Generated + public CreateTelephonyCampaignRequest setSchedule(TelephonyCampaignSchedule schedule) { + this.schedule = schedule; + return this; + } + + /** + * Get the retryPolicy property: The provider-attempt retry policy inherited by every materialized call job. + * + * @return the retryPolicy value. + */ + @Generated + public TelephonyOutboundRetryPolicy getRetryPolicy() { + return this.retryPolicy; + } + + /** + * Set the retryPolicy property: The provider-attempt retry policy inherited by every materialized call job. + * + * @param retryPolicy the retryPolicy value to set. + * @return the CreateTelephonyCampaignRequest object itself. + */ + @Generated + public CreateTelephonyCampaignRequest setRetryPolicy(TelephonyOutboundRetryPolicy retryPolicy) { + this.retryPolicy = retryPolicy; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("display_name", this.displayName); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("source", this.source); + jsonWriter.writeStringField("purpose", this.purpose); + jsonWriter.writeJsonField("schedule", this.schedule); + jsonWriter.writeJsonField("retry_policy", this.retryPolicy); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateTelephonyCampaignRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateTelephonyCampaignRequest 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 CreateTelephonyCampaignRequest. + */ + @Generated + public static CreateTelephonyCampaignRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String displayName = null; + String connectionName = null; + String source = null; + String purpose = null; + TelephonyCampaignSchedule schedule = null; + TelephonyOutboundRetryPolicy retryPolicy = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("display_name".equals(fieldName)) { + displayName = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("source".equals(fieldName)) { + source = reader.getString(); + } else if ("purpose".equals(fieldName)) { + purpose = reader.getString(); + } else if ("schedule".equals(fieldName)) { + schedule = TelephonyCampaignSchedule.fromJson(reader); + } else if ("retry_policy".equals(fieldName)) { + retryPolicy = TelephonyOutboundRetryPolicy.fromJson(reader); + } else { + reader.skipChildren(); + } + } + CreateTelephonyCampaignRequest deserializedCreateTelephonyCampaignRequest + = new CreateTelephonyCampaignRequest(displayName, connectionName, source); + deserializedCreateTelephonyCampaignRequest.purpose = purpose; + deserializedCreateTelephonyCampaignRequest.schedule = schedule; + deserializedCreateTelephonyCampaignRequest.retryPolicy = retryPolicy; + return deserializedCreateTelephonyCampaignRequest; + }); + } + + /* + * The Foundry connection name in the current project used to originate campaign calls. Its category selects Twilio + * or Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. + */ + @Generated + private final String connectionName; + + /* + * The caller identity used to originate campaign calls. For a Twilio connection, provide an authorized E.164 phone + * number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource + * Account object ID. The identity type is inferred from the connection category; originating does not change + * inbound routing. + */ + @Generated + private final String source; + + /** + * Creates an instance of CreateTelephonyCampaignRequest class. + * + * @param displayName the displayName value to set. + * @param connectionName the connectionName value to set. + * @param source the source value to set. + */ + @Generated + public CreateTelephonyCampaignRequest(String displayName, String connectionName, String source) { + this.displayName = displayName; + this.connectionName = connectionName; + this.source = source; + } + + /** + * Get the connectionName property: The Foundry connection name in the current project used to originate campaign + * calls. Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony + * binding is required. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } + + /** + * Get the source property: The caller identity used to originate campaign calls. For a Twilio connection, provide + * an authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide + * the Teams Resource Account object ID. The identity type is inferred from the connection category; originating + * does not change inbound routing. + * + * @return the source value. + */ + @Generated + public String getSource() { + return this.source; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java new file mode 100644 index 0000000000000..65ec14f25ec4e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java @@ -0,0 +1,110 @@ +// 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; + +/** + * Token usage statistics for the request. + */ +@Immutable +public class CreateTranscriptionResponseJsonUsage implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private CreateTranscriptionResponseJsonUsageType type + = CreateTranscriptionResponseJsonUsageType.fromString("CreateTranscriptionResponseJsonUsage"); + + /** + * Creates an instance of CreateTranscriptionResponseJsonUsage class. + */ + @Generated + protected CreateTranscriptionResponseJsonUsage() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public CreateTranscriptionResponseJsonUsageType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateTranscriptionResponseJsonUsage from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateTranscriptionResponseJsonUsage 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 CreateTranscriptionResponseJsonUsage. + */ + @Generated + public static CreateTranscriptionResponseJsonUsage fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("duration".equals(discriminatorValue)) { + return TranscriptTextUsageDuration.fromJson(readerToUse.reset()); + } else if ("tokens".equals(discriminatorValue)) { + return TranscriptTextUsageTokens.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static CreateTranscriptionResponseJsonUsage fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + CreateTranscriptionResponseJsonUsage deserializedCreateTranscriptionResponseJsonUsage + = new CreateTranscriptionResponseJsonUsage(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedCreateTranscriptionResponseJsonUsage.type + = CreateTranscriptionResponseJsonUsageType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedCreateTranscriptionResponseJsonUsage; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java new file mode 100644 index 0000000000000..30c46abb17798 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.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; + +/** + * Defines values for CreateTranscriptionResponseJsonUsageType. + */ +public final class CreateTranscriptionResponseJsonUsageType + extends ExpandableStringEnum { + + /** + * Static value tokens for CreateTranscriptionResponseJsonUsageType. + */ + @Generated + public static final CreateTranscriptionResponseJsonUsageType TOKENS = fromString("tokens"); + + /** + * Static value duration for CreateTranscriptionResponseJsonUsageType. + */ + @Generated + public static final CreateTranscriptionResponseJsonUsageType DURATION = fromString("duration"); + + /** + * Creates a new instance of CreateTranscriptionResponseJsonUsageType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public CreateTranscriptionResponseJsonUsageType() { + } + + /** + * Creates or finds a CreateTranscriptionResponseJsonUsageType from its string representation. + * + * @param name a name to look for. + * @return the corresponding CreateTranscriptionResponseJsonUsageType. + */ + @Generated + public static CreateTranscriptionResponseJsonUsageType fromString(String name) { + return fromString(name, CreateTranscriptionResponseJsonUsageType.class); + } + + /** + * Gets known CreateTranscriptionResponseJsonUsageType values. + * + * @return known CreateTranscriptionResponseJsonUsageType values. + */ + @Generated + public static Collection values() { + return values(CreateTranscriptionResponseJsonUsageType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.java new file mode 100644 index 0000000000000..0e78695721d59 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The request to create a Twilio binding. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class CreateTwilioTelephonyBindingRequest extends CreateTelephonyBindingRequest { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.TWILIO; + + /* + * The Twilio E.164 phone number. + */ + @Generated + private final String phoneNumber; + + /** + * Creates an instance of CreateTwilioTelephonyBindingRequest class. + * + * @param connectionName the connectionName value to set. + * @param phoneNumber the phoneNumber value to set. + */ + @Generated + public CreateTwilioTelephonyBindingRequest(String connectionName, String phoneNumber) { + super(connectionName); + this.phoneNumber = phoneNumber; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + @Override + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the phoneNumber property: The Twilio E.164 phone number. + * + * @return the phoneNumber value. + */ + @Generated + public String getPhoneNumber() { + return this.phoneNumber; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public CreateTwilioTelephonyBindingRequest setLabel(String label) { + super.setLabel(label); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("connection_name", getConnectionName()); + jsonWriter.writeStringField("label", getLabel()); + jsonWriter.writeStringField("phone_number", this.phoneNumber); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateTwilioTelephonyBindingRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateTwilioTelephonyBindingRequest 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 CreateTwilioTelephonyBindingRequest. + */ + @Generated + public static CreateTwilioTelephonyBindingRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String connectionName = null; + String label = null; + String phoneNumber = null; + TelephonyProvider provider = TelephonyProvider.TWILIO; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + CreateTwilioTelephonyBindingRequest deserializedCreateTwilioTelephonyBindingRequest + = new CreateTwilioTelephonyBindingRequest(connectionName, phoneNumber); + deserializedCreateTwilioTelephonyBindingRequest.setLabel(label); + deserializedCreateTwilioTelephonyBindingRequest.provider = provider; + return deserializedCreateTwilioTelephonyBindingRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java index 6f254c7e176c1..2d22c73aa1a70 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -14,6 +15,7 @@ * The GitHub Copilot managed harness for prompt agents. */ @Immutable +@Beta(warningText = "Preview API. GitHubCopilot=V1Preview") public final class GitHubCopilotHarness extends AgentHarness { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java index 0c2d2ecb60519..e94b29a5f6334 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -15,6 +16,7 @@ * Configuration overrides for GitHub Copilot built-in tools. */ @Fluent +@Beta(warningText = "Preview API. GitHubCopilot=V1Preview") public final class GitHubCopilotToolsetPreview extends Tool { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ImportTelephonyCampaignRecipientsRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ImportTelephonyCampaignRecipientsRequest.java new file mode 100644 index 0000000000000..be848d951502b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ImportTelephonyCampaignRecipientsRequest.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A request to import campaign recipients from a Dataset CSV, JSON array, or JSONL file. Imported Agent-declared + * structured inputs follow the Agent definition's schema, required, and default-value semantics. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class ImportTelephonyCampaignRecipientsRequest + implements JsonSerializable { + + /* + * The source property. + */ + @Generated + private final TelephonyCampaignRecipientImportSource source; + + /* + * Mappings from recipient properties to source fields or columns. Omit this property or an individual entry to use + * same-named source fields. Destination and recipient-key source fields are required. Optional source fields may be + * absent, except the recipient item key when `duplicate_handling` is `keep_each`. + */ + @Generated + private TelephonyCampaignRecipientMappingRequest mapping; + + /* + * The duplicate_handling property. + */ + @Generated + private TelephonyCampaignDuplicateHandling duplicateHandling; + + /** + * Creates an instance of ImportTelephonyCampaignRecipientsRequest class. + * + * @param source the source value to set. + */ + @Generated + public ImportTelephonyCampaignRecipientsRequest(TelephonyCampaignRecipientImportSource source) { + this.source = source; + } + + /** + * Get the source property: The source property. + * + * @return the source value. + */ + @Generated + public TelephonyCampaignRecipientImportSource getSource() { + return this.source; + } + + /** + * Get the mapping property: Mappings from recipient properties to source fields or columns. Omit this property or + * an individual entry to use same-named source fields. Destination and recipient-key source fields are required. + * Optional source fields may be absent, except the recipient item key when `duplicate_handling` is `keep_each`. + * + * @return the mapping value. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest getMapping() { + return this.mapping; + } + + /** + * Set the mapping property: Mappings from recipient properties to source fields or columns. Omit this property or + * an individual entry to use same-named source fields. Destination and recipient-key source fields are required. + * Optional source fields may be absent, except the recipient item key when `duplicate_handling` is `keep_each`. + * + * @param mapping the mapping value to set. + * @return the ImportTelephonyCampaignRecipientsRequest object itself. + */ + @Generated + public ImportTelephonyCampaignRecipientsRequest setMapping(TelephonyCampaignRecipientMappingRequest mapping) { + this.mapping = mapping; + return this; + } + + /** + * Get the duplicateHandling property: The duplicate_handling property. + * + * @return the duplicateHandling value. + */ + @Generated + public TelephonyCampaignDuplicateHandling getDuplicateHandling() { + return this.duplicateHandling; + } + + /** + * Set the duplicateHandling property: The duplicate_handling property. + * + * @param duplicateHandling the duplicateHandling value to set. + * @return the ImportTelephonyCampaignRecipientsRequest object itself. + */ + @Generated + public ImportTelephonyCampaignRecipientsRequest + setDuplicateHandling(TelephonyCampaignDuplicateHandling duplicateHandling) { + this.duplicateHandling = duplicateHandling; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("source", this.source); + jsonWriter.writeJsonField("mapping", this.mapping); + jsonWriter.writeStringField("duplicate_handling", + this.duplicateHandling == null ? null : this.duplicateHandling.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ImportTelephonyCampaignRecipientsRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ImportTelephonyCampaignRecipientsRequest 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 ImportTelephonyCampaignRecipientsRequest. + */ + @Generated + public static ImportTelephonyCampaignRecipientsRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyCampaignRecipientImportSource source = null; + TelephonyCampaignRecipientMappingRequest mapping = null; + TelephonyCampaignDuplicateHandling duplicateHandling = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("source".equals(fieldName)) { + source = TelephonyCampaignRecipientImportSource.fromJson(reader); + } else if ("mapping".equals(fieldName)) { + mapping = TelephonyCampaignRecipientMappingRequest.fromJson(reader); + } else if ("duplicate_handling".equals(fieldName)) { + duplicateHandling = TelephonyCampaignDuplicateHandling.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + ImportTelephonyCampaignRecipientsRequest deserializedImportTelephonyCampaignRecipientsRequest + = new ImportTelephonyCampaignRecipientsRequest(source); + deserializedImportTelephonyCampaignRecipientsRequest.mapping = mapping; + deserializedImportTelephonyCampaignRecipientsRequest.duplicateHandling = duplicateHandling; + return deserializedImportTelephonyCampaignRecipientsRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsTool.java new file mode 100644 index 0000000000000..99aaab565fbea --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsTool.java @@ -0,0 +1,173 @@ +// 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; + +/** + * MCP list tools tool + * + * A tool available on an MCP server. + */ +@Fluent +public final class McpListToolsTool implements JsonSerializable { + + /* + * The name of the tool. + */ + @Generated + private final String name; + + /* + * The description property. + */ + @Generated + private String description; + + /* + * The JSON schema describing the tool's input. + */ + @Generated + private final McpListToolsToolInputSchema inputSchema; + + /* + * The annotations property. + */ + @Generated + private McpListToolsToolAnnotations annotations; + + /** + * Creates an instance of McpListToolsTool class. + * + * @param name the name value to set. + * @param inputSchema the inputSchema value to set. + */ + @Generated + public McpListToolsTool(String name, McpListToolsToolInputSchema inputSchema) { + this.name = name; + this.inputSchema = inputSchema; + } + + /** + * Get the name property: The name of the tool. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the description property: The description property. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description property. + * + * @param description the description value to set. + * @return the McpListToolsTool object itself. + */ + @Generated + public McpListToolsTool setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the inputSchema property: The JSON schema describing the tool's input. + * + * @return the inputSchema value. + */ + @Generated + public McpListToolsToolInputSchema getInputSchema() { + return this.inputSchema; + } + + /** + * Get the annotations property: The annotations property. + * + * @return the annotations value. + */ + @Generated + public McpListToolsToolAnnotations getAnnotations() { + return this.annotations; + } + + /** + * Set the annotations property: The annotations property. + * + * @param annotations the annotations value to set. + * @return the McpListToolsTool object itself. + */ + @Generated + public McpListToolsTool setAnnotations(McpListToolsToolAnnotations annotations) { + this.annotations = annotations; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeJsonField("input_schema", this.inputSchema); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeJsonField("annotations", this.annotations); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of McpListToolsTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of McpListToolsTool 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 McpListToolsTool. + */ + @Generated + public static McpListToolsTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + McpListToolsToolInputSchema inputSchema = null; + String description = null; + McpListToolsToolAnnotations annotations = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("input_schema".equals(fieldName)) { + inputSchema = McpListToolsToolInputSchema.fromJson(reader); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("annotations".equals(fieldName)) { + annotations = McpListToolsToolAnnotations.fromJson(reader); + } else { + reader.skipChildren(); + } + } + McpListToolsTool deserializedMcpListToolsTool = new McpListToolsTool(name, inputSchema); + deserializedMcpListToolsTool.description = description; + deserializedMcpListToolsTool.annotations = annotations; + return deserializedMcpListToolsTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.java new file mode 100644 index 0000000000000..d2cd31f5bf364 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolAnnotations.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.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 McpListToolsToolAnnotations model. + */ +@Immutable +public final class McpListToolsToolAnnotations implements JsonSerializable { + + /** + * Creates an instance of McpListToolsToolAnnotations class. + */ + @Generated + public McpListToolsToolAnnotations() { + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of McpListToolsToolAnnotations from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of McpListToolsToolAnnotations 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 McpListToolsToolAnnotations. + */ + @Generated + public static McpListToolsToolAnnotations fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + McpListToolsToolAnnotations deserializedMcpListToolsToolAnnotations = new McpListToolsToolAnnotations(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + reader.skipChildren(); + } + return deserializedMcpListToolsToolAnnotations; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.java new file mode 100644 index 0000000000000..e2c3dee813add --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/McpListToolsToolInputSchema.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.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 McpListToolsToolInputSchema model. + */ +@Immutable +public final class McpListToolsToolInputSchema implements JsonSerializable { + + /** + * Creates an instance of McpListToolsToolInputSchema class. + */ + @Generated + public McpListToolsToolInputSchema() { + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of McpListToolsToolInputSchema from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of McpListToolsToolInputSchema 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 McpListToolsToolInputSchema. + */ + @Generated + public static McpListToolsToolInputSchema fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + McpListToolsToolInputSchema deserializedMcpListToolsToolInputSchema = new McpListToolsToolInputSchema(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + reader.skipChildren(); + } + return deserializedMcpListToolsToolInputSchema; + }); + } +} 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 0000000000000..5502a6e90afde --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A PSTN destination for a telephony transfer target. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class PSTNTelephonyTransferDestination extends TelephonyTransferDestination { + + /* + * The telephony transfer destination type. + */ + @Generated + private TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.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 telephony transfer destination type. + * + * @return the kind value. + */ + @Generated + @Override + public TelephonyTransferDestinationKind 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("value", this.value); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + 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; + TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.PSTN; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("value".equals(fieldName)) { + value = reader.getString(); + } else if ("kind".equals(fieldName)) { + kind = TelephonyTransferDestinationKind.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + PSTNTelephonyTransferDestination deserializedPSTNTelephonyTransferDestination + = new PSTNTelephonyTransferDestination(value); + deserializedPSTNTelephonyTransferDestination.kind = kind; + return deserializedPSTNTelephonyTransferDestination; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java new file mode 100644 index 0000000000000..e4d82e082ba29 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java @@ -0,0 +1,93 @@ +// 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; + +/** + * The template for picking properties. + */ +@Fluent +public final class PickPropertiesVoiceAgentAudioConfig + implements JsonSerializable { + + /* + * Output (agent speech) audio configuration. + */ + @Generated + private VoiceAgentAudioOutputConfig output; + + /** + * Creates an instance of PickPropertiesVoiceAgentAudioConfig class. + */ + @Generated + public PickPropertiesVoiceAgentAudioConfig() { + } + + /** + * Get the output property: Output (agent speech) audio configuration. + * + * @return the output value. + */ + @Generated + public VoiceAgentAudioOutputConfig getOutput() { + return this.output; + } + + /** + * Set the output property: Output (agent speech) audio configuration. + * + * @param output the output value to set. + * @return the PickPropertiesVoiceAgentAudioConfig object itself. + */ + @Generated + public PickPropertiesVoiceAgentAudioConfig setOutput(VoiceAgentAudioOutputConfig output) { + this.output = output; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("output", this.output); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PickPropertiesVoiceAgentAudioConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PickPropertiesVoiceAgentAudioConfig 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 PickPropertiesVoiceAgentAudioConfig. + */ + @Generated + public static PickPropertiesVoiceAgentAudioConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + PickPropertiesVoiceAgentAudioConfig deserializedPickPropertiesVoiceAgentAudioConfig + = new PickPropertiesVoiceAgentAudioConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("output".equals(fieldName)) { + deserializedPickPropertiesVoiceAgentAudioConfig.output + = VoiceAgentAudioOutputConfig.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedPickPropertiesVoiceAgentAudioConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java index 4f4bbea787363..29cf7ec1bfb95 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java @@ -4,6 +4,7 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.core.util.BinaryData; @@ -478,6 +479,7 @@ public PromptAgentDefinition setReasoning(Reasoning reasoning) { * The managed runtime and agent loop used to execute this prompt agent. */ @Generated + @Beta(warningText = "Preview API. GitHubCopilot=V1Preview") private AgentHarness harness; /* @@ -485,6 +487,7 @@ public PromptAgentDefinition setReasoning(Reasoning reasoning) { * version is created. */ @Generated + @Beta(warningText = "Preview API. Skills=V1Preview") private List skills; /** @@ -493,6 +496,7 @@ public PromptAgentDefinition setReasoning(Reasoning reasoning) { * @return the harness value. */ @Generated + @Beta(warningText = "Preview API. GitHubCopilot=V1Preview") public AgentHarness getHarness() { return this.harness; } @@ -504,6 +508,7 @@ public AgentHarness getHarness() { * @return the PromptAgentDefinition object itself. */ @Generated + @Beta(warningText = "Preview API. GitHubCopilot=V1Preview") public PromptAgentDefinition setHarness(AgentHarness harness) { this.harness = harness; return this; @@ -516,6 +521,7 @@ public PromptAgentDefinition setHarness(AgentHarness harness) { * @return the skills value. */ @Generated + @Beta(warningText = "Preview API. Skills=V1Preview") public List getSkills() { return this.skills; } @@ -528,6 +534,7 @@ public List getSkills() { * @return the PromptAgentDefinition object itself. */ @Generated + @Beta(warningText = "Preview API. Skills=V1Preview") public PromptAgentDefinition setSkills(List skills) { this.skills = skills; return this; diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java new file mode 100644 index 0000000000000..5f31eeeb08a93 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A request to publish a validated outbound campaign draft. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class PublishTelephonyCampaignRequest implements JsonSerializable { + + /* + * The validation_id property. + */ + @Generated + private final String validationId; + + /** + * Creates an instance of PublishTelephonyCampaignRequest class. + * + * @param validationId the validationId value to set. + */ + @Generated + public PublishTelephonyCampaignRequest(String validationId) { + this.validationId = validationId; + } + + /** + * Get the validationId property: The validation_id property. + * + * @return the validationId value. + */ + @Generated + public String getValidationId() { + return this.validationId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("validation_id", this.validationId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PublishTelephonyCampaignRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PublishTelephonyCampaignRequest 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 PublishTelephonyCampaignRequest. + */ + @Generated + public static PublishTelephonyCampaignRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String validationId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("validation_id".equals(fieldName)) { + validationId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new PublishTelephonyCampaignRequest(validationId); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormats.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormats.java new file mode 100644 index 0000000000000..f5139706546b0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormats.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.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 RealtimeAudioFormats model. + */ +@Immutable +public class RealtimeAudioFormats implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeAudioFormatsType type = RealtimeAudioFormatsType.fromString("RealtimeAudioFormats"); + + /** + * Creates an instance of RealtimeAudioFormats class. + */ + @Generated + public RealtimeAudioFormats() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeAudioFormatsType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeAudioFormats from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeAudioFormats 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 RealtimeAudioFormats. + */ + @Generated + public static RealtimeAudioFormats fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("audio/pcm".equals(discriminatorValue)) { + return RealtimeAudioFormatsAudioPcm.fromJson(readerToUse.reset()); + } else if ("audio/pcmu".equals(discriminatorValue)) { + return RealtimeAudioFormatsAudioPcmu.fromJson(readerToUse.reset()); + } else if ("audio/pcma".equals(discriminatorValue)) { + return RealtimeAudioFormatsAudioPcma.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeAudioFormats fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeAudioFormats deserializedRealtimeAudioFormats = new RealtimeAudioFormats(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeAudioFormats.type = RealtimeAudioFormatsType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeAudioFormats; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java new file mode 100644 index 0000000000000..2b696fae47e12 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcm.java @@ -0,0 +1,111 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeAudioFormatsAudioPcm model. + */ +@Fluent +public final class RealtimeAudioFormatsAudioPcm extends RealtimeAudioFormats { + + /* + * The type property. + */ + @Generated + private RealtimeAudioFormatsType type = RealtimeAudioFormatsType.AUDIO_PCM; + + /* + * The rate property. + */ + @Generated + private RealtimeAudioFormatsAudioPcmRate rate; + + /** + * Creates an instance of RealtimeAudioFormatsAudioPcm class. + */ + @Generated + public RealtimeAudioFormatsAudioPcm() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeAudioFormatsType getType() { + return this.type; + } + + /** + * Get the rate property: The rate property. + * + * @return the rate value. + */ + @Generated + public RealtimeAudioFormatsAudioPcmRate getRate() { + return this.rate; + } + + /** + * Set the rate property: The rate property. + * + * @param rate the rate value to set. + * @return the RealtimeAudioFormatsAudioPcm object itself. + */ + @Generated + public RealtimeAudioFormatsAudioPcm setRate(RealtimeAudioFormatsAudioPcmRate rate) { + this.rate = rate; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("rate", this.rate == null ? null : this.rate.toInt()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeAudioFormatsAudioPcm from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeAudioFormatsAudioPcm 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 RealtimeAudioFormatsAudioPcm. + */ + @Generated + public static RealtimeAudioFormatsAudioPcm fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeAudioFormatsAudioPcm deserializedRealtimeAudioFormatsAudioPcm = new RealtimeAudioFormatsAudioPcm(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeAudioFormatsAudioPcm.type + = RealtimeAudioFormatsType.fromString(reader.getString()); + } else if ("rate".equals(fieldName)) { + deserializedRealtimeAudioFormatsAudioPcm.rate + = RealtimeAudioFormatsAudioPcmRate.fromInt(reader.getInt()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeAudioFormatsAudioPcm; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java new file mode 100644 index 0000000000000..e8812cefa7296 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmRate.java @@ -0,0 +1,49 @@ +// 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; + +/** + * Defines values for RealtimeAudioFormatsAudioPcmRate. + */ +public enum RealtimeAudioFormatsAudioPcmRate { + /** + * Enum value 24000. + */ + TWO_FOUR_ZERO_ZERO_ZERO(24000); + + /** + * The actual serialized value for a RealtimeAudioFormatsAudioPcmRate instance. + */ + private final int value; + + RealtimeAudioFormatsAudioPcmRate(int value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeAudioFormatsAudioPcmRate instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeAudioFormatsAudioPcmRate object, or null if unable to parse. + */ + public static RealtimeAudioFormatsAudioPcmRate fromInt(int value) { + RealtimeAudioFormatsAudioPcmRate[] items = RealtimeAudioFormatsAudioPcmRate.values(); + for (RealtimeAudioFormatsAudioPcmRate item : items) { + if (item.toInt() == value) { + return item; + } + } + return null; + } + + /** + * De-serializes the instance to int value. + * + * @return the int value. + */ + public int toInt() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java new file mode 100644 index 0000000000000..2897951925cba --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcma.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeAudioFormatsAudioPcma model. + */ +@Immutable +public final class RealtimeAudioFormatsAudioPcma extends RealtimeAudioFormats { + + /* + * The type property. + */ + @Generated + private RealtimeAudioFormatsType type = RealtimeAudioFormatsType.AUDIO_PCMA; + + /** + * Creates an instance of RealtimeAudioFormatsAudioPcma class. + */ + @Generated + public RealtimeAudioFormatsAudioPcma() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeAudioFormatsType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeAudioFormatsAudioPcma from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeAudioFormatsAudioPcma 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 RealtimeAudioFormatsAudioPcma. + */ + @Generated + public static RealtimeAudioFormatsAudioPcma fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeAudioFormatsAudioPcma deserializedRealtimeAudioFormatsAudioPcma + = new RealtimeAudioFormatsAudioPcma(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeAudioFormatsAudioPcma.type + = RealtimeAudioFormatsType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeAudioFormatsAudioPcma; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java new file mode 100644 index 0000000000000..f89c5ec399288 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsAudioPcmu.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeAudioFormatsAudioPcmu model. + */ +@Immutable +public final class RealtimeAudioFormatsAudioPcmu extends RealtimeAudioFormats { + + /* + * The type property. + */ + @Generated + private RealtimeAudioFormatsType type = RealtimeAudioFormatsType.AUDIO_PCMU; + + /** + * Creates an instance of RealtimeAudioFormatsAudioPcmu class. + */ + @Generated + public RealtimeAudioFormatsAudioPcmu() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeAudioFormatsType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeAudioFormatsAudioPcmu from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeAudioFormatsAudioPcmu 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 RealtimeAudioFormatsAudioPcmu. + */ + @Generated + public static RealtimeAudioFormatsAudioPcmu fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeAudioFormatsAudioPcmu deserializedRealtimeAudioFormatsAudioPcmu + = new RealtimeAudioFormatsAudioPcmu(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeAudioFormatsAudioPcmu.type + = RealtimeAudioFormatsType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeAudioFormatsAudioPcmu; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.java new file mode 100644 index 0000000000000..b38df842a4322 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeAudioFormatsType.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; + +/** + * Defines values for RealtimeAudioFormatsType. + */ +public final class RealtimeAudioFormatsType extends ExpandableStringEnum { + + /** + * Static value audio/pcm for RealtimeAudioFormatsType. + */ + @Generated + public static final RealtimeAudioFormatsType AUDIO_PCM = fromString("audio/pcm"); + + /** + * Static value audio/pcmu for RealtimeAudioFormatsType. + */ + @Generated + public static final RealtimeAudioFormatsType AUDIO_PCMU = fromString("audio/pcmu"); + + /** + * Static value audio/pcma for RealtimeAudioFormatsType. + */ + @Generated + public static final RealtimeAudioFormatsType AUDIO_PCMA = fromString("audio/pcma"); + + /** + * Creates a new instance of RealtimeAudioFormatsType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeAudioFormatsType() { + } + + /** + * Creates or finds a RealtimeAudioFormatsType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeAudioFormatsType. + */ + @Generated + public static RealtimeAudioFormatsType fromString(String name) { + return fromString(name, RealtimeAudioFormatsType.class); + } + + /** + * Gets known RealtimeAudioFormatsType values. + * + * @return known RealtimeAudioFormatsType values. + */ + @Generated + public static Collection values() { + return values(RealtimeAudioFormatsType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEvent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEvent.java new file mode 100644 index 0000000000000..c8a2189af1064 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEvent.java @@ -0,0 +1,129 @@ +// 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 realtime client event. + */ +@Immutable +public class RealtimeClientEvent implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.fromString("RealtimeClientEvent"); + + /** + * Creates an instance of RealtimeClientEvent class. + */ + @Generated + public RealtimeClientEvent() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEvent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEvent 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 RealtimeClientEvent. + */ + @Generated + public static RealtimeClientEvent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("conversation.item.create".equals(discriminatorValue)) { + return RealtimeClientEventConversationItemCreate.fromJson(readerToUse.reset()); + } else if ("conversation.item.delete".equals(discriminatorValue)) { + return RealtimeClientEventConversationItemDelete.fromJson(readerToUse.reset()); + } else if ("conversation.item.retrieve".equals(discriminatorValue)) { + return RealtimeClientEventConversationItemRetrieve.fromJson(readerToUse.reset()); + } else if ("conversation.item.truncate".equals(discriminatorValue)) { + return RealtimeClientEventConversationItemTruncate.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.append".equals(discriminatorValue)) { + return RealtimeClientEventInputAudioBufferAppend.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.clear".equals(discriminatorValue)) { + return RealtimeClientEventInputAudioBufferClear.fromJson(readerToUse.reset()); + } else if ("output_audio_buffer.clear".equals(discriminatorValue)) { + return RealtimeClientEventOutputAudioBufferClear.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.commit".equals(discriminatorValue)) { + return RealtimeClientEventInputAudioBufferCommit.fromJson(readerToUse.reset()); + } else if ("response.cancel".equals(discriminatorValue)) { + return RealtimeClientEventResponseCancel.fromJson(readerToUse.reset()); + } else if ("response.create".equals(discriminatorValue)) { + return RealtimeClientEventResponseCreate.fromJson(readerToUse.reset()); + } else if ("session.update".equals(discriminatorValue)) { + return RealtimeClientEventSessionUpdate.fromJson(readerToUse.reset()); + } else if ("rtc.call.sdp.create".equals(discriminatorValue)) { + return VoiceAgentClientEventRtcCallSdpCreate.fromJson(readerToUse.reset()); + } else if ("session.avatar.connect".equals(discriminatorValue)) { + return VoiceAgentClientEventSessionAvatarConnect.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeClientEvent fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEvent deserializedRealtimeClientEvent = new RealtimeClientEvent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEvent.type = RealtimeClientEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEvent; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java new file mode 100644 index 0000000000000..3f71c8f0aa05f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Add a new Item to the Conversation's context, including messages, function + * calls, and function call responses. This event can be used both to populate a + * "history" of the conversation and to add new items mid-stream, but has the + * current limitation that it cannot populate assistant audio messages. + * If successful, the server will respond with a `conversation.item.created` + * event, otherwise an `error` event will be sent. + */ +@Fluent +public final class RealtimeClientEventConversationItemCreate extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_CREATE; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * The ID of the preceding item after which the new item will be inserted. If not set, the new item will be appended + * to the end of the conversation. + * If set to `root`, the new item will be added to the beginning of the conversation. + * If set to an existing ID, it allows an item to be inserted mid-conversation. If the ID cannot be found, an error + * will be returned and the item will not be added. + */ + @Generated + private String previousItemId; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeClientEventConversationItemCreate class. + * + * @param item the item value to set. + */ + @Generated + public RealtimeClientEventConversationItemCreate(RealtimeConversationItem item) { + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventConversationItemCreate object itself. + */ + @Generated + public RealtimeClientEventConversationItemCreate setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the previousItemId property: The ID of the preceding item after which the new item will be inserted. If not + * set, the new item will be appended to the end of the conversation. + * If set to `root`, the new item will be added to the beginning of the conversation. + * If set to an existing ID, it allows an item to be inserted mid-conversation. If the ID cannot be found, an error + * will be returned and the item will not be added. + * + * @return the previousItemId value. + */ + @Generated + public String getPreviousItemId() { + return this.previousItemId; + } + + /** + * Set the previousItemId property: The ID of the preceding item after which the new item will be inserted. If not + * set, the new item will be appended to the end of the conversation. + * If set to `root`, the new item will be added to the beginning of the conversation. + * If set to an existing ID, it allows an item to be inserted mid-conversation. If the ID cannot be found, an error + * will be returned and the item will not be added. + * + * @param previousItemId the previousItemId value to set. + * @return the RealtimeClientEventConversationItemCreate object itself. + */ + @Generated + public RealtimeClientEventConversationItemCreate setPreviousItemId(String previousItemId) { + this.previousItemId = previousItemId; + return this; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("previous_item_id", this.previousItemId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventConversationItemCreate from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventConversationItemCreate 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 RealtimeClientEventConversationItemCreate. + */ + @Generated + public static RealtimeClientEventConversationItemCreate fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItem item = null; + RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_CREATE; + String eventId = null; + String previousItemId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("previous_item_id".equals(fieldName)) { + previousItemId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventConversationItemCreate deserializedRealtimeClientEventConversationItemCreate + = new RealtimeClientEventConversationItemCreate(item); + deserializedRealtimeClientEventConversationItemCreate.type = type; + deserializedRealtimeClientEventConversationItemCreate.eventId = eventId; + deserializedRealtimeClientEventConversationItemCreate.previousItemId = previousItemId; + return deserializedRealtimeClientEventConversationItemCreate; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java new file mode 100644 index 0000000000000..e815c97c21f81 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java @@ -0,0 +1,141 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event when you want to remove any item from the conversation + * history. The server will respond with a `conversation.item.deleted` event, + * unless the item does not exist in the conversation history, in which case the + * server will respond with an error. + */ +@Fluent +public final class RealtimeClientEventConversationItemDelete extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_DELETE; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * The ID of the item to delete. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeClientEventConversationItemDelete class. + * + * @param itemId the itemId value to set. + */ + @Generated + public RealtimeClientEventConversationItemDelete(String itemId) { + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventConversationItemDelete object itself. + */ + @Generated + public RealtimeClientEventConversationItemDelete setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the itemId property: The ID of the item to delete. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventConversationItemDelete from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventConversationItemDelete 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 RealtimeClientEventConversationItemDelete. + */ + @Generated + public static RealtimeClientEventConversationItemDelete fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String itemId = null; + RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_DELETE; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventConversationItemDelete deserializedRealtimeClientEventConversationItemDelete + = new RealtimeClientEventConversationItemDelete(itemId); + deserializedRealtimeClientEventConversationItemDelete.type = type; + deserializedRealtimeClientEventConversationItemDelete.eventId = eventId; + return deserializedRealtimeClientEventConversationItemDelete; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java new file mode 100644 index 0000000000000..72e3c1050db83 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java @@ -0,0 +1,142 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event when you want to retrieve the server's representation of a specific item in the conversation history. + * This is useful, for example, to inspect user audio after noise cancellation and VAD. + * The server will respond with a `conversation.item.retrieved` event, + * unless the item does not exist in the conversation history, in which case the + * server will respond with an error. + */ +@Fluent +public final class RealtimeClientEventConversationItemRetrieve extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_RETRIEVE; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * The ID of the item to retrieve. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeClientEventConversationItemRetrieve class. + * + * @param itemId the itemId value to set. + */ + @Generated + public RealtimeClientEventConversationItemRetrieve(String itemId) { + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventConversationItemRetrieve object itself. + */ + @Generated + public RealtimeClientEventConversationItemRetrieve setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the itemId property: The ID of the item to retrieve. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventConversationItemRetrieve from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventConversationItemRetrieve 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 RealtimeClientEventConversationItemRetrieve. + */ + @Generated + public static RealtimeClientEventConversationItemRetrieve fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String itemId = null; + RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_RETRIEVE; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventConversationItemRetrieve deserializedRealtimeClientEventConversationItemRetrieve + = new RealtimeClientEventConversationItemRetrieve(itemId); + deserializedRealtimeClientEventConversationItemRetrieve.type = type; + deserializedRealtimeClientEventConversationItemRetrieve.eventId = eventId; + return deserializedRealtimeClientEventConversationItemRetrieve; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java new file mode 100644 index 0000000000000..2ad1b5ae35208 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java @@ -0,0 +1,196 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to truncate a previous assistant message’s audio. The server + * will produce audio faster than realtime, so this event is useful when the user + * interrupts to truncate audio that has already been sent to the client but not + * yet played. This will synchronize the server's understanding of the audio with + * the client's playback. + * Truncating audio will delete the server-side text transcript to ensure there + * is not text in the context that hasn't been heard by the user. + * If successful, the server will respond with a `conversation.item.truncated` + * event. + */ +@Fluent +public final class RealtimeClientEventConversationItemTruncate extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_TRUNCATE; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * The ID of the assistant message item to truncate. Only assistant message + * items can be truncated. + */ + @Generated + private final String itemId; + + /* + * The index of the content part to truncate. Set this to `0`. + */ + @Generated + private final long contentIndex; + + /* + * Inclusive duration up to which audio is truncated, in milliseconds. If + * the audio_end_ms is greater than the actual audio duration, the server + * will respond with an error. + */ + @Generated + private final long audioEndMs; + + /** + * Creates an instance of RealtimeClientEventConversationItemTruncate class. + * + * @param itemId the itemId value to set. + * @param contentIndex the contentIndex value to set. + * @param audioEndMs the audioEndMs value to set. + */ + @Generated + public RealtimeClientEventConversationItemTruncate(String itemId, long contentIndex, long audioEndMs) { + this.itemId = itemId; + this.contentIndex = contentIndex; + this.audioEndMs = audioEndMs; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventConversationItemTruncate object itself. + */ + @Generated + public RealtimeClientEventConversationItemTruncate setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the itemId property: The ID of the assistant message item to truncate. Only assistant message + * items can be truncated. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the content part to truncate. Set this to `0`. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the audioEndMs property: Inclusive duration up to which audio is truncated, in milliseconds. If + * the audio_end_ms is greater than the actual audio duration, the server + * will respond with an error. + * + * @return the audioEndMs value. + */ + @Generated + public long getAudioEndMs() { + return this.audioEndMs; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeLongField("audio_end_ms", this.audioEndMs); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventConversationItemTruncate from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventConversationItemTruncate 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 RealtimeClientEventConversationItemTruncate. + */ + @Generated + public static RealtimeClientEventConversationItemTruncate fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String itemId = null; + long contentIndex = 0L; + long audioEndMs = 0L; + RealtimeClientEventType type = RealtimeClientEventType.CONVERSATION_ITEM_TRUNCATE; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("audio_end_ms".equals(fieldName)) { + audioEndMs = reader.getLong(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventConversationItemTruncate deserializedRealtimeClientEventConversationItemTruncate + = new RealtimeClientEventConversationItemTruncate(itemId, contentIndex, audioEndMs); + deserializedRealtimeClientEventConversationItemTruncate.type = type; + deserializedRealtimeClientEventConversationItemTruncate.eventId = eventId; + return deserializedRealtimeClientEventConversationItemTruncate; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java new file mode 100644 index 0000000000000..aa73b2bd97164 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to append audio bytes to the input audio buffer. The audio + * buffer is temporary storage you can write to and later commit. A "commit" will create a new + * user message item in the conversation history from the buffer content and clear the buffer. + * Input audio transcription (if enabled) will be generated when the buffer is committed. + * If VAD is enabled the audio buffer is used to detect speech and the server will decide + * when to commit. When Server VAD is disabled, you must commit the audio buffer + * manually. Input audio noise reduction operates on writes to the audio buffer. + * The client may choose how much audio to place in each event up to a maximum + * of 15 MiB, for example streaming smaller chunks from the client may allow the + * VAD to be more responsive. Unlike most other client events, the server will + * not send a confirmation response to this event. + */ +@Fluent +public final class RealtimeClientEventInputAudioBufferAppend extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.INPUT_AUDIO_BUFFER_APPEND; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * Base64-encoded audio bytes. This must be in the format specified by the + * `input_audio_format` field in the session configuration. + */ + @Generated + private final String audio; + + /** + * Creates an instance of RealtimeClientEventInputAudioBufferAppend class. + * + * @param audio the audio value to set. + */ + @Generated + public RealtimeClientEventInputAudioBufferAppend(String audio) { + this.audio = audio; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventInputAudioBufferAppend object itself. + */ + @Generated + public RealtimeClientEventInputAudioBufferAppend setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the audio property: Base64-encoded audio bytes. This must be in the format specified by the + * `input_audio_format` field in the session configuration. + * + * @return the audio value. + */ + @Generated + public String getAudio() { + return this.audio; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("audio", this.audio); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventInputAudioBufferAppend from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventInputAudioBufferAppend 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 RealtimeClientEventInputAudioBufferAppend. + */ + @Generated + public static RealtimeClientEventInputAudioBufferAppend fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String audio = null; + RealtimeClientEventType type = RealtimeClientEventType.INPUT_AUDIO_BUFFER_APPEND; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("audio".equals(fieldName)) { + audio = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventInputAudioBufferAppend deserializedRealtimeClientEventInputAudioBufferAppend + = new RealtimeClientEventInputAudioBufferAppend(audio); + deserializedRealtimeClientEventInputAudioBufferAppend.type = type; + deserializedRealtimeClientEventInputAudioBufferAppend.eventId = eventId; + return deserializedRealtimeClientEventInputAudioBufferAppend; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java new file mode 100644 index 0000000000000..5dbd20c81e0c6 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to clear the audio bytes in the buffer. The server will + * respond with an `input_audio_buffer.cleared` event. + */ +@Fluent +public final class RealtimeClientEventInputAudioBufferClear extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.INPUT_AUDIO_BUFFER_CLEAR; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /** + * Creates an instance of RealtimeClientEventInputAudioBufferClear class. + */ + @Generated + public RealtimeClientEventInputAudioBufferClear() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventInputAudioBufferClear object itself. + */ + @Generated + public RealtimeClientEventInputAudioBufferClear setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventInputAudioBufferClear from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventInputAudioBufferClear 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 RealtimeClientEventInputAudioBufferClear. + */ + @Generated + public static RealtimeClientEventInputAudioBufferClear fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEventInputAudioBufferClear deserializedRealtimeClientEventInputAudioBufferClear + = new RealtimeClientEventInputAudioBufferClear(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEventInputAudioBufferClear.type + = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + deserializedRealtimeClientEventInputAudioBufferClear.eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEventInputAudioBufferClear; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java new file mode 100644 index 0000000000000..276fc0433ae01 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to commit the user input audio buffer, which will create a new user message item in the conversation. + * This event will produce an error if the input audio buffer is empty. When in Server VAD mode, the client does not + * need to send this event, the server will commit the audio buffer automatically. + * Committing the input audio buffer will trigger input audio transcription (if enabled in session configuration), but + * it will not create a response from the model. The server will respond with an `input_audio_buffer.committed` event. + */ +@Fluent +public final class RealtimeClientEventInputAudioBufferCommit extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.INPUT_AUDIO_BUFFER_COMMIT; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /** + * Creates an instance of RealtimeClientEventInputAudioBufferCommit class. + */ + @Generated + public RealtimeClientEventInputAudioBufferCommit() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventInputAudioBufferCommit object itself. + */ + @Generated + public RealtimeClientEventInputAudioBufferCommit setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventInputAudioBufferCommit from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventInputAudioBufferCommit 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 RealtimeClientEventInputAudioBufferCommit. + */ + @Generated + public static RealtimeClientEventInputAudioBufferCommit fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEventInputAudioBufferCommit deserializedRealtimeClientEventInputAudioBufferCommit + = new RealtimeClientEventInputAudioBufferCommit(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEventInputAudioBufferCommit.type + = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + deserializedRealtimeClientEventInputAudioBufferCommit.eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEventInputAudioBufferCommit; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java new file mode 100644 index 0000000000000..2588906c886ed --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java @@ -0,0 +1,115 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * **WebRTC/SIP Only:** Emit to cut off the current audio response. This will trigger the server to + * stop generating audio and emit a `output_audio_buffer.cleared` event. This + * event should be preceded by a `response.cancel` client event to stop the + * generation of the current response. + * [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc). + */ +@Fluent +public final class RealtimeClientEventOutputAudioBufferClear extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.OUTPUT_AUDIO_BUFFER_CLEAR; + + /* + * The unique ID of the client event used for error handling. + */ + @Generated + private String eventId; + + /** + * Creates an instance of RealtimeClientEventOutputAudioBufferClear class. + */ + @Generated + public RealtimeClientEventOutputAudioBufferClear() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the client event used for error handling. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: The unique ID of the client event used for error handling. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventOutputAudioBufferClear object itself. + */ + @Generated + public RealtimeClientEventOutputAudioBufferClear setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventOutputAudioBufferClear from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventOutputAudioBufferClear 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 RealtimeClientEventOutputAudioBufferClear. + */ + @Generated + public static RealtimeClientEventOutputAudioBufferClear fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEventOutputAudioBufferClear deserializedRealtimeClientEventOutputAudioBufferClear + = new RealtimeClientEventOutputAudioBufferClear(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEventOutputAudioBufferClear.type + = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + deserializedRealtimeClientEventOutputAudioBufferClear.eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEventOutputAudioBufferClear; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java new file mode 100644 index 0000000000000..667effd1b314b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to cancel an in-progress response. The server will respond + * with a `response.done` event with a status of `response.status=cancelled`. If + * there is no response to cancel, the server will respond with an error. It's safe + * to call `response.cancel` even if no response is in progress, an error will be + * returned the session will remain unaffected. + */ +@Fluent +public final class RealtimeClientEventResponseCancel extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.RESPONSE_CANCEL; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * A specific response ID to cancel - if not provided, will cancel an + * in-progress response in the default conversation. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeClientEventResponseCancel class. + */ + @Generated + public RealtimeClientEventResponseCancel() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventResponseCancel object itself. + */ + @Generated + public RealtimeClientEventResponseCancel setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the responseId property: A specific response ID to cancel - if not provided, will cancel an + * in-progress response in the default conversation. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Set the responseId property: A specific response ID to cancel - if not provided, will cancel an + * in-progress response in the default conversation. + * + * @param responseId the responseId value to set. + * @return the RealtimeClientEventResponseCancel object itself. + */ + @Generated + public RealtimeClientEventResponseCancel setResponseId(String responseId) { + this.responseId = responseId; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventResponseCancel from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventResponseCancel 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 RealtimeClientEventResponseCancel. + */ + @Generated + public static RealtimeClientEventResponseCancel fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEventResponseCancel deserializedRealtimeClientEventResponseCancel + = new RealtimeClientEventResponseCancel(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEventResponseCancel.type + = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + deserializedRealtimeClientEventResponseCancel.eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + deserializedRealtimeClientEventResponseCancel.responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEventResponseCancel; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java new file mode 100644 index 0000000000000..e35d4ce415b71 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java @@ -0,0 +1,162 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * This event instructs the server to create a Response, which means triggering + * model inference. When in Server VAD mode, the server will create Responses + * automatically. + * A Response will include at least one Item, and may have two, in which case + * the second will be a function call. These Items will be appended to the + * conversation history by default. + * The server will respond with a `response.created` event, events for Items + * and content created, and finally a `response.done` event to indicate the + * Response is complete. + * The `response.create` event includes inference configuration like + * `instructions` and `tools`. If these are set, they will override the Session's + * configuration for this Response only. + * Responses can be created out-of-band of the default Conversation, meaning that they can + * have arbitrary input, and it's possible to disable writing the output to the Conversation. + * Only one Response can write to the default Conversation at a time, but otherwise multiple + * Responses can be created in parallel. The `metadata` field is a good way to disambiguate + * multiple simultaneous Responses. + * Clients can set `conversation` to `none` to create a Response that does not write to the default + * Conversation. Arbitrary input can be provided with the `input` field, which is an array accepting + * raw Items and references to existing Items. + */ +@Fluent +public final class RealtimeClientEventResponseCreate extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.RESPONSE_CREATE; + + /* + * Optional client-generated ID used to identify this event. + */ + @Generated + private String eventId; + + /* + * The response property. + */ + @Generated + private VoiceAgentResponseCreateParams response; + + /** + * Creates an instance of RealtimeClientEventResponseCreate class. + */ + @Generated + public RealtimeClientEventResponseCreate() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventResponseCreate object itself. + */ + @Generated + public RealtimeClientEventResponseCreate setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the response property: The response property. + * + * @return the response value. + */ + @Generated + public VoiceAgentResponseCreateParams getResponse() { + return this.response; + } + + /** + * Set the response property: The response property. + * + * @param response the response value to set. + * @return the RealtimeClientEventResponseCreate object itself. + */ + @Generated + public RealtimeClientEventResponseCreate setResponse(VoiceAgentResponseCreateParams response) { + this.response = response; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("response", this.response); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventResponseCreate from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventResponseCreate 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 RealtimeClientEventResponseCreate. + */ + @Generated + public static RealtimeClientEventResponseCreate fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeClientEventResponseCreate deserializedRealtimeClientEventResponseCreate + = new RealtimeClientEventResponseCreate(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeClientEventResponseCreate.type + = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + deserializedRealtimeClientEventResponseCreate.eventId = reader.getString(); + } else if ("response".equals(fieldName)) { + deserializedRealtimeClientEventResponseCreate.response + = VoiceAgentResponseCreateParams.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeClientEventResponseCreate; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java new file mode 100644 index 0000000000000..72e237ee6d509 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java @@ -0,0 +1,155 @@ +// 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.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Send this event to update the session’s configuration. + * The client may send this event at any time to update any field + * except for `voice` and `model`. `voice` can be updated only if there have been no other audio outputs yet. + * When the server receives a `session.update`, it will respond + * with a `session.updated` event showing the full, effective configuration. + * Only the fields that are present in the `session.update` are updated. To clear a field like + * `instructions`, pass an empty string. To clear a field like `tools`, pass an empty array. + * To clear a field like `turn_detection`, pass `null`. + */ +@Fluent +public final class RealtimeClientEventSessionUpdate extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.SESSION_UPDATE; + + /* + * Optional client-generated ID used to identify this event. This is an arbitrary string that a client may assign. + * It will be passed back if there is an error with the event, but the corresponding `session.updated` event will + * not include it. + */ + @Generated + private String eventId; + + /* + * Update the Realtime session. Choose either a realtime + * session or a transcription session. + */ + @Generated + private final BinaryData session; + + /** + * Creates an instance of RealtimeClientEventSessionUpdate class. + * + * @param session the session value to set. + */ + @Generated + public RealtimeClientEventSessionUpdate(BinaryData session) { + this.session = session; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: Optional client-generated ID used to identify this event. This is an arbitrary string + * that a client may assign. It will be passed back if there is an error with the event, but the corresponding + * `session.updated` event will not include it. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: Optional client-generated ID used to identify this event. This is an arbitrary string + * that a client may assign. It will be passed back if there is an error with the event, but the corresponding + * `session.updated` event will not include it. + * + * @param eventId the eventId value to set. + * @return the RealtimeClientEventSessionUpdate object itself. + */ + @Generated + public RealtimeClientEventSessionUpdate setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the session property: Update the Realtime session. Choose either a realtime + * session or a transcription session. + * + * @return the session value. + */ + @Generated + public BinaryData getSession() { + return this.session; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeFieldName("session"); + this.session.writeTo(jsonWriter); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventSessionUpdate from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventSessionUpdate 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 RealtimeClientEventSessionUpdate. + */ + @Generated + public static RealtimeClientEventSessionUpdate fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + BinaryData session = null; + RealtimeClientEventType type = RealtimeClientEventType.SESSION_UPDATE; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("session".equals(fieldName)) { + session = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventSessionUpdate deserializedRealtimeClientEventSessionUpdate + = new RealtimeClientEventSessionUpdate(session); + deserializedRealtimeClientEventSessionUpdate.type = type; + deserializedRealtimeClientEventSessionUpdate.eventId = eventId; + return deserializedRealtimeClientEventSessionUpdate; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java new file mode 100644 index 0000000000000..3a4cb0991a458 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java @@ -0,0 +1,173 @@ +// 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; + +/** + * Defines values for RealtimeClientEventSessionUpdateSessionModel. + */ +public final class RealtimeClientEventSessionUpdateSessionModel + extends ExpandableStringEnum { + + /** + * Static value gpt-realtime for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME = fromString("gpt-realtime"); + + /** + * Static value gpt-realtime-1.5 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_1_5 = fromString("gpt-realtime-1.5"); + + /** + * Static value gpt-realtime-2 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_2 = fromString("gpt-realtime-2"); + + /** + * Static value gpt-realtime-2.1 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_2_1 = fromString("gpt-realtime-2.1"); + + /** + * Static value gpt-realtime-2.1-mini for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_2_1_MINI + = fromString("gpt-realtime-2.1-mini"); + + /** + * Static value gpt-realtime-2025-08-28 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_2025_08_28 + = fromString("gpt-realtime-2025-08-28"); + + /** + * Static value gpt-4o-realtime-preview for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_REALTIME_PREVIEW + = fromString("gpt-4o-realtime-preview"); + + /** + * Static value gpt-4o-realtime-preview-2024-10-01 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_REALTIME_PREVIEW_2024_10_01 + = fromString("gpt-4o-realtime-preview-2024-10-01"); + + /** + * Static value gpt-4o-realtime-preview-2024-12-17 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_REALTIME_PREVIEW_2024_12_17 + = fromString("gpt-4o-realtime-preview-2024-12-17"); + + /** + * Static value gpt-4o-realtime-preview-2025-06-03 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_REALTIME_PREVIEW_2025_06_03 + = fromString("gpt-4o-realtime-preview-2025-06-03"); + + /** + * Static value gpt-4o-mini-realtime-preview for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_MINI_REALTIME_PREVIEW + = fromString("gpt-4o-mini-realtime-preview"); + + /** + * Static value gpt-4o-mini-realtime-preview-2024-12-17 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17 + = fromString("gpt-4o-mini-realtime-preview-2024-12-17"); + + /** + * Static value gpt-realtime-mini for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_MINI + = fromString("gpt-realtime-mini"); + + /** + * Static value gpt-realtime-mini-2025-10-06 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_MINI_2025_10_06 + = fromString("gpt-realtime-mini-2025-10-06"); + + /** + * Static value gpt-realtime-mini-2025-12-15 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_REALTIME_MINI_2025_12_15 + = fromString("gpt-realtime-mini-2025-12-15"); + + /** + * Static value gpt-audio-1.5 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_AUDIO_1_5 = fromString("gpt-audio-1.5"); + + /** + * Static value gpt-audio-mini for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_AUDIO_MINI = fromString("gpt-audio-mini"); + + /** + * Static value gpt-audio-mini-2025-10-06 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_AUDIO_MINI_2025_10_06 + = fromString("gpt-audio-mini-2025-10-06"); + + /** + * Static value gpt-audio-mini-2025-12-15 for RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static final RealtimeClientEventSessionUpdateSessionModel GPT_AUDIO_MINI_2025_12_15 + = fromString("gpt-audio-mini-2025-12-15"); + + /** + * Creates a new instance of RealtimeClientEventSessionUpdateSessionModel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeClientEventSessionUpdateSessionModel() { + } + + /** + * Creates or finds a RealtimeClientEventSessionUpdateSessionModel from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeClientEventSessionUpdateSessionModel. + */ + @Generated + public static RealtimeClientEventSessionUpdateSessionModel fromString(String name) { + return fromString(name, RealtimeClientEventSessionUpdateSessionModel.class); + } + + /** + * Gets known RealtimeClientEventSessionUpdateSessionModel values. + * + * @return known RealtimeClientEventSessionUpdateSessionModel values. + */ + @Generated + public static Collection values() { + return values(RealtimeClientEventSessionUpdateSessionModel.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java new file mode 100644 index 0000000000000..441e947b998c6 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.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; + +/** + * Defines values for RealtimeClientEventSessionUpdateSessionOutputModality. + */ +public enum RealtimeClientEventSessionUpdateSessionOutputModality { + /** + * Enum value text. + */ + TEXT("text"), + + /** + * Enum value audio. + */ + AUDIO("audio"); + + /** + * The actual serialized value for a RealtimeClientEventSessionUpdateSessionOutputModality instance. + */ + private final String value; + + RealtimeClientEventSessionUpdateSessionOutputModality(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeClientEventSessionUpdateSessionOutputModality instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeClientEventSessionUpdateSessionOutputModality object, or null if unable to parse. + */ + public static RealtimeClientEventSessionUpdateSessionOutputModality fromString(String value) { + if (value == null) { + return null; + } + RealtimeClientEventSessionUpdateSessionOutputModality[] items + = RealtimeClientEventSessionUpdateSessionOutputModality.values(); + for (RealtimeClientEventSessionUpdateSessionOutputModality item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java new file mode 100644 index 0000000000000..bdea1f0060a63 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.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; + +/** + * Defines values for RealtimeClientEventSessionUpdateSessionTruncation. + */ +public enum RealtimeClientEventSessionUpdateSessionTruncation { + /** + * Enum value auto. + */ + AUTO("auto"), + + /** + * Enum value disabled. + */ + DISABLED("disabled"); + + /** + * The actual serialized value for a RealtimeClientEventSessionUpdateSessionTruncation instance. + */ + private final String value; + + RealtimeClientEventSessionUpdateSessionTruncation(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeClientEventSessionUpdateSessionTruncation instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeClientEventSessionUpdateSessionTruncation object, or null if unable to parse. + */ + public static RealtimeClientEventSessionUpdateSessionTruncation fromString(String value) { + if (value == null) { + return null; + } + RealtimeClientEventSessionUpdateSessionTruncation[] items + = RealtimeClientEventSessionUpdateSessionTruncation.values(); + for (RealtimeClientEventSessionUpdateSessionTruncation item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java new file mode 100644 index 0000000000000..7ef2c1fe644f9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java @@ -0,0 +1,136 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.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; + +/** + * The RealtimeClientEventSessionUpdateSessionTruncation1 model. + */ +@Fluent +public final class RealtimeClientEventSessionUpdateSessionTruncation1 + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private final String type = "retention_ratio"; + + /* + * The retention_ratio property. + */ + @Generated + private final double retentionRatio; + + /* + * The token_limits property. + */ + @Generated + private TokenLimits tokenLimits; + + /** + * Creates an instance of RealtimeClientEventSessionUpdateSessionTruncation1 class. + * + * @param retentionRatio the retentionRatio value to set. + */ + @Generated + public RealtimeClientEventSessionUpdateSessionTruncation1(double retentionRatio) { + this.retentionRatio = retentionRatio; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the retentionRatio property: The retention_ratio property. + * + * @return the retentionRatio value. + */ + @Generated + public double getRetentionRatio() { + return this.retentionRatio; + } + + /** + * Get the tokenLimits property: The token_limits property. + * + * @return the tokenLimits value. + */ + @Generated + public TokenLimits getTokenLimits() { + return this.tokenLimits; + } + + /** + * Set the tokenLimits property: The token_limits property. + * + * @param tokenLimits the tokenLimits value to set. + * @return the RealtimeClientEventSessionUpdateSessionTruncation1 object itself. + */ + @Generated + public RealtimeClientEventSessionUpdateSessionTruncation1 setTokenLimits(TokenLimits tokenLimits) { + this.tokenLimits = tokenLimits; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeDoubleField("retention_ratio", this.retentionRatio); + jsonWriter.writeJsonField("token_limits", this.tokenLimits); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeClientEventSessionUpdateSessionTruncation1 from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeClientEventSessionUpdateSessionTruncation1 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 RealtimeClientEventSessionUpdateSessionTruncation1. + */ + @Generated + public static RealtimeClientEventSessionUpdateSessionTruncation1 fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + double retentionRatio = 0.0; + TokenLimits tokenLimits = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("retention_ratio".equals(fieldName)) { + retentionRatio = reader.getDouble(); + } else if ("token_limits".equals(fieldName)) { + tokenLimits = TokenLimits.fromJson(reader); + } else { + reader.skipChildren(); + } + } + RealtimeClientEventSessionUpdateSessionTruncation1 deserializedRealtimeClientEventSessionUpdateSessionTruncation1 + = new RealtimeClientEventSessionUpdateSessionTruncation1(retentionRatio); + deserializedRealtimeClientEventSessionUpdateSessionTruncation1.tokenLimits = tokenLimits; + return deserializedRealtimeClientEventSessionUpdateSessionTruncation1; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.java new file mode 100644 index 0000000000000..c48e895660401 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.java @@ -0,0 +1,123 @@ +// 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; + +/** + * Defines values for RealtimeClientEventType. + */ +public final class RealtimeClientEventType extends ExpandableStringEnum { + + /** + * Static value conversation.item.create for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType CONVERSATION_ITEM_CREATE = fromString("conversation.item.create"); + + /** + * Static value conversation.item.delete for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType CONVERSATION_ITEM_DELETE = fromString("conversation.item.delete"); + + /** + * Static value conversation.item.retrieve for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType CONVERSATION_ITEM_RETRIEVE = fromString("conversation.item.retrieve"); + + /** + * Static value conversation.item.truncate for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType CONVERSATION_ITEM_TRUNCATE = fromString("conversation.item.truncate"); + + /** + * Static value input_audio_buffer.append for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType INPUT_AUDIO_BUFFER_APPEND = fromString("input_audio_buffer.append"); + + /** + * Static value input_audio_buffer.clear for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType INPUT_AUDIO_BUFFER_CLEAR = fromString("input_audio_buffer.clear"); + + /** + * Static value output_audio_buffer.clear for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType OUTPUT_AUDIO_BUFFER_CLEAR = fromString("output_audio_buffer.clear"); + + /** + * Static value input_audio_buffer.commit for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType INPUT_AUDIO_BUFFER_COMMIT = fromString("input_audio_buffer.commit"); + + /** + * Static value response.cancel for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType RESPONSE_CANCEL = fromString("response.cancel"); + + /** + * Static value response.create for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType RESPONSE_CREATE = fromString("response.create"); + + /** + * Static value session.update for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType SESSION_UPDATE = fromString("session.update"); + + /** + * Static value session.avatar.connect for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType SESSION_AVATAR_CONNECT = fromString("session.avatar.connect"); + + /** + * Static value rtc.call.sdp.create for RealtimeClientEventType. + */ + @Generated + public static final RealtimeClientEventType RTC_CALL_SDP_CREATE = fromString("rtc.call.sdp.create"); + + /** + * Creates a new instance of RealtimeClientEventType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeClientEventType() { + } + + /** + * Creates or finds a RealtimeClientEventType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeClientEventType. + */ + @Generated + public static RealtimeClientEventType fromString(String name) { + return fromString(name, RealtimeClientEventType.class); + } + + /** + * Gets known RealtimeClientEventType values. + * + * @return known RealtimeClientEventType values. + */ + @Generated + public static Collection values() { + return values(RealtimeClientEventType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java new file mode 100644 index 0000000000000..8f73e5e01a004 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java @@ -0,0 +1,120 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A single item within a Realtime conversation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class RealtimeConversationItem implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.fromString("RealtimeConversationItem"); + + /** + * Creates an instance of RealtimeConversationItem class. + */ + @Generated + public RealtimeConversationItem() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItem 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 RealtimeConversationItem. + */ + @Generated + public static RealtimeConversationItem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("message".equals(discriminatorValue)) { + return RealtimeConversationItemMessage.fromJson(readerToUse.reset()); + } else if ("function_call".equals(discriminatorValue)) { + return RealtimeConversationItemFunctionCall.fromJson(readerToUse.reset()); + } else if ("function_call_output".equals(discriminatorValue)) { + return RealtimeConversationItemFunctionCallOutput.fromJson(readerToUse.reset()); + } else if ("mcp_approval_response".equals(discriminatorValue)) { + return RealtimeMCPApprovalResponse.fromJson(readerToUse.reset()); + } else if ("mcp_list_tools".equals(discriminatorValue)) { + return RealtimeMCPListTools.fromJson(readerToUse.reset()); + } else if ("mcp_call".equals(discriminatorValue)) { + return RealtimeMCPToolCall.fromJson(readerToUse.reset()); + } else if ("mcp_approval_request".equals(discriminatorValue)) { + return RealtimeMCPApprovalRequest.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeConversationItem fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItem deserializedRealtimeConversationItem = new RealtimeConversationItem(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeConversationItem.type + = RealtimeConversationItemType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeConversationItem; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java new file mode 100644 index 0000000000000..f6d6f6505dfc5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCall.java @@ -0,0 +1,307 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime function call item + * + * A function call item in a Realtime conversation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeConversationItemFunctionCall extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.FUNCTION_CALL; + + /* + * The unique ID of the item. This may be provided by the client or generated by the server. + */ + @Generated + private String id; + + /* + * Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item. + */ + @Generated + private RealtimeConversationItemObject object; + + /* + * The status of the item. Has no effect on the conversation. + */ + @Generated + private RealtimeConversationItemFunctionCallStatus status; + + /* + * The ID of the function call. + */ + @Generated + private String callId; + + /* + * The name of the function being called. + */ + @Generated + private final String name; + + /* + * The arguments of the function call. This is a JSON-encoded string representing the arguments passed to the + * function, for example `{"arg1": "value1", "arg2": 42}`. + */ + @Generated + private final String arguments; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeConversationItemFunctionCall class. + * + * @param name the name value to set. + * @param arguments the arguments value to set. + */ + @Generated + public RealtimeConversationItemFunctionCall(String name, String arguments) { + this.name = name; + this.arguments = arguments; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @param id the id value to set. + * @return the RealtimeConversationItemFunctionCall object itself. + */ + @Generated + public RealtimeConversationItemFunctionCall setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @return the object value. + */ + @Generated + public RealtimeConversationItemObject getObject() { + return this.object; + } + + /** + * Set the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @param object the object value to set. + * @return the RealtimeConversationItemFunctionCall object itself. + */ + @Generated + public RealtimeConversationItemFunctionCall setObject(RealtimeConversationItemObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The status of the item. Has no effect on the conversation. + * + * @return the status value. + */ + @Generated + public RealtimeConversationItemFunctionCallStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of the item. Has no effect on the conversation. + * + * @param status the status value to set. + * @return the RealtimeConversationItemFunctionCall object itself. + */ + @Generated + public RealtimeConversationItemFunctionCall setStatus(RealtimeConversationItemFunctionCallStatus status) { + this.status = status; + return this; + } + + /** + * Get the callId property: The ID of the function call. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Set the callId property: The ID of the function call. + * + * @param callId the callId value to set. + * @return the RealtimeConversationItemFunctionCall object itself. + */ + @Generated + public RealtimeConversationItemFunctionCall setCallId(String callId) { + this.callId = callId; + return this; + } + + /** + * Get the name property: The name of the function being called. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the arguments property: The arguments of the function call. This is a JSON-encoded string representing the + * arguments passed to the function, for example `{"arg1": "value1", "arg2": 42}`. + * + * @return the arguments value. + */ + @Generated + public String getArguments() { + return this.arguments; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("arguments", this.arguments); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("call_id", this.callId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemFunctionCall from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemFunctionCall 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 RealtimeConversationItemFunctionCall. + */ + @Generated + public static RealtimeConversationItemFunctionCall fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String arguments = null; + RealtimeConversationItemType type = RealtimeConversationItemType.FUNCTION_CALL; + String id = null; + RealtimeConversationItemObject object = null; + RealtimeConversationItemFunctionCallStatus status = null; + String callId = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("arguments".equals(fieldName)) { + arguments = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("object".equals(fieldName)) { + object = RealtimeConversationItemObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = RealtimeConversationItemFunctionCallStatus.fromString(reader.getString()); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeConversationItemFunctionCall deserializedRealtimeConversationItemFunctionCall + = new RealtimeConversationItemFunctionCall(name, arguments); + deserializedRealtimeConversationItemFunctionCall.type = type; + deserializedRealtimeConversationItemFunctionCall.id = id; + deserializedRealtimeConversationItemFunctionCall.object = object; + deserializedRealtimeConversationItemFunctionCall.status = status; + deserializedRealtimeConversationItemFunctionCall.callId = callId; + deserializedRealtimeConversationItemFunctionCall.createdAt = createdAt; + deserializedRealtimeConversationItemFunctionCall.responseId = responseId; + return deserializedRealtimeConversationItemFunctionCall; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java new file mode 100644 index 0000000000000..66d4a72a6c7de --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutput.java @@ -0,0 +1,310 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime function call output item + * + * A function call output item in a Realtime conversation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeConversationItemFunctionCallOutput extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.FUNCTION_CALL_OUTPUT; + + /* + * The unique ID of the item. This may be provided by the client or generated by the server. + */ + @Generated + private String id; + + /* + * Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item. + */ + @Generated + private RealtimeConversationItemObject object; + + /* + * The status of the item. Has no effect on the conversation. + */ + @Generated + private RealtimeConversationItemFunctionCallOutputStatus status; + + /* + * The ID of the function call this output is for. + */ + @Generated + private final String callId; + + /* + * The output of the function call, this is free text and can contain any information or simply be empty. + */ + @Generated + private final String output; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /* + * The name of the function that was called. A Foundry extension: OpenAI's function_call_output does not carry the + * function name, only `call_id`. + */ + @Generated + private String name; + + /** + * Creates an instance of RealtimeConversationItemFunctionCallOutput class. + * + * @param callId the callId value to set. + * @param output the output value to set. + */ + @Generated + public RealtimeConversationItemFunctionCallOutput(String callId, String output) { + this.callId = callId; + this.output = output; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @param id the id value to set. + * @return the RealtimeConversationItemFunctionCallOutput object itself. + */ + @Generated + public RealtimeConversationItemFunctionCallOutput setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @return the object value. + */ + @Generated + public RealtimeConversationItemObject getObject() { + return this.object; + } + + /** + * Set the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @param object the object value to set. + * @return the RealtimeConversationItemFunctionCallOutput object itself. + */ + @Generated + public RealtimeConversationItemFunctionCallOutput setObject(RealtimeConversationItemObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The status of the item. Has no effect on the conversation. + * + * @return the status value. + */ + @Generated + public RealtimeConversationItemFunctionCallOutputStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of the item. Has no effect on the conversation. + * + * @param status the status value to set. + * @return the RealtimeConversationItemFunctionCallOutput object itself. + */ + @Generated + public RealtimeConversationItemFunctionCallOutput + setStatus(RealtimeConversationItemFunctionCallOutputStatus status) { + this.status = status; + return this; + } + + /** + * Get the callId property: The ID of the function call this output is for. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the output property: The output of the function call, this is free text and can contain any information or + * simply be empty. + * + * @return the output value. + */ + @Generated + public String getOutput() { + return this.output; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the name property: The name of the function that was called. A Foundry extension: OpenAI's + * function_call_output does not carry the function name, only `call_id`. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name of the function that was called. A Foundry extension: OpenAI's + * function_call_output does not carry the function name, only `call_id`. + * + * @param name the name value to set. + * @return the RealtimeConversationItemFunctionCallOutput object itself. + */ + @Generated + public RealtimeConversationItemFunctionCallOutput setName(String name) { + this.name = name; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("output", this.output); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("name", this.name); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemFunctionCallOutput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemFunctionCallOutput 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 RealtimeConversationItemFunctionCallOutput. + */ + @Generated + public static RealtimeConversationItemFunctionCallOutput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String callId = null; + String output = null; + RealtimeConversationItemType type = RealtimeConversationItemType.FUNCTION_CALL_OUTPUT; + String id = null; + RealtimeConversationItemObject object = null; + RealtimeConversationItemFunctionCallOutputStatus status = null; + Long createdAt = null; + String responseId = null; + String name = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("output".equals(fieldName)) { + output = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("object".equals(fieldName)) { + object = RealtimeConversationItemObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = RealtimeConversationItemFunctionCallOutputStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeConversationItemFunctionCallOutput deserializedRealtimeConversationItemFunctionCallOutput + = new RealtimeConversationItemFunctionCallOutput(callId, output); + deserializedRealtimeConversationItemFunctionCallOutput.type = type; + deserializedRealtimeConversationItemFunctionCallOutput.id = id; + deserializedRealtimeConversationItemFunctionCallOutput.object = object; + deserializedRealtimeConversationItemFunctionCallOutput.status = status; + deserializedRealtimeConversationItemFunctionCallOutput.createdAt = createdAt; + deserializedRealtimeConversationItemFunctionCallOutput.responseId = responseId; + deserializedRealtimeConversationItemFunctionCallOutput.name = name; + return deserializedRealtimeConversationItemFunctionCallOutput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java new file mode 100644 index 0000000000000..a683ee801e72b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallOutputStatus.java @@ -0,0 +1,62 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemFunctionCallOutputStatus. + */ +public enum RealtimeConversationItemFunctionCallOutputStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a RealtimeConversationItemFunctionCallOutputStatus instance. + */ + private final String value; + + RealtimeConversationItemFunctionCallOutputStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemFunctionCallOutputStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemFunctionCallOutputStatus object, or null if unable to parse. + */ + public static RealtimeConversationItemFunctionCallOutputStatus fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemFunctionCallOutputStatus[] items + = RealtimeConversationItemFunctionCallOutputStatus.values(); + for (RealtimeConversationItemFunctionCallOutputStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java new file mode 100644 index 0000000000000..c17087eddc503 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemFunctionCallStatus.java @@ -0,0 +1,61 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemFunctionCallStatus. + */ +public enum RealtimeConversationItemFunctionCallStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a RealtimeConversationItemFunctionCallStatus instance. + */ + private final String value; + + RealtimeConversationItemFunctionCallStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemFunctionCallStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemFunctionCallStatus object, or null if unable to parse. + */ + public static RealtimeConversationItemFunctionCallStatus fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemFunctionCallStatus[] items = RealtimeConversationItemFunctionCallStatus.values(); + for (RealtimeConversationItemFunctionCallStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessage.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessage.java new file mode 100644 index 0000000000000..3f302585096c1 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessage.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeConversationItemMessage model. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class RealtimeConversationItemMessage extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private final RealtimeConversationItemType type = RealtimeConversationItemType.MESSAGE; + + /* + * The role property. + */ + @Generated + private RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.fromString("message"); + + /** + * Creates an instance of RealtimeConversationItemMessage class. + */ + @Generated + public RealtimeConversationItemMessage() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the role property: The role property. + * + * @return the role value. + */ + @Generated + public RealtimeConversationItemMessageType getRole() { + return this.role; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessage from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessage 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 RealtimeConversationItemMessage. + */ + @Generated + public static RealtimeConversationItemMessage fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("role".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("system".equals(discriminatorValue)) { + return RealtimeConversationItemMessageSystem.fromJson(readerToUse.reset()); + } else if ("user".equals(discriminatorValue)) { + return RealtimeConversationItemMessageUser.fromJson(readerToUse.reset()); + } else if ("assistant".equals(discriminatorValue)) { + return RealtimeConversationItemMessageAssistant.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeConversationItemMessage fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItemMessage deserializedRealtimeConversationItemMessage + = new RealtimeConversationItemMessage(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("role".equals(fieldName)) { + deserializedRealtimeConversationItemMessage.role + = RealtimeConversationItemMessageType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeConversationItemMessage; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java new file mode 100644 index 0000000000000..1e4e27c2b4049 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java @@ -0,0 +1,270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Realtime assistant message item + * + * An assistant message item in a Realtime conversation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeConversationItemMessageAssistant extends RealtimeConversationItemMessage { + + /* + * The type property. + */ + @Generated + private final RealtimeConversationItemType type = RealtimeConversationItemType.MESSAGE; + + /* + * The role property. + */ + @Generated + private RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.ASSISTANT; + + /* + * The unique ID of the item. This may be provided by the client or generated by the server. + */ + @Generated + private String id; + + /* + * Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item. + */ + @Generated + private RealtimeConversationItemObject object; + + /* + * The status of the item. Has no effect on the conversation. + */ + @Generated + private RealtimeConversationItemMessageAssistantStatus status; + + /* + * The content of the message. + */ + @Generated + private final List content; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeConversationItemMessageAssistant class. + * + * @param content the content value to set. + */ + @Generated + public RealtimeConversationItemMessageAssistant(List content) { + this.content = content; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the role property: The role property. + * + * @return the role value. + */ + @Generated + @Override + public RealtimeConversationItemMessageType getRole() { + return this.role; + } + + /** + * Get the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @param id the id value to set. + * @return the RealtimeConversationItemMessageAssistant object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistant setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @return the object value. + */ + @Generated + public RealtimeConversationItemObject getObject() { + return this.object; + } + + /** + * Set the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @param object the object value to set. + * @return the RealtimeConversationItemMessageAssistant object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistant setObject(RealtimeConversationItemObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The status of the item. Has no effect on the conversation. + * + * @return the status value. + */ + @Generated + public RealtimeConversationItemMessageAssistantStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of the item. Has no effect on the conversation. + * + * @param status the status value to set. + * @return the RealtimeConversationItemMessageAssistant object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistant setStatus(RealtimeConversationItemMessageAssistantStatus status) { + this.status = status; + return this; + } + + /** + * Get the content property: The content of the message. + * + * @return the content value. + */ + @Generated + public List getContent() { + return this.content; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("content", this.content, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString()); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageAssistant from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageAssistant 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 RealtimeConversationItemMessageAssistant. + */ + @Generated + public static RealtimeConversationItemMessageAssistant fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List content = null; + RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.ASSISTANT; + String id = null; + RealtimeConversationItemObject object = null; + RealtimeConversationItemMessageAssistantStatus status = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("content".equals(fieldName)) { + content = reader + .readArray(reader1 -> RealtimeConversationItemMessageAssistantContent.fromJson(reader1)); + } else if ("role".equals(fieldName)) { + role = RealtimeConversationItemMessageType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("object".equals(fieldName)) { + object = RealtimeConversationItemObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = RealtimeConversationItemMessageAssistantStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeConversationItemMessageAssistant deserializedRealtimeConversationItemMessageAssistant + = new RealtimeConversationItemMessageAssistant(content); + deserializedRealtimeConversationItemMessageAssistant.role = role; + deserializedRealtimeConversationItemMessageAssistant.id = id; + deserializedRealtimeConversationItemMessageAssistant.object = object; + deserializedRealtimeConversationItemMessageAssistant.status = status; + deserializedRealtimeConversationItemMessageAssistant.createdAt = createdAt; + deserializedRealtimeConversationItemMessageAssistant.responseId = responseId; + return deserializedRealtimeConversationItemMessageAssistant; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java new file mode 100644 index 0000000000000..37e96e2b7270e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java @@ -0,0 +1,187 @@ +// 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; + +/** + * The RealtimeConversationItemMessageAssistantContent model. + */ +@Fluent +public final class RealtimeConversationItemMessageAssistantContent + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemMessageAssistantContentType type; + + /* + * The text property. + */ + @Generated + private String text; + + /* + * The audio property. + */ + @Generated + private String audio; + + /* + * The transcript property. + */ + @Generated + private String transcript; + + /** + * Creates an instance of RealtimeConversationItemMessageAssistantContent class. + */ + @Generated + public RealtimeConversationItemMessageAssistantContent() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeConversationItemMessageAssistantContentType getType() { + return this.type; + } + + /** + * Set the type property: The type property. + * + * @param type the type value to set. + * @return the RealtimeConversationItemMessageAssistantContent object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistantContent + setType(RealtimeConversationItemMessageAssistantContentType type) { + this.type = type; + return this; + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Set the text property: The text property. + * + * @param text the text value to set. + * @return the RealtimeConversationItemMessageAssistantContent object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistantContent setText(String text) { + this.text = text; + return this; + } + + /** + * Get the audio property: The audio property. + * + * @return the audio value. + */ + @Generated + public String getAudio() { + return this.audio; + } + + /** + * Set the audio property: The audio property. + * + * @param audio the audio value to set. + * @return the RealtimeConversationItemMessageAssistantContent object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistantContent setAudio(String audio) { + this.audio = audio; + return this; + } + + /** + * Get the transcript property: The transcript property. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * Set the transcript property: The transcript property. + * + * @param transcript the transcript value to set. + * @return the RealtimeConversationItemMessageAssistantContent object itself. + */ + @Generated + public RealtimeConversationItemMessageAssistantContent setTranscript(String transcript) { + this.transcript = transcript; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("audio", this.audio); + jsonWriter.writeStringField("transcript", this.transcript); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageAssistantContent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageAssistantContent 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 RealtimeConversationItemMessageAssistantContent. + */ + @Generated + public static RealtimeConversationItemMessageAssistantContent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItemMessageAssistantContent deserializedRealtimeConversationItemMessageAssistantContent + = new RealtimeConversationItemMessageAssistantContent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeConversationItemMessageAssistantContent.type + = RealtimeConversationItemMessageAssistantContentType.fromString(reader.getString()); + } else if ("text".equals(fieldName)) { + deserializedRealtimeConversationItemMessageAssistantContent.text = reader.getString(); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeConversationItemMessageAssistantContent.audio = reader.getString(); + } else if ("transcript".equals(fieldName)) { + deserializedRealtimeConversationItemMessageAssistantContent.transcript = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeConversationItemMessageAssistantContent; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java new file mode 100644 index 0000000000000..f4dd3c47ca8c3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.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; + +/** + * Defines values for RealtimeConversationItemMessageAssistantContentType. + */ +public enum RealtimeConversationItemMessageAssistantContentType { + /** + * Enum value output_text. + */ + OUTPUT_TEXT("output_text"), + + /** + * Enum value output_audio. + */ + OUTPUT_AUDIO("output_audio"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageAssistantContentType instance. + */ + private final String value; + + RealtimeConversationItemMessageAssistantContentType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageAssistantContentType instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageAssistantContentType object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageAssistantContentType fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageAssistantContentType[] items + = RealtimeConversationItemMessageAssistantContentType.values(); + for (RealtimeConversationItemMessageAssistantContentType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java new file mode 100644 index 0000000000000..abcdeedf807e0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java @@ -0,0 +1,62 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageAssistantStatus. + */ +public enum RealtimeConversationItemMessageAssistantStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageAssistantStatus instance. + */ + private final String value; + + RealtimeConversationItemMessageAssistantStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageAssistantStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageAssistantStatus object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageAssistantStatus fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageAssistantStatus[] items + = RealtimeConversationItemMessageAssistantStatus.values(); + for (RealtimeConversationItemMessageAssistantStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java new file mode 100644 index 0000000000000..19860356c14ee --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java @@ -0,0 +1,273 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Realtime system message item + * + * A system message in a Realtime conversation can be used to provide additional context or instructions to the model. + * This is similar but distinct from the instruction prompt provided at the start of a conversation, as system messages + * can be added at any point in the conversation. For major changes to the conversation's behavior, use instructions, + * but for smaller updates (e.g. "the user is now asking about a different topic"), use system messages. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeConversationItemMessageSystem extends RealtimeConversationItemMessage { + + /* + * The type property. + */ + @Generated + private final RealtimeConversationItemType type = RealtimeConversationItemType.MESSAGE; + + /* + * The role property. + */ + @Generated + private RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.SYSTEM; + + /* + * The unique ID of the item. This may be provided by the client or generated by the server. + */ + @Generated + private String id; + + /* + * Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item. + */ + @Generated + private RealtimeConversationItemObject object; + + /* + * The status of the item. Has no effect on the conversation. + */ + @Generated + private RealtimeConversationItemMessageSystemStatus status; + + /* + * The content of the message. + */ + @Generated + private final List content; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeConversationItemMessageSystem class. + * + * @param content the content value to set. + */ + @Generated + public RealtimeConversationItemMessageSystem(List content) { + this.content = content; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the role property: The role property. + * + * @return the role value. + */ + @Generated + @Override + public RealtimeConversationItemMessageType getRole() { + return this.role; + } + + /** + * Get the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @param id the id value to set. + * @return the RealtimeConversationItemMessageSystem object itself. + */ + @Generated + public RealtimeConversationItemMessageSystem setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @return the object value. + */ + @Generated + public RealtimeConversationItemObject getObject() { + return this.object; + } + + /** + * Set the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @param object the object value to set. + * @return the RealtimeConversationItemMessageSystem object itself. + */ + @Generated + public RealtimeConversationItemMessageSystem setObject(RealtimeConversationItemObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The status of the item. Has no effect on the conversation. + * + * @return the status value. + */ + @Generated + public RealtimeConversationItemMessageSystemStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of the item. Has no effect on the conversation. + * + * @param status the status value to set. + * @return the RealtimeConversationItemMessageSystem object itself. + */ + @Generated + public RealtimeConversationItemMessageSystem setStatus(RealtimeConversationItemMessageSystemStatus status) { + this.status = status; + return this; + } + + /** + * Get the content property: The content of the message. + * + * @return the content value. + */ + @Generated + public List getContent() { + return this.content; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("content", this.content, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString()); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageSystem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageSystem 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 RealtimeConversationItemMessageSystem. + */ + @Generated + public static RealtimeConversationItemMessageSystem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List content = null; + RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.SYSTEM; + String id = null; + RealtimeConversationItemObject object = null; + RealtimeConversationItemMessageSystemStatus status = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("content".equals(fieldName)) { + content + = reader.readArray(reader1 -> RealtimeConversationItemMessageSystemContent.fromJson(reader1)); + } else if ("role".equals(fieldName)) { + role = RealtimeConversationItemMessageType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("object".equals(fieldName)) { + object = RealtimeConversationItemObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = RealtimeConversationItemMessageSystemStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeConversationItemMessageSystem deserializedRealtimeConversationItemMessageSystem + = new RealtimeConversationItemMessageSystem(content); + deserializedRealtimeConversationItemMessageSystem.role = role; + deserializedRealtimeConversationItemMessageSystem.id = id; + deserializedRealtimeConversationItemMessageSystem.object = object; + deserializedRealtimeConversationItemMessageSystem.status = status; + deserializedRealtimeConversationItemMessageSystem.createdAt = createdAt; + deserializedRealtimeConversationItemMessageSystem.responseId = responseId; + return deserializedRealtimeConversationItemMessageSystem; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java new file mode 100644 index 0000000000000..ddbe77e8dcaaa --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java @@ -0,0 +1,124 @@ +// 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; + +/** + * The RealtimeConversationItemMessageSystemContent model. + */ +@Fluent +public final class RealtimeConversationItemMessageSystemContent + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemMessageSystemContentType type; + + /* + * The text property. + */ + @Generated + private String text; + + /** + * Creates an instance of RealtimeConversationItemMessageSystemContent class. + */ + @Generated + public RealtimeConversationItemMessageSystemContent() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeConversationItemMessageSystemContentType getType() { + return this.type; + } + + /** + * Set the type property: The type property. + * + * @param type the type value to set. + * @return the RealtimeConversationItemMessageSystemContent object itself. + */ + @Generated + public RealtimeConversationItemMessageSystemContent setType(RealtimeConversationItemMessageSystemContentType type) { + this.type = type; + return this; + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Set the text property: The text property. + * + * @param text the text value to set. + * @return the RealtimeConversationItemMessageSystemContent object itself. + */ + @Generated + public RealtimeConversationItemMessageSystemContent setText(String text) { + this.text = text; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("text", this.text); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageSystemContent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageSystemContent 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 RealtimeConversationItemMessageSystemContent. + */ + @Generated + public static RealtimeConversationItemMessageSystemContent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItemMessageSystemContent deserializedRealtimeConversationItemMessageSystemContent + = new RealtimeConversationItemMessageSystemContent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeConversationItemMessageSystemContent.type + = RealtimeConversationItemMessageSystemContentType.fromString(reader.getString()); + } else if ("text".equals(fieldName)) { + deserializedRealtimeConversationItemMessageSystemContent.text = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeConversationItemMessageSystemContent; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java new file mode 100644 index 0000000000000..ca1aa3e3beee4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java @@ -0,0 +1,52 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageSystemContentType. + */ +public enum RealtimeConversationItemMessageSystemContentType { + /** + * Enum value input_text. + */ + INPUT_TEXT("input_text"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageSystemContentType instance. + */ + private final String value; + + RealtimeConversationItemMessageSystemContentType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageSystemContentType instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageSystemContentType object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageSystemContentType fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageSystemContentType[] items + = RealtimeConversationItemMessageSystemContentType.values(); + for (RealtimeConversationItemMessageSystemContentType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java new file mode 100644 index 0000000000000..1ce2b5e7029ca --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java @@ -0,0 +1,61 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageSystemStatus. + */ +public enum RealtimeConversationItemMessageSystemStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageSystemStatus instance. + */ + private final String value; + + RealtimeConversationItemMessageSystemStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageSystemStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageSystemStatus object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageSystemStatus fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageSystemStatus[] items = RealtimeConversationItemMessageSystemStatus.values(); + for (RealtimeConversationItemMessageSystemStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java new file mode 100644 index 0000000000000..9e63f0986d68d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java @@ -0,0 +1,64 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageType. + */ +public final class RealtimeConversationItemMessageType + extends ExpandableStringEnum { + + /** + * Static value system for RealtimeConversationItemMessageType. + */ + @Generated + public static final RealtimeConversationItemMessageType SYSTEM = fromString("system"); + + /** + * Static value user for RealtimeConversationItemMessageType. + */ + @Generated + public static final RealtimeConversationItemMessageType USER = fromString("user"); + + /** + * Static value assistant for RealtimeConversationItemMessageType. + */ + @Generated + public static final RealtimeConversationItemMessageType ASSISTANT = fromString("assistant"); + + /** + * Creates a new instance of RealtimeConversationItemMessageType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeConversationItemMessageType() { + } + + /** + * Creates or finds a RealtimeConversationItemMessageType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeConversationItemMessageType. + */ + @Generated + public static RealtimeConversationItemMessageType fromString(String name) { + return fromString(name, RealtimeConversationItemMessageType.class); + } + + /** + * Gets known RealtimeConversationItemMessageType values. + * + * @return known RealtimeConversationItemMessageType values. + */ + @Generated + public static Collection values() { + return values(RealtimeConversationItemMessageType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java new file mode 100644 index 0000000000000..c45453faf2267 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java @@ -0,0 +1,269 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Realtime user message item + * + * A user message item in a Realtime conversation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeConversationItemMessageUser extends RealtimeConversationItemMessage { + + /* + * The type property. + */ + @Generated + private final RealtimeConversationItemType type = RealtimeConversationItemType.MESSAGE; + + /* + * The role property. + */ + @Generated + private RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.USER; + + /* + * The unique ID of the item. This may be provided by the client or generated by the server. + */ + @Generated + private String id; + + /* + * Identifier for the API object being returned - always `realtime.item`. Optional when creating a new item. + */ + @Generated + private RealtimeConversationItemObject object; + + /* + * The status of the item. Has no effect on the conversation. + */ + @Generated + private RealtimeConversationItemMessageUserStatus status; + + /* + * The content of the message. + */ + @Generated + private final List content; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeConversationItemMessageUser class. + * + * @param content the content value to set. + */ + @Generated + public RealtimeConversationItemMessageUser(List content) { + this.content = content; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the role property: The role property. + * + * @return the role value. + */ + @Generated + @Override + public RealtimeConversationItemMessageType getRole() { + return this.role; + } + + /** + * Get the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the item. This may be provided by the client or generated by the server. + * + * @param id the id value to set. + * @return the RealtimeConversationItemMessageUser object itself. + */ + @Generated + public RealtimeConversationItemMessageUser setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @return the object value. + */ + @Generated + public RealtimeConversationItemObject getObject() { + return this.object; + } + + /** + * Set the object property: Identifier for the API object being returned - always `realtime.item`. Optional when + * creating a new item. + * + * @param object the object value to set. + * @return the RealtimeConversationItemMessageUser object itself. + */ + @Generated + public RealtimeConversationItemMessageUser setObject(RealtimeConversationItemObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The status of the item. Has no effect on the conversation. + * + * @return the status value. + */ + @Generated + public RealtimeConversationItemMessageUserStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The status of the item. Has no effect on the conversation. + * + * @param status the status value to set. + * @return the RealtimeConversationItemMessageUser object itself. + */ + @Generated + public RealtimeConversationItemMessageUser setStatus(RealtimeConversationItemMessageUserStatus status) { + this.status = status; + return this; + } + + /** + * Get the content property: The content of the message. + * + * @return the content value. + */ + @Generated + public List getContent() { + return this.content; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("content", this.content, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("role", this.role == null ? null : this.role.toString()); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageUser from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageUser 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 RealtimeConversationItemMessageUser. + */ + @Generated + public static RealtimeConversationItemMessageUser fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List content = null; + RealtimeConversationItemMessageType role = RealtimeConversationItemMessageType.USER; + String id = null; + RealtimeConversationItemObject object = null; + RealtimeConversationItemMessageUserStatus status = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("content".equals(fieldName)) { + content = reader.readArray(reader1 -> RealtimeConversationItemMessageUserContent.fromJson(reader1)); + } else if ("role".equals(fieldName)) { + role = RealtimeConversationItemMessageType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("object".equals(fieldName)) { + object = RealtimeConversationItemObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = RealtimeConversationItemMessageUserStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeConversationItemMessageUser deserializedRealtimeConversationItemMessageUser + = new RealtimeConversationItemMessageUser(content); + deserializedRealtimeConversationItemMessageUser.role = role; + deserializedRealtimeConversationItemMessageUser.id = id; + deserializedRealtimeConversationItemMessageUser.object = object; + deserializedRealtimeConversationItemMessageUser.status = status; + deserializedRealtimeConversationItemMessageUser.createdAt = createdAt; + deserializedRealtimeConversationItemMessageUser.responseId = responseId; + return deserializedRealtimeConversationItemMessageUser; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java new file mode 100644 index 0000000000000..b0b225a5c7309 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java @@ -0,0 +1,250 @@ +// 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; + +/** + * The RealtimeConversationItemMessageUserContent model. + */ +@Fluent +public final class RealtimeConversationItemMessageUserContent + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemMessageUserContentType type; + + /* + * The text property. + */ + @Generated + private String text; + + /* + * The audio property. + */ + @Generated + private String audio; + + /* + * The image_url property. + */ + @Generated + private String imageUrl; + + /* + * The detail property. + */ + @Generated + private RealtimeConversationItemMessageUserContentDetail detail; + + /* + * The transcript property. + */ + @Generated + private String transcript; + + /** + * Creates an instance of RealtimeConversationItemMessageUserContent class. + */ + @Generated + public RealtimeConversationItemMessageUserContent() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeConversationItemMessageUserContentType getType() { + return this.type; + } + + /** + * Set the type property: The type property. + * + * @param type the type value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent setType(RealtimeConversationItemMessageUserContentType type) { + this.type = type; + return this; + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Set the text property: The text property. + * + * @param text the text value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent setText(String text) { + this.text = text; + return this; + } + + /** + * Get the audio property: The audio property. + * + * @return the audio value. + */ + @Generated + public String getAudio() { + return this.audio; + } + + /** + * Set the audio property: The audio property. + * + * @param audio the audio value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent setAudio(String audio) { + this.audio = audio; + return this; + } + + /** + * Get the imageUrl property: The image_url property. + * + * @return the imageUrl value. + */ + @Generated + public String getImageUrl() { + return this.imageUrl; + } + + /** + * Set the imageUrl property: The image_url property. + * + * @param imageUrl the imageUrl value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + return this; + } + + /** + * Get the detail property: The detail property. + * + * @return the detail value. + */ + @Generated + public RealtimeConversationItemMessageUserContentDetail getDetail() { + return this.detail; + } + + /** + * Set the detail property: The detail property. + * + * @param detail the detail value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent + setDetail(RealtimeConversationItemMessageUserContentDetail detail) { + this.detail = detail; + return this; + } + + /** + * Get the transcript property: The transcript property. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * Set the transcript property: The transcript property. + * + * @param transcript the transcript value to set. + * @return the RealtimeConversationItemMessageUserContent object itself. + */ + @Generated + public RealtimeConversationItemMessageUserContent setTranscript(String transcript) { + this.transcript = transcript; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("audio", this.audio); + jsonWriter.writeStringField("image_url", this.imageUrl); + jsonWriter.writeStringField("detail", this.detail == null ? null : this.detail.toString()); + jsonWriter.writeStringField("transcript", this.transcript); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeConversationItemMessageUserContent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeConversationItemMessageUserContent 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 RealtimeConversationItemMessageUserContent. + */ + @Generated + public static RealtimeConversationItemMessageUserContent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeConversationItemMessageUserContent deserializedRealtimeConversationItemMessageUserContent + = new RealtimeConversationItemMessageUserContent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.type + = RealtimeConversationItemMessageUserContentType.fromString(reader.getString()); + } else if ("text".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.text = reader.getString(); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.audio = reader.getString(); + } else if ("image_url".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.imageUrl = reader.getString(); + } else if ("detail".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.detail + = RealtimeConversationItemMessageUserContentDetail.fromString(reader.getString()); + } else if ("transcript".equals(fieldName)) { + deserializedRealtimeConversationItemMessageUserContent.transcript = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeConversationItemMessageUserContent; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java new file mode 100644 index 0000000000000..606c0f1313997 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java @@ -0,0 +1,62 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageUserContentDetail. + */ +public enum RealtimeConversationItemMessageUserContentDetail { + /** + * Enum value auto. + */ + AUTO("auto"), + + /** + * Enum value low. + */ + LOW("low"), + + /** + * Enum value high. + */ + HIGH("high"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageUserContentDetail instance. + */ + private final String value; + + RealtimeConversationItemMessageUserContentDetail(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageUserContentDetail instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageUserContentDetail object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageUserContentDetail fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageUserContentDetail[] items + = RealtimeConversationItemMessageUserContentDetail.values(); + for (RealtimeConversationItemMessageUserContentDetail item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java new file mode 100644 index 0000000000000..2d9f9a658c564 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java @@ -0,0 +1,62 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageUserContentType. + */ +public enum RealtimeConversationItemMessageUserContentType { + /** + * Enum value input_text. + */ + INPUT_TEXT("input_text"), + + /** + * Enum value input_audio. + */ + INPUT_AUDIO("input_audio"), + + /** + * Enum value input_image. + */ + INPUT_IMAGE("input_image"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageUserContentType instance. + */ + private final String value; + + RealtimeConversationItemMessageUserContentType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageUserContentType instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageUserContentType object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageUserContentType fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageUserContentType[] items + = RealtimeConversationItemMessageUserContentType.values(); + for (RealtimeConversationItemMessageUserContentType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java new file mode 100644 index 0000000000000..5254358fbae81 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java @@ -0,0 +1,61 @@ +// 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; + +/** + * Defines values for RealtimeConversationItemMessageUserStatus. + */ +public enum RealtimeConversationItemMessageUserStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a RealtimeConversationItemMessageUserStatus instance. + */ + private final String value; + + RealtimeConversationItemMessageUserStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeConversationItemMessageUserStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeConversationItemMessageUserStatus object, or null if unable to parse. + */ + public static RealtimeConversationItemMessageUserStatus fromString(String value) { + if (value == null) { + return null; + } + RealtimeConversationItemMessageUserStatus[] items = RealtimeConversationItemMessageUserStatus.values(); + for (RealtimeConversationItemMessageUserStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java new file mode 100644 index 0000000000000..c82151c1abf54 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines values for RealtimeConversationItemObject. + */ +public final class RealtimeConversationItemObject extends ExpandableStringEnum { + + /** + * Static value realtime.item for RealtimeConversationItemObject. + */ + @Generated + public static final RealtimeConversationItemObject REALTIME_ITEM = fromString("realtime.item"); + + /** + * Creates a new instance of RealtimeConversationItemObject value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeConversationItemObject() { + } + + /** + * Creates or finds a RealtimeConversationItemObject from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeConversationItemObject. + */ + @Generated + public static RealtimeConversationItemObject fromString(String name) { + return fromString(name, RealtimeConversationItemObject.class); + } + + /** + * Gets known RealtimeConversationItemObject values. + * + * @return known RealtimeConversationItemObject values. + */ + @Generated + public static Collection values() { + return values(RealtimeConversationItemObject.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java new file mode 100644 index 0000000000000..c202715a14f76 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.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.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines values for RealtimeConversationItemType. + */ +public final class RealtimeConversationItemType extends ExpandableStringEnum { + + /** + * Static value function_call for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType FUNCTION_CALL = fromString("function_call"); + + /** + * Static value function_call_output for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType FUNCTION_CALL_OUTPUT = fromString("function_call_output"); + + /** + * Static value mcp_approval_response for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType MCP_APPROVAL_RESPONSE = fromString("mcp_approval_response"); + + /** + * Static value mcp_list_tools for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType MCP_LIST_TOOLS = fromString("mcp_list_tools"); + + /** + * Static value mcp_call for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType MCP_CALL = fromString("mcp_call"); + + /** + * Static value mcp_approval_request for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType MCP_APPROVAL_REQUEST = fromString("mcp_approval_request"); + + /** + * Static value message for RealtimeConversationItemType. + */ + @Generated + public static final RealtimeConversationItemType MESSAGE = fromString("message"); + + /** + * Creates a new instance of RealtimeConversationItemType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeConversationItemType() { + } + + /** + * Creates or finds a RealtimeConversationItemType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeConversationItemType. + */ + @Generated + public static RealtimeConversationItemType fromString(String name) { + return fromString(name, RealtimeConversationItemType.class); + } + + /** + * Gets known RealtimeConversationItemType values. + * + * @return known RealtimeConversationItemType values. + */ + @Generated + public static Collection values() { + return values(RealtimeConversationItemType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java new file mode 100644 index 0000000000000..9a6e354bdea91 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java @@ -0,0 +1,215 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP approval request + * + * A Realtime item requesting human approval of a tool invocation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeMCPApprovalRequest extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.MCP_APPROVAL_REQUEST; + + /* + * The unique ID of the approval request. + */ + @Generated + private final String id; + + /* + * The label of the MCP server making the request. + */ + @Generated + private final String serverLabel; + + /* + * The name of the tool to run. + */ + @Generated + private final String name; + + /* + * A JSON string of arguments for the tool. + */ + @Generated + private final String arguments; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeMCPApprovalRequest class. + * + * @param id the id value to set. + * @param serverLabel the serverLabel value to set. + * @param name the name value to set. + * @param arguments the arguments value to set. + */ + @Generated + public RealtimeMCPApprovalRequest(String id, String serverLabel, String name, String arguments) { + this.id = id; + this.serverLabel = serverLabel; + this.name = name; + this.arguments = arguments; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the approval request. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the serverLabel property: The label of the MCP server making the request. + * + * @return the serverLabel value. + */ + @Generated + public String getServerLabel() { + return this.serverLabel; + } + + /** + * Get the name property: The name of the tool to run. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the arguments property: A JSON string of arguments for the tool. + * + * @return the arguments value. + */ + @Generated + public String getArguments() { + return this.arguments; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("server_label", this.serverLabel); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("arguments", this.arguments); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPApprovalRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPApprovalRequest 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 RealtimeMCPApprovalRequest. + */ + @Generated + public static RealtimeMCPApprovalRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String serverLabel = null; + String name = null; + String arguments = null; + RealtimeConversationItemType type = RealtimeConversationItemType.MCP_APPROVAL_REQUEST; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("server_label".equals(fieldName)) { + serverLabel = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("arguments".equals(fieldName)) { + arguments = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeMCPApprovalRequest deserializedRealtimeMCPApprovalRequest + = new RealtimeMCPApprovalRequest(id, serverLabel, name, arguments); + deserializedRealtimeMCPApprovalRequest.type = type; + deserializedRealtimeMCPApprovalRequest.createdAt = createdAt; + deserializedRealtimeMCPApprovalRequest.responseId = responseId; + return deserializedRealtimeMCPApprovalRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java new file mode 100644 index 0000000000000..d709f22bf0931 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java @@ -0,0 +1,226 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP approval response + * + * A Realtime item responding to an MCP approval request. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeMCPApprovalResponse extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.MCP_APPROVAL_RESPONSE; + + /* + * The unique ID of the approval response. + */ + @Generated + private final String id; + + /* + * The ID of the approval request being answered. + */ + @Generated + private final String approvalRequestId; + + /* + * Whether the request was approved. + */ + @Generated + private final boolean approve; + + /* + * The reason property. + */ + @Generated + private String reason; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeMCPApprovalResponse class. + * + * @param id the id value to set. + * @param approvalRequestId the approvalRequestId value to set. + * @param approve the approve value to set. + */ + @Generated + public RealtimeMCPApprovalResponse(String id, String approvalRequestId, boolean approve) { + this.id = id; + this.approvalRequestId = approvalRequestId; + this.approve = approve; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the approval response. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the approvalRequestId property: The ID of the approval request being answered. + * + * @return the approvalRequestId value. + */ + @Generated + public String getApprovalRequestId() { + return this.approvalRequestId; + } + + /** + * Get the approve property: Whether the request was approved. + * + * @return the approve value. + */ + @Generated + public boolean isApprove() { + return this.approve; + } + + /** + * Get the reason property: The reason property. + * + * @return the reason value. + */ + @Generated + public String getReason() { + return this.reason; + } + + /** + * Set the reason property: The reason property. + * + * @param reason the reason value to set. + * @return the RealtimeMCPApprovalResponse object itself. + */ + @Generated + public RealtimeMCPApprovalResponse setReason(String reason) { + this.reason = reason; + return this; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("approval_request_id", this.approvalRequestId); + jsonWriter.writeBooleanField("approve", this.approve); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("reason", this.reason); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPApprovalResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPApprovalResponse 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 RealtimeMCPApprovalResponse. + */ + @Generated + public static RealtimeMCPApprovalResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String approvalRequestId = null; + boolean approve = false; + RealtimeConversationItemType type = RealtimeConversationItemType.MCP_APPROVAL_RESPONSE; + String reason = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("approval_request_id".equals(fieldName)) { + approvalRequestId = reader.getString(); + } else if ("approve".equals(fieldName)) { + approve = reader.getBoolean(); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("reason".equals(fieldName)) { + reason = reader.getString(); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeMCPApprovalResponse deserializedRealtimeMCPApprovalResponse + = new RealtimeMCPApprovalResponse(id, approvalRequestId, approve); + deserializedRealtimeMCPApprovalResponse.type = type; + deserializedRealtimeMCPApprovalResponse.reason = reason; + deserializedRealtimeMCPApprovalResponse.createdAt = createdAt; + deserializedRealtimeMCPApprovalResponse.responseId = responseId; + return deserializedRealtimeMCPApprovalResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java new file mode 100644 index 0000000000000..7e9f589a055b3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.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 RealtimeMCPError model. + */ +@Immutable +public class RealtimeMCPError implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeMcpErrorType type = RealtimeMcpErrorType.fromString("RealtimeMCPError"); + + /** + * Creates an instance of RealtimeMCPError class. + */ + @Generated + public RealtimeMCPError() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeMcpErrorType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPError 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 RealtimeMCPError. + */ + @Generated + public static RealtimeMCPError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("protocol_error".equals(discriminatorValue)) { + return RealtimeMCPProtocolError.fromJson(readerToUse.reset()); + } else if ("tool_execution_error".equals(discriminatorValue)) { + return RealtimeMCPToolExecutionError.fromJson(readerToUse.reset()); + } else if ("http_error".equals(discriminatorValue)) { + return RealtimeMcpHttpError.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeMCPError fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeMCPError deserializedRealtimeMCPError = new RealtimeMCPError(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeMCPError.type = RealtimeMcpErrorType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeMCPError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java new file mode 100644 index 0000000000000..f4e30487fd436 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java @@ -0,0 +1,204 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Realtime MCP list tools + * + * A Realtime item listing tools available on an MCP server. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeMCPListTools extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.MCP_LIST_TOOLS; + + /* + * The unique ID of the list. + */ + @Generated + private String id; + + /* + * The label of the MCP server. + */ + @Generated + private final String serverLabel; + + /* + * The tools available on the server. + */ + @Generated + private final List tools; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeMCPListTools class. + * + * @param serverLabel the serverLabel value to set. + * @param tools the tools value to set. + */ + @Generated + public RealtimeMCPListTools(String serverLabel, List tools) { + this.serverLabel = serverLabel; + this.tools = tools; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the list. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the list. + * + * @param id the id value to set. + * @return the RealtimeMCPListTools object itself. + */ + @Generated + public RealtimeMCPListTools setId(String id) { + this.id = id; + return this; + } + + /** + * Get the serverLabel property: The label of the MCP server. + * + * @return the serverLabel value. + */ + @Generated + public String getServerLabel() { + return this.serverLabel; + } + + /** + * Get the tools property: The tools available on the server. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("server_label", this.serverLabel); + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("id", this.id); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPListTools from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPListTools 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 RealtimeMCPListTools. + */ + @Generated + public static RealtimeMCPListTools fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String serverLabel = null; + List tools = null; + RealtimeConversationItemType type = RealtimeConversationItemType.MCP_LIST_TOOLS; + String id = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("server_label".equals(fieldName)) { + serverLabel = reader.getString(); + } else if ("tools".equals(fieldName)) { + tools = reader.readArray(reader1 -> McpListToolsTool.fromJson(reader1)); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeMCPListTools deserializedRealtimeMCPListTools = new RealtimeMCPListTools(serverLabel, tools); + deserializedRealtimeMCPListTools.type = type; + deserializedRealtimeMCPListTools.id = id; + deserializedRealtimeMCPListTools.createdAt = createdAt; + deserializedRealtimeMCPListTools.responseId = responseId; + return deserializedRealtimeMCPListTools; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java new file mode 100644 index 0000000000000..d8076fa4e40bd --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP protocol error. + */ +@Immutable +public final class RealtimeMCPProtocolError extends RealtimeMCPError { + + /* + * The type property. + */ + @Generated + private RealtimeMcpErrorType type = RealtimeMcpErrorType.PROTOCOL_ERROR; + + /* + * The code property. + */ + @Generated + private final long code; + + /* + * The message property. + */ + @Generated + private final String message; + + /** + * Creates an instance of RealtimeMCPProtocolError class. + * + * @param code the code value to set. + * @param message the message value to set. + */ + @Generated + public RealtimeMCPProtocolError(long code, String message) { + this.code = code; + this.message = message; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeMcpErrorType getType() { + return this.type; + } + + /** + * Get the code property: The code property. + * + * @return the code value. + */ + @Generated + public long getCode() { + return this.code; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("code", this.code); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPProtocolError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPProtocolError 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 RealtimeMCPProtocolError. + */ + @Generated + public static RealtimeMCPProtocolError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + long code = 0L; + String message = null; + RealtimeMcpErrorType type = RealtimeMcpErrorType.PROTOCOL_ERROR; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("code".equals(fieldName)) { + code = reader.getLong(); + } else if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeMcpErrorType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeMCPProtocolError deserializedRealtimeMCPProtocolError = new RealtimeMCPProtocolError(code, message); + deserializedRealtimeMCPProtocolError.type = type; + return deserializedRealtimeMCPProtocolError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java new file mode 100644 index 0000000000000..45a8a1b0e8108 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java @@ -0,0 +1,314 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP tool call + * + * A Realtime item representing an invocation of a tool on an MCP server. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class RealtimeMCPToolCall extends RealtimeConversationItem { + + /* + * The type property. + */ + @Generated + private RealtimeConversationItemType type = RealtimeConversationItemType.MCP_CALL; + + /* + * The unique ID of the tool call. + */ + @Generated + private final String id; + + /* + * The label of the MCP server running the tool. + */ + @Generated + private final String serverLabel; + + /* + * The name of the tool that was run. + */ + @Generated + private final String name; + + /* + * A JSON string of the arguments passed to the tool. + */ + @Generated + private final String arguments; + + /* + * The approval_request_id property. + */ + @Generated + private String approvalRequestId; + + /* + * The output property. + */ + @Generated + private String output; + + /* + * The error property. + */ + @Generated + private RealtimeMCPError error; + + /* + * The Unix timestamp (in seconds) for when the item was persisted. + */ + @Generated + private Long createdAt; + + /* + * The id of the response that produced this item, when applicable. + */ + @Generated + private String responseId; + + /** + * Creates an instance of RealtimeMCPToolCall class. + * + * @param id the id value to set. + * @param serverLabel the serverLabel value to set. + * @param name the name value to set. + * @param arguments the arguments value to set. + */ + @Generated + public RealtimeMCPToolCall(String id, String serverLabel, String name, String arguments) { + this.id = id; + this.serverLabel = serverLabel; + this.name = name; + this.arguments = arguments; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeConversationItemType getType() { + return this.type; + } + + /** + * Get the id property: The unique ID of the tool call. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the serverLabel property: The label of the MCP server running the tool. + * + * @return the serverLabel value. + */ + @Generated + public String getServerLabel() { + return this.serverLabel; + } + + /** + * Get the name property: The name of the tool that was run. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the arguments property: A JSON string of the arguments passed to the tool. + * + * @return the arguments value. + */ + @Generated + public String getArguments() { + return this.arguments; + } + + /** + * Get the approvalRequestId property: The approval_request_id property. + * + * @return the approvalRequestId value. + */ + @Generated + public String getApprovalRequestId() { + return this.approvalRequestId; + } + + /** + * Set the approvalRequestId property: The approval_request_id property. + * + * @param approvalRequestId the approvalRequestId value to set. + * @return the RealtimeMCPToolCall object itself. + */ + @Generated + public RealtimeMCPToolCall setApprovalRequestId(String approvalRequestId) { + this.approvalRequestId = approvalRequestId; + return this; + } + + /** + * Get the output property: The output property. + * + * @return the output value. + */ + @Generated + public String getOutput() { + return this.output; + } + + /** + * Set the output property: The output property. + * + * @param output the output value to set. + * @return the RealtimeMCPToolCall object itself. + */ + @Generated + public RealtimeMCPToolCall setOutput(String output) { + this.output = output; + return this; + } + + /** + * Get the error property: The error property. + * + * @return the error value. + */ + @Generated + public RealtimeMCPError getError() { + return this.error; + } + + /** + * Set the error property: The error property. + * + * @param error the error value to set. + * @return the RealtimeMCPToolCall object itself. + */ + @Generated + public RealtimeMCPToolCall setError(RealtimeMCPError error) { + this.error = error; + return this; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the item was persisted. + * + * @return the createdAt value. + */ + @Generated + public Long getCreatedAt() { + return this.createdAt; + } + + /** + * Get the responseId property: The id of the response that produced this item, when applicable. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("server_label", this.serverLabel); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("arguments", this.arguments); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("approval_request_id", this.approvalRequestId); + jsonWriter.writeStringField("output", this.output); + jsonWriter.writeJsonField("error", this.error); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPToolCall from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPToolCall 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 RealtimeMCPToolCall. + */ + @Generated + public static RealtimeMCPToolCall fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String serverLabel = null; + String name = null; + String arguments = null; + RealtimeConversationItemType type = RealtimeConversationItemType.MCP_CALL; + String approvalRequestId = null; + String output = null; + RealtimeMCPError error = null; + Long createdAt = null; + String responseId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("server_label".equals(fieldName)) { + serverLabel = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("arguments".equals(fieldName)) { + arguments = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeConversationItemType.fromString(reader.getString()); + } else if ("approval_request_id".equals(fieldName)) { + approvalRequestId = reader.getString(); + } else if ("output".equals(fieldName)) { + output = reader.getString(); + } else if ("error".equals(fieldName)) { + error = RealtimeMCPError.fromJson(reader); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeMCPToolCall deserializedRealtimeMCPToolCall + = new RealtimeMCPToolCall(id, serverLabel, name, arguments); + deserializedRealtimeMCPToolCall.type = type; + deserializedRealtimeMCPToolCall.approvalRequestId = approvalRequestId; + deserializedRealtimeMCPToolCall.output = output; + deserializedRealtimeMCPToolCall.error = error; + deserializedRealtimeMCPToolCall.createdAt = createdAt; + deserializedRealtimeMCPToolCall.responseId = responseId; + return deserializedRealtimeMCPToolCall; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java new file mode 100644 index 0000000000000..13dcf21512bdf --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP tool execution error. + */ +@Immutable +public final class RealtimeMCPToolExecutionError extends RealtimeMCPError { + + /* + * The type property. + */ + @Generated + private RealtimeMcpErrorType type = RealtimeMcpErrorType.TOOL_EXECUTION_ERROR; + + /* + * The message property. + */ + @Generated + private final String message; + + /** + * Creates an instance of RealtimeMCPToolExecutionError class. + * + * @param message the message value to set. + */ + @Generated + public RealtimeMCPToolExecutionError(String message) { + this.message = message; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeMcpErrorType getType() { + return this.type; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMCPToolExecutionError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMCPToolExecutionError 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 RealtimeMCPToolExecutionError. + */ + @Generated + public static RealtimeMCPToolExecutionError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String message = null; + RealtimeMcpErrorType type = RealtimeMcpErrorType.TOOL_EXECUTION_ERROR; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeMcpErrorType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeMCPToolExecutionError deserializedRealtimeMCPToolExecutionError + = new RealtimeMCPToolExecutionError(message); + deserializedRealtimeMCPToolExecutionError.type = type; + return deserializedRealtimeMCPToolExecutionError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.java new file mode 100644 index 0000000000000..830f6204b41ea --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpErrorType.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; + +/** + * Defines values for RealtimeMcpErrorType. + */ +public final class RealtimeMcpErrorType extends ExpandableStringEnum { + + /** + * Static value protocol_error for RealtimeMcpErrorType. + */ + @Generated + public static final RealtimeMcpErrorType PROTOCOL_ERROR = fromString("protocol_error"); + + /** + * Static value tool_execution_error for RealtimeMcpErrorType. + */ + @Generated + public static final RealtimeMcpErrorType TOOL_EXECUTION_ERROR = fromString("tool_execution_error"); + + /** + * Static value http_error for RealtimeMcpErrorType. + */ + @Generated + public static final RealtimeMcpErrorType HTTP_ERROR = fromString("http_error"); + + /** + * Creates a new instance of RealtimeMcpErrorType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeMcpErrorType() { + } + + /** + * Creates or finds a RealtimeMcpErrorType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeMcpErrorType. + */ + @Generated + public static RealtimeMcpErrorType fromString(String name) { + return fromString(name, RealtimeMcpErrorType.class); + } + + /** + * Gets known RealtimeMcpErrorType values. + * + * @return known RealtimeMcpErrorType values. + */ + @Generated + public static Collection values() { + return values(RealtimeMcpErrorType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java new file mode 100644 index 0000000000000..4d45f9e38f0ab --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Realtime MCP HTTP error. + */ +@Immutable +public final class RealtimeMcpHttpError extends RealtimeMCPError { + + /* + * The type property. + */ + @Generated + private RealtimeMcpErrorType type = RealtimeMcpErrorType.HTTP_ERROR; + + /* + * The code property. + */ + @Generated + private final long code; + + /* + * The message property. + */ + @Generated + private final String message; + + /** + * Creates an instance of RealtimeMcpHttpError class. + * + * @param code the code value to set. + * @param message the message value to set. + */ + @Generated + public RealtimeMcpHttpError(long code, String message) { + this.code = code; + this.message = message; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeMcpErrorType getType() { + return this.type; + } + + /** + * Get the code property: The code property. + * + * @return the code value. + */ + @Generated + public long getCode() { + return this.code; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("code", this.code); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeMcpHttpError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeMcpHttpError 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 RealtimeMcpHttpError. + */ + @Generated + public static RealtimeMcpHttpError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + long code = 0L; + String message = null; + RealtimeMcpErrorType type = RealtimeMcpErrorType.HTTP_ERROR; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("code".equals(fieldName)) { + code = reader.getLong(); + } else if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeMcpErrorType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeMcpHttpError deserializedRealtimeMcpHttpError = new RealtimeMcpHttpError(code, message); + deserializedRealtimeMcpHttpError.type = type; + return deserializedRealtimeMcpHttpError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java new file mode 100644 index 0000000000000..85a978ccef2d5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java @@ -0,0 +1,231 @@ +// 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 realtime server event. + */ +@Immutable +public class RealtimeServerEvent implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.fromString("RealtimeServerEvent"); + + /** + * Creates an instance of RealtimeServerEvent class. + */ + @Generated + protected RealtimeServerEvent() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEvent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEvent 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 RealtimeServerEvent. + */ + @Generated + public static RealtimeServerEvent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("conversation.created".equals(discriminatorValue)) { + return RealtimeServerEventConversationCreated.fromJson(readerToUse.reset()); + } else if ("conversation.item.created".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemCreated.fromJson(readerToUse.reset()); + } else if ("conversation.item.deleted".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemDeleted.fromJson(readerToUse.reset()); + } else if ("conversation.item.input_audio_transcription.completed".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemInputAudioTranscriptionCompleted + .fromJson(readerToUse.reset()); + } else if ("conversation.item.input_audio_transcription.delta".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemInputAudioTranscriptionDelta + .fromJson(readerToUse.reset()); + } else if ("conversation.item.input_audio_transcription.failed".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemInputAudioTranscriptionFailed + .fromJson(readerToUse.reset()); + } else if ("conversation.item.retrieved".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemRetrieved.fromJson(readerToUse.reset()); + } else if ("conversation.item.truncated".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemTruncated.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.cleared".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferCleared.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.committed".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferCommitted.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.dtmf_event_received".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferDtmfEventReceived.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.speech_started".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferSpeechStarted.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.speech_stopped".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferSpeechStopped.fromJson(readerToUse.reset()); + } else if ("rate_limits.updated".equals(discriminatorValue)) { + return RealtimeServerEventRateLimitsUpdated.fromJson(readerToUse.reset()); + } else if ("response.output_audio.delta".equals(discriminatorValue)) { + return RealtimeServerEventResponseAudioDelta.fromJson(readerToUse.reset()); + } else if ("response.output_audio.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseAudioDone.fromJson(readerToUse.reset()); + } else if ("response.output_audio_transcript.delta".equals(discriminatorValue)) { + return RealtimeServerEventResponseAudioTranscriptDelta.fromJson(readerToUse.reset()); + } else if ("response.output_audio_transcript.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseAudioTranscriptDone.fromJson(readerToUse.reset()); + } else if ("response.content_part.added".equals(discriminatorValue)) { + return RealtimeServerEventResponseContentPartAdded.fromJson(readerToUse.reset()); + } else if ("response.content_part.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseContentPartDone.fromJson(readerToUse.reset()); + } else if ("response.created".equals(discriminatorValue)) { + return RealtimeServerEventResponseCreated.fromJson(readerToUse.reset()); + } else if ("response.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseDone.fromJson(readerToUse.reset()); + } else if ("response.function_call_arguments.delta".equals(discriminatorValue)) { + return RealtimeServerEventResponseFunctionCallArgumentsDelta.fromJson(readerToUse.reset()); + } else if ("response.function_call_arguments.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseFunctionCallArgumentsDone.fromJson(readerToUse.reset()); + } else if ("response.output_item.added".equals(discriminatorValue)) { + return RealtimeServerEventResponseOutputItemAdded.fromJson(readerToUse.reset()); + } else if ("response.output_item.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseOutputItemDone.fromJson(readerToUse.reset()); + } else if ("response.output_text.delta".equals(discriminatorValue)) { + return RealtimeServerEventResponseTextDelta.fromJson(readerToUse.reset()); + } else if ("response.output_text.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseTextDone.fromJson(readerToUse.reset()); + } else if ("session.created".equals(discriminatorValue)) { + return RealtimeServerEventSessionCreated.fromJson(readerToUse.reset()); + } else if ("session.updated".equals(discriminatorValue)) { + return RealtimeServerEventSessionUpdated.fromJson(readerToUse.reset()); + } else if ("output_audio_buffer.started".equals(discriminatorValue)) { + return RealtimeServerEventOutputAudioBufferStarted.fromJson(readerToUse.reset()); + } else if ("output_audio_buffer.stopped".equals(discriminatorValue)) { + return RealtimeServerEventOutputAudioBufferStopped.fromJson(readerToUse.reset()); + } else if ("output_audio_buffer.cleared".equals(discriminatorValue)) { + return RealtimeServerEventOutputAudioBufferCleared.fromJson(readerToUse.reset()); + } else if ("conversation.item.added".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemAdded.fromJson(readerToUse.reset()); + } else if ("conversation.item.done".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemDone.fromJson(readerToUse.reset()); + } else if ("input_audio_buffer.timeout_triggered".equals(discriminatorValue)) { + return RealtimeServerEventInputAudioBufferTimeoutTriggered.fromJson(readerToUse.reset()); + } else if ("conversation.item.input_audio_transcription.segment".equals(discriminatorValue)) { + return RealtimeServerEventConversationItemInputAudioTranscriptionSegment + .fromJson(readerToUse.reset()); + } else if ("mcp_list_tools.in_progress".equals(discriminatorValue)) { + return RealtimeServerEventMCPListToolsInProgress.fromJson(readerToUse.reset()); + } else if ("mcp_list_tools.completed".equals(discriminatorValue)) { + return RealtimeServerEventMCPListToolsCompleted.fromJson(readerToUse.reset()); + } else if ("mcp_list_tools.failed".equals(discriminatorValue)) { + return RealtimeServerEventMCPListToolsFailed.fromJson(readerToUse.reset()); + } else if ("response.mcp_call_arguments.delta".equals(discriminatorValue)) { + return RealtimeServerEventResponseMCPCallArgumentsDelta.fromJson(readerToUse.reset()); + } else if ("response.mcp_call_arguments.done".equals(discriminatorValue)) { + return RealtimeServerEventResponseMCPCallArgumentsDone.fromJson(readerToUse.reset()); + } else if ("response.mcp_call.in_progress".equals(discriminatorValue)) { + return RealtimeServerEventResponseMCPCallInProgress.fromJson(readerToUse.reset()); + } else if ("response.mcp_call.completed".equals(discriminatorValue)) { + return RealtimeServerEventResponseMCPCallCompleted.fromJson(readerToUse.reset()); + } else if ("response.mcp_call.failed".equals(discriminatorValue)) { + return RealtimeServerEventResponseMCPCallFailed.fromJson(readerToUse.reset()); + } else if ("error".equals(discriminatorValue)) { + return RealtimeServerEventRealtimeServerEventError.fromJson(readerToUse.reset()); + } else if ("session.subagent.started".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionSubagentStarted.fromJson(readerToUse.reset()); + } else if ("session.subagent.aborted".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionSubagentAborted.fromJson(readerToUse.reset()); + } else if ("warning".equals(discriminatorValue)) { + return VoiceAgentServerEventWarning.fromJson(readerToUse.reset()); + } else if ("session.avatar.connecting".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionAvatarConnecting.fromJson(readerToUse.reset()); + } else if ("rtc.call.sdp.created".equals(discriminatorValue)) { + return VoiceAgentServerEventRtcCallSdpCreated.fromJson(readerToUse.reset()); + } else if ("rtc.call.error".equals(discriminatorValue)) { + return VoiceAgentServerEventRtcCallError.fromJson(readerToUse.reset()); + } else if ("session.avatar.switch_to_speaking".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionAvatarSwitchToSpeaking.fromJson(readerToUse.reset()); + } else if ("session.avatar.switch_to_idle".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionAvatarSwitchToIdle.fromJson(readerToUse.reset()); + } else if ("response.audio_timestamp.delta".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAudioTimestampDelta.fromJson(readerToUse.reset()); + } else if ("response.audio_timestamp.done".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAudioTimestampDone.fromJson(readerToUse.reset()); + } else if ("response.animation_blendshapes.delta".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAnimationBlendshapesDelta.fromJson(readerToUse.reset()); + } else if ("response.animation_blendshapes.done".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAnimationBlendshapesDone.fromJson(readerToUse.reset()); + } else if ("response.animation_viseme.delta".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAnimationVisemeDelta.fromJson(readerToUse.reset()); + } else if ("response.animation_viseme.done".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseAnimationVisemeDone.fromJson(readerToUse.reset()); + } else if ("response.video.delta".equals(discriminatorValue)) { + return VoiceAgentServerEventResponseVideoDelta.fromJson(readerToUse.reset()); + } else if ("session.subagent.completed".equals(discriminatorValue)) { + return VoiceAgentServerEventSessionSubagentCompleted.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeServerEvent fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEvent deserializedRealtimeServerEvent = new RealtimeServerEvent(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeServerEvent.type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEvent; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java new file mode 100644 index 0000000000000..de7e10760453e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a conversation is created. Emitted right after session creation. + */ +@Immutable +public final class RealtimeServerEventConversationCreated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_CREATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The conversation resource. + */ + @Generated + private final RealtimeServerEventConversationCreatedConversation conversation; + + /** + * Creates an instance of RealtimeServerEventConversationCreated class. + * + * @param eventId the eventId value to set. + * @param conversation the conversation value to set. + */ + @Generated + private RealtimeServerEventConversationCreated(String eventId, + RealtimeServerEventConversationCreatedConversation conversation) { + this.eventId = eventId; + this.conversation = conversation; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the conversation property: The conversation resource. + * + * @return the conversation value. + */ + @Generated + public RealtimeServerEventConversationCreatedConversation getConversation() { + return this.conversation; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("conversation", this.conversation); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationCreated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationCreated 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 RealtimeServerEventConversationCreated. + */ + @Generated + public static RealtimeServerEventConversationCreated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeServerEventConversationCreatedConversation conversation = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_CREATED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("conversation".equals(fieldName)) { + conversation = RealtimeServerEventConversationCreatedConversation.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationCreated deserializedRealtimeServerEventConversationCreated + = new RealtimeServerEventConversationCreated(eventId, conversation); + deserializedRealtimeServerEventConversationCreated.type = type; + return deserializedRealtimeServerEventConversationCreated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java new file mode 100644 index 0000000000000..5b91a892af1ca --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java @@ -0,0 +1,101 @@ +// 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; + +/** + * The RealtimeServerEventConversationCreatedConversation model. + */ +@Immutable +public final class RealtimeServerEventConversationCreatedConversation + implements JsonSerializable { + + /* + * The id property. + */ + @Generated + private String id; + + /* + * The object property. + */ + @Generated + private RealtimeServerEventConversationCreatedConversationObject object; + + /** + * Creates an instance of RealtimeServerEventConversationCreatedConversation class. + */ + @Generated + private RealtimeServerEventConversationCreatedConversation() { + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object property. + * + * @return the object value. + */ + @Generated + public RealtimeServerEventConversationCreatedConversationObject getObject() { + return this.object; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationCreatedConversation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationCreatedConversation 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 RealtimeServerEventConversationCreatedConversation. + */ + @Generated + public static RealtimeServerEventConversationCreatedConversation fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEventConversationCreatedConversation deserializedRealtimeServerEventConversationCreatedConversation + = new RealtimeServerEventConversationCreatedConversation(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + deserializedRealtimeServerEventConversationCreatedConversation.id = reader.getString(); + } else if ("object".equals(fieldName)) { + deserializedRealtimeServerEventConversationCreatedConversation.object + = RealtimeServerEventConversationCreatedConversationObject.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEventConversationCreatedConversation; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java new file mode 100644 index 0000000000000..beba9bbbeaf5c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java @@ -0,0 +1,52 @@ +// 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; + +/** + * Defines values for RealtimeServerEventConversationCreatedConversationObject. + */ +public enum RealtimeServerEventConversationCreatedConversationObject { + /** + * Enum value realtime.conversation. + */ + REALTIME_CONVERSATION("realtime.conversation"); + + /** + * The actual serialized value for a RealtimeServerEventConversationCreatedConversationObject instance. + */ + private final String value; + + RealtimeServerEventConversationCreatedConversationObject(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeServerEventConversationCreatedConversationObject instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeServerEventConversationCreatedConversationObject object, or null if unable to parse. + */ + public static RealtimeServerEventConversationCreatedConversationObject fromString(String value) { + if (value == null) { + return null; + } + RealtimeServerEventConversationCreatedConversationObject[] items + = RealtimeServerEventConversationCreatedConversationObject.values(); + for (RealtimeServerEventConversationCreatedConversationObject item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java new file mode 100644 index 0000000000000..af63e62711756 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Sent by the server when an Item is added to the default Conversation. This can happen in several cases: + * - When the client sends a `conversation.item.create` event. + * - When the input audio buffer is committed. In this case the item will be a user message containing the audio from + * the buffer. + * - When the model is generating a Response. In this case the `conversation.item.added` event will be sent when the + * model starts generating a specific Item, and thus it will not yet have any content (and `status` will be + * `in_progress`). + * The event will include the full content of the Item (except when model is generating a Response) except for audio + * data, which can be retrieved separately with a `conversation.item.retrieve` event if necessary. + */ +@Immutable +public final class RealtimeServerEventConversationItemAdded extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_ADDED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The previous_item_id property. + */ + @Generated + private String previousItemId; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventConversationItemAdded class. + * + * @param eventId the eventId value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventConversationItemAdded(String eventId, RealtimeConversationItem item) { + this.eventId = eventId; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the previousItemId property: The previous_item_id property. + * + * @return the previousItemId value. + */ + @Generated + public String getPreviousItemId() { + return this.previousItemId; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("previous_item_id", this.previousItemId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemAdded from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemAdded 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 RealtimeServerEventConversationItemAdded. + */ + @Generated + public static RealtimeServerEventConversationItemAdded fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_ADDED; + String previousItemId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("previous_item_id".equals(fieldName)) { + previousItemId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemAdded deserializedRealtimeServerEventConversationItemAdded + = new RealtimeServerEventConversationItemAdded(eventId, item); + deserializedRealtimeServerEventConversationItemAdded.type = type; + deserializedRealtimeServerEventConversationItemAdded.previousItemId = previousItemId; + return deserializedRealtimeServerEventConversationItemAdded; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java new file mode 100644 index 0000000000000..168cbbf22adac --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a conversation item is created. There are several scenarios that produce this event: + * - The server is generating a Response, which if successful will produce + * either one or two Items, which will be of type `message` + * (role `assistant`) or type `function_call`. + * - The input audio buffer has been committed, either by the client or the + * server (in `server_vad` mode). The server will take the content of the + * input audio buffer and add it to a new user message Item. + * - The client has sent a `conversation.item.create` event to add a new Item + * to the Conversation. + */ +@Immutable +public final class RealtimeServerEventConversationItemCreated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_CREATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The previous_item_id property. + */ + @Generated + private String previousItemId; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventConversationItemCreated class. + * + * @param eventId the eventId value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventConversationItemCreated(String eventId, RealtimeConversationItem item) { + this.eventId = eventId; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the previousItemId property: The previous_item_id property. + * + * @return the previousItemId value. + */ + @Generated + public String getPreviousItemId() { + return this.previousItemId; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("previous_item_id", this.previousItemId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemCreated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemCreated 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 RealtimeServerEventConversationItemCreated. + */ + @Generated + public static RealtimeServerEventConversationItemCreated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_CREATED; + String previousItemId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("previous_item_id".equals(fieldName)) { + previousItemId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemCreated deserializedRealtimeServerEventConversationItemCreated + = new RealtimeServerEventConversationItemCreated(eventId, item); + deserializedRealtimeServerEventConversationItemCreated.type = type; + deserializedRealtimeServerEventConversationItemCreated.previousItemId = previousItemId; + return deserializedRealtimeServerEventConversationItemCreated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java new file mode 100644 index 0000000000000..226e05722333a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an item in the conversation is deleted by the client with a + * `conversation.item.delete` event. This event is used to synchronize the + * server's understanding of the conversation history with the client's view. + */ +@Immutable +public final class RealtimeServerEventConversationItemDeleted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_DELETED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the item that was deleted. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventConversationItemDeleted class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventConversationItemDeleted(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the item that was deleted. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemDeleted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemDeleted 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 RealtimeServerEventConversationItemDeleted. + */ + @Generated + public static RealtimeServerEventConversationItemDeleted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_DELETED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemDeleted deserializedRealtimeServerEventConversationItemDeleted + = new RealtimeServerEventConversationItemDeleted(eventId, itemId); + deserializedRealtimeServerEventConversationItemDeleted.type = type; + return deserializedRealtimeServerEventConversationItemDeleted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java new file mode 100644 index 0000000000000..bc97c862ebd84 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a conversation item is finalized. + * The event will include the full content of the Item except for audio data, which can be retrieved separately with a + * `conversation.item.retrieve` event if needed. + */ +@Immutable +public final class RealtimeServerEventConversationItemDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The previous_item_id property. + */ + @Generated + private String previousItemId; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventConversationItemDone class. + * + * @param eventId the eventId value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventConversationItemDone(String eventId, RealtimeConversationItem item) { + this.eventId = eventId; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the previousItemId property: The previous_item_id property. + * + * @return the previousItemId value. + */ + @Generated + public String getPreviousItemId() { + return this.previousItemId; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("previous_item_id", this.previousItemId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemDone 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 RealtimeServerEventConversationItemDone. + */ + @Generated + public static RealtimeServerEventConversationItemDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_DONE; + String previousItemId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("previous_item_id".equals(fieldName)) { + previousItemId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemDone deserializedRealtimeServerEventConversationItemDone + = new RealtimeServerEventConversationItemDone(eventId, item); + deserializedRealtimeServerEventConversationItemDone.type = type; + deserializedRealtimeServerEventConversationItemDone.previousItemId = previousItemId; + return deserializedRealtimeServerEventConversationItemDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java new file mode 100644 index 0000000000000..5a63483f38ef1 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java @@ -0,0 +1,289 @@ +// 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.OpenAIJsonHelper; +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.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.LogProbProperties; +import java.io.IOException; +import java.util.List; + +/** + * This event is the output of audio transcription for user audio written to the + * user audio buffer. Transcription begins when the input audio buffer is + * committed by the client or server (when VAD is enabled). Transcription runs + * asynchronously with Response creation, so this event may come before or after + * the Response events. + * Realtime API models accept audio natively, and thus input transcription is a + * separate process run on a separate ASR (Automatic Speech Recognition) model. + * The transcript may diverge somewhat from the model's interpretation, and + * should be treated as a rough guide. + */ +@Immutable +public final class RealtimeServerEventConversationItemInputAudioTranscriptionCompleted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type + = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the item containing the audio that is being transcribed. + */ + @Generated + private final String itemId; + + /* + * The index of the content part containing the audio. + */ + @Generated + private final long contentIndex; + + /* + * The transcribed text. + */ + @Generated + private final String transcript; + + /* + * The languages detected in the audio. Returned by `gpt-transcribe`. An empty array indicates that no language + * could be reliably detected. + */ + @Generated + private List languages; + + /* + * The logprobs property. + */ + @Generated + private List logprobs; + + /* + * Usage statistics for the transcription, this is billed according to the ASR model's pricing rather than the + * realtime model's pricing. + */ + @Generated + private final BinaryData usage; + + /* + * Phrase-level transcription timing and confidence details. + */ + @Generated + private List phrases; + + /** + * Creates an instance of RealtimeServerEventConversationItemInputAudioTranscriptionCompleted class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + * @param contentIndex the contentIndex value to set. + * @param transcript the transcript value to set. + * @param usage the usage value to set. + */ + @Generated + private RealtimeServerEventConversationItemInputAudioTranscriptionCompleted(String eventId, String itemId, + long contentIndex, String transcript, BinaryData usage) { + this.eventId = eventId; + this.itemId = itemId; + this.contentIndex = contentIndex; + this.transcript = transcript; + this.usage = usage; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the item containing the audio that is being transcribed. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the content part containing the audio. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the transcript property: The transcribed text. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * Get the languages property: The languages detected in the audio. Returned by `gpt-transcribe`. An empty array + * indicates that no language could be reliably detected. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Get the logprobs property: The logprobs property. + * + * @return the logprobs value. + */ + @Generated + public List getLogprobs() { + return this.logprobs; + } + + /** + * Get the usage property: Usage statistics for the transcription, this is billed according to the ASR model's + * pricing rather than the realtime model's pricing. + * + * @return the usage value. + */ + @Generated + public BinaryData getUsage() { + return this.usage; + } + + /** + * Get the phrases property: Phrase-level transcription timing and confidence details. + * + * @return the phrases value. + */ + @Generated + public List getPhrases() { + return this.phrases; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("transcript", this.transcript); + jsonWriter.writeFieldName("usage"); + this.usage.writeTo(jsonWriter); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeJson(element)); + // AI Tooling: openai-java de-dup + jsonWriter.writeArrayField("logprobs", this.logprobs, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + OpenAIJsonHelper.toBinaryData(element).writeTo(writer); + } + }); + jsonWriter.writeArrayField("phrases", this.phrases, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemInputAudioTranscriptionCompleted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemInputAudioTranscriptionCompleted 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 + * RealtimeServerEventConversationItemInputAudioTranscriptionCompleted. + */ + public static RealtimeServerEventConversationItemInputAudioTranscriptionCompleted fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + long contentIndex = 0L; + String transcript = null; + BinaryData usage = null; + RealtimeServerEventType type + = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED; + List languages = null; + List logprobs = null; + List phrases = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("transcript".equals(fieldName)) { + transcript = reader.getString(); + } else if ("usage".equals(fieldName)) { + usage = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("languages".equals(fieldName)) { + languages = reader.readArray(reader1 -> TranscriptionLanguage.fromJson(reader1)); + } else if ("logprobs".equals(fieldName)) { + // AI Tooling: openai-java de-dup + logprobs = reader.readArray(reader1 -> { + BinaryData logProbData + = reader1.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + return OpenAIJsonHelper.fromBinaryData(logProbData, LogProbProperties.class); + }); + } else if ("phrases".equals(fieldName)) { + phrases = reader.readArray(reader1 -> VoiceAgentTranscriptionPhrase.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemInputAudioTranscriptionCompleted deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted + = new RealtimeServerEventConversationItemInputAudioTranscriptionCompleted(eventId, itemId, contentIndex, + transcript, usage); + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted.type = type; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted.languages = languages; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted.logprobs = logprobs; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted.phrases = phrases; + return deserializedRealtimeServerEventConversationItemInputAudioTranscriptionCompleted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java new file mode 100644 index 0000000000000..3631510556216 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java @@ -0,0 +1,207 @@ +// 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.OpenAIJsonHelper; +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.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.LogProbProperties; +import java.io.IOException; +import java.util.List; + +/** + * Returned when the text value of an input audio transcription content part is updated with incremental transcription + * results. + */ +@Immutable +public final class RealtimeServerEventConversationItemInputAudioTranscriptionDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the item containing the audio that is being transcribed. + */ + @Generated + private final String itemId; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private Long contentIndex; + + /* + * The text delta. + */ + @Generated + private String delta; + + /* + * The logprobs property. + */ + @Generated + private List logprobs; + + /** + * Creates an instance of RealtimeServerEventConversationItemInputAudioTranscriptionDelta class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventConversationItemInputAudioTranscriptionDelta(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the item containing the audio that is being transcribed. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public Long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the delta property: The text delta. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * Get the logprobs property: The logprobs property. + * + * @return the logprobs value. + */ + @Generated + public List getLogprobs() { + return this.logprobs; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("content_index", this.contentIndex); + jsonWriter.writeStringField("delta", this.delta); + // AI Tooling: openai-java de-dup + jsonWriter.writeArrayField("logprobs", this.logprobs, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + OpenAIJsonHelper.toBinaryData(element).writeTo(writer); + } + }); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemInputAudioTranscriptionDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemInputAudioTranscriptionDelta 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 + * RealtimeServerEventConversationItemInputAudioTranscriptionDelta. + */ + public static RealtimeServerEventConversationItemInputAudioTranscriptionDelta fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA; + Long contentIndex = null; + String delta = null; + List logprobs = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getNullable(JsonReader::getLong); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("logprobs".equals(fieldName)) { + // AI Tooling: openai-java de-dup + logprobs = reader.readArray(reader1 -> { + BinaryData logProbData + = reader1.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + return OpenAIJsonHelper.fromBinaryData(logProbData, LogProbProperties.class); + }); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemInputAudioTranscriptionDelta deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta + = new RealtimeServerEventConversationItemInputAudioTranscriptionDelta(eventId, itemId); + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta.type = type; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta.contentIndex = contentIndex; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta.delta = delta; + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta.logprobs = logprobs; + return deserializedRealtimeServerEventConversationItemInputAudioTranscriptionDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java new file mode 100644 index 0000000000000..40e001cd8ba5b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java @@ -0,0 +1,177 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when input audio transcription is configured, and a transcription + * request for a user message failed. These events are separate from other + * `error` events so that the client can identify the related Item. + */ +@Immutable +public final class RealtimeServerEventConversationItemInputAudioTranscriptionFailed extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the user message item. + */ + @Generated + private final String itemId; + + /* + * The index of the content part containing the audio. + */ + @Generated + private final long contentIndex; + + /* + * Details of the transcription error. + */ + @Generated + private final RealtimeServerEventConversationItemInputAudioTranscriptionFailedError error; + + /** + * Creates an instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailed class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + * @param contentIndex the contentIndex value to set. + * @param error the error value to set. + */ + @Generated + private RealtimeServerEventConversationItemInputAudioTranscriptionFailed(String eventId, String itemId, + long contentIndex, RealtimeServerEventConversationItemInputAudioTranscriptionFailedError error) { + this.eventId = eventId; + this.itemId = itemId; + this.contentIndex = contentIndex; + this.error = error; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the user message item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the content part containing the audio. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the error property: Details of the transcription error. + * + * @return the error value. + */ + @Generated + public RealtimeServerEventConversationItemInputAudioTranscriptionFailedError getError() { + return this.error; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeJsonField("error", this.error); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailed from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailed 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 + * RealtimeServerEventConversationItemInputAudioTranscriptionFailed. + */ + @Generated + public static RealtimeServerEventConversationItemInputAudioTranscriptionFailed fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + long contentIndex = 0L; + RealtimeServerEventConversationItemInputAudioTranscriptionFailedError error = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("error".equals(fieldName)) { + error = RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemInputAudioTranscriptionFailed deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailed + = new RealtimeServerEventConversationItemInputAudioTranscriptionFailed(eventId, itemId, contentIndex, + error); + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailed.type = type; + return deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailed; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java new file mode 100644 index 0000000000000..a2a5c054c6070 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java @@ -0,0 +1,143 @@ +// 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; + +/** + * The RealtimeServerEventConversationItemInputAudioTranscriptionFailedError model. + */ +@Immutable +public final class RealtimeServerEventConversationItemInputAudioTranscriptionFailedError + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private String type; + + /* + * The code property. + */ + @Generated + private String code; + + /* + * The message property. + */ + @Generated + private String message; + + /* + * The param property. + */ + @Generated + private String param; + + /** + * Creates an instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailedError class. + */ + @Generated + private RealtimeServerEventConversationItemInputAudioTranscriptionFailedError() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the code property: The code property. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * Get the param property: The param property. + * + * @return the param value. + */ + @Generated + public String getParam() { + return this.param; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("code", this.code); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("param", this.param); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailedError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemInputAudioTranscriptionFailedError 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 + * RealtimeServerEventConversationItemInputAudioTranscriptionFailedError. + */ + @Generated + public static RealtimeServerEventConversationItemInputAudioTranscriptionFailedError fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEventConversationItemInputAudioTranscriptionFailedError deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError + = new RealtimeServerEventConversationItemInputAudioTranscriptionFailedError(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError.type + = reader.getString(); + } else if ("code".equals(fieldName)) { + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError.code + = reader.getString(); + } else if ("message".equals(fieldName)) { + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError.message + = reader.getString(); + } else if ("param".equals(fieldName)) { + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError.param + = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEventConversationItemInputAudioTranscriptionFailedError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java new file mode 100644 index 0000000000000..c772bcb028f5d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java @@ -0,0 +1,263 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an input audio transcription segment is identified for an item. + */ +@Immutable +public final class RealtimeServerEventConversationItemInputAudioTranscriptionSegment extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_SEGMENT; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the item containing the input audio content. + */ + @Generated + private final String itemId; + + /* + * The index of the input audio content part within the item. + */ + @Generated + private final long contentIndex; + + /* + * The text for this segment. + */ + @Generated + private final String text; + + /* + * The segment identifier. + */ + @Generated + private final String id; + + /* + * The detected speaker label for this segment. + */ + @Generated + private final String speaker; + + /* + * Start time of the segment in seconds. + */ + @Generated + private final double start; + + /* + * End time of the segment in seconds. + */ + @Generated + private final double end; + + /** + * Creates an instance of RealtimeServerEventConversationItemInputAudioTranscriptionSegment class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + * @param contentIndex the contentIndex value to set. + * @param text the text value to set. + * @param id the id value to set. + * @param speaker the speaker value to set. + * @param start the start value to set. + * @param end the end value to set. + */ + @Generated + private RealtimeServerEventConversationItemInputAudioTranscriptionSegment(String eventId, String itemId, + long contentIndex, String text, String id, String speaker, double start, double end) { + this.eventId = eventId; + this.itemId = itemId; + this.contentIndex = contentIndex; + this.text = text; + this.id = id; + this.speaker = speaker; + this.start = start; + this.end = end; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the item containing the input audio content. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the input audio content part within the item. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the text property: The text for this segment. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the id property: The segment identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the speaker property: The detected speaker label for this segment. + * + * @return the speaker value. + */ + @Generated + public String getSpeaker() { + return this.speaker; + } + + /** + * Get the start property: Start time of the segment in seconds. + * + * @return the start value. + */ + @Generated + public double getStart() { + return this.start; + } + + /** + * Get the end property: End time of the segment in seconds. + * + * @return the end value. + */ + @Generated + public double getEnd() { + return this.end; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("speaker", this.speaker); + jsonWriter.writeDoubleField("start", this.start); + jsonWriter.writeDoubleField("end", this.end); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemInputAudioTranscriptionSegment from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemInputAudioTranscriptionSegment 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 + * RealtimeServerEventConversationItemInputAudioTranscriptionSegment. + */ + @Generated + public static RealtimeServerEventConversationItemInputAudioTranscriptionSegment fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + long contentIndex = 0L; + String text = null; + String id = null; + String speaker = null; + double start = 0.0; + double end = 0.0; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_SEGMENT; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("speaker".equals(fieldName)) { + speaker = reader.getString(); + } else if ("start".equals(fieldName)) { + start = reader.getDouble(); + } else if ("end".equals(fieldName)) { + end = reader.getDouble(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemInputAudioTranscriptionSegment deserializedRealtimeServerEventConversationItemInputAudioTranscriptionSegment + = new RealtimeServerEventConversationItemInputAudioTranscriptionSegment(eventId, itemId, contentIndex, + text, id, speaker, start, end); + deserializedRealtimeServerEventConversationItemInputAudioTranscriptionSegment.type = type; + return deserializedRealtimeServerEventConversationItemInputAudioTranscriptionSegment; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java new file mode 100644 index 0000000000000..a1f4d29c003bf --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a conversation item is retrieved with `conversation.item.retrieve`. This is provided as a way to fetch + * the server's representation of an item, for example to get access to the post-processed audio data after noise + * cancellation and VAD. It includes the full content of the Item, including audio data. + */ +@Immutable +public final class RealtimeServerEventConversationItemRetrieved extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_RETRIEVED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventConversationItemRetrieved class. + * + * @param eventId the eventId value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventConversationItemRetrieved(String eventId, RealtimeConversationItem item) { + this.eventId = eventId; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemRetrieved from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemRetrieved 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 RealtimeServerEventConversationItemRetrieved. + */ + @Generated + public static RealtimeServerEventConversationItemRetrieved fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_RETRIEVED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemRetrieved deserializedRealtimeServerEventConversationItemRetrieved + = new RealtimeServerEventConversationItemRetrieved(eventId, item); + deserializedRealtimeServerEventConversationItemRetrieved.type = type; + return deserializedRealtimeServerEventConversationItemRetrieved; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java new file mode 100644 index 0000000000000..42b3ed80c21a8 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an earlier assistant audio message item is truncated by the + * client with a `conversation.item.truncate` event. This event is used to + * synchronize the server's understanding of the audio with the client's playback. + * This action will truncate the audio and remove the server-side text transcript + * to ensure there is no text in the context that hasn't been heard by the user. + */ +@Immutable +public final class RealtimeServerEventConversationItemTruncated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_TRUNCATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the assistant message item that was truncated. + */ + @Generated + private final String itemId; + + /* + * The index of the content part that was truncated. + */ + @Generated + private final long contentIndex; + + /* + * The duration up to which the audio was truncated, in milliseconds. + */ + @Generated + private final long audioEndMs; + + /* + * The assistant message after truncation, when the service returns the updated item. + */ + @Generated + private RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventConversationItemTruncated class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + * @param contentIndex the contentIndex value to set. + * @param audioEndMs the audioEndMs value to set. + */ + @Generated + private RealtimeServerEventConversationItemTruncated(String eventId, String itemId, long contentIndex, + long audioEndMs) { + this.eventId = eventId; + this.itemId = itemId; + this.contentIndex = contentIndex; + this.audioEndMs = audioEndMs; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the assistant message item that was truncated. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the contentIndex property: The index of the content part that was truncated. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the audioEndMs property: The duration up to which the audio was truncated, in milliseconds. + * + * @return the audioEndMs value. + */ + @Generated + public long getAudioEndMs() { + return this.audioEndMs; + } + + /** + * Get the item property: The assistant message after truncation, when the service returns the updated item. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeLongField("audio_end_ms", this.audioEndMs); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("item", this.item); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventConversationItemTruncated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventConversationItemTruncated 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 RealtimeServerEventConversationItemTruncated. + */ + @Generated + public static RealtimeServerEventConversationItemTruncated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + long contentIndex = 0L; + long audioEndMs = 0L; + RealtimeServerEventType type = RealtimeServerEventType.CONVERSATION_ITEM_TRUNCATED; + RealtimeConversationItem item = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("audio_end_ms".equals(fieldName)) { + audioEndMs = reader.getLong(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventConversationItemTruncated deserializedRealtimeServerEventConversationItemTruncated + = new RealtimeServerEventConversationItemTruncated(eventId, itemId, contentIndex, audioEndMs); + deserializedRealtimeServerEventConversationItemTruncated.type = type; + deserializedRealtimeServerEventConversationItemTruncated.item = item; + return deserializedRealtimeServerEventConversationItemTruncated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java new file mode 100644 index 0000000000000..cbc909303d178 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.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; + +/** + * The RealtimeServerEventErrorError model. + */ +@Immutable +public final class RealtimeServerEventErrorError implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private final String type; + + /* + * The code property. + */ + @Generated + private String code; + + /* + * The message property. + */ + @Generated + private final String message; + + /* + * The param property. + */ + @Generated + private String param; + + /* + * The event_id property. + */ + @Generated + private String eventId; + + /** + * Creates an instance of RealtimeServerEventErrorError class. + * + * @param type the type value to set. + * @param message the message value to set. + */ + @Generated + private RealtimeServerEventErrorError(String type, String message) { + this.type = type; + this.message = message; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the code property: The code property. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * Get the param property: The param property. + * + * @return the param value. + */ + @Generated + public String getParam() { + return this.param; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("code", this.code); + jsonWriter.writeStringField("param", this.param); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventErrorError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventErrorError 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 RealtimeServerEventErrorError. + */ + @Generated + public static RealtimeServerEventErrorError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String type = null; + String message = null; + String code = null; + String param = null; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("code".equals(fieldName)) { + code = reader.getString(); + } else if ("param".equals(fieldName)) { + param = reader.getString(); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventErrorError deserializedRealtimeServerEventErrorError + = new RealtimeServerEventErrorError(type, message); + deserializedRealtimeServerEventErrorError.code = code; + deserializedRealtimeServerEventErrorError.param = param; + deserializedRealtimeServerEventErrorError.eventId = eventId; + return deserializedRealtimeServerEventErrorError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java new file mode 100644 index 0000000000000..b3543583fb8c8 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the input audio buffer is cleared by the client with a + * `input_audio_buffer.clear` event. + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferCleared extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_CLEARED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferCleared class. + * + * @param eventId the eventId value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferCleared(String eventId) { + this.eventId = eventId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferCleared from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferCleared 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 RealtimeServerEventInputAudioBufferCleared. + */ + @Generated + public static RealtimeServerEventInputAudioBufferCleared fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_CLEARED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferCleared deserializedRealtimeServerEventInputAudioBufferCleared + = new RealtimeServerEventInputAudioBufferCleared(eventId); + deserializedRealtimeServerEventInputAudioBufferCleared.type = type; + return deserializedRealtimeServerEventInputAudioBufferCleared; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java new file mode 100644 index 0000000000000..7281dc960c8de --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an input audio buffer is committed, either by the client or + * automatically in server VAD mode. The `item_id` property is the ID of the user + * message item that will be created, thus a `conversation.item.created` event + * will also be sent to the client. + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferCommitted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_COMMITTED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The previous_item_id property. + */ + @Generated + private String previousItemId; + + /* + * The ID of the user message item that will be created. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferCommitted class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferCommitted(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the previousItemId property: The previous_item_id property. + * + * @return the previousItemId value. + */ + @Generated + public String getPreviousItemId() { + return this.previousItemId; + } + + /** + * Get the itemId property: The ID of the user message item that will be created. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("previous_item_id", this.previousItemId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferCommitted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferCommitted 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 RealtimeServerEventInputAudioBufferCommitted. + */ + @Generated + public static RealtimeServerEventInputAudioBufferCommitted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_COMMITTED; + String previousItemId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("previous_item_id".equals(fieldName)) { + previousItemId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferCommitted deserializedRealtimeServerEventInputAudioBufferCommitted + = new RealtimeServerEventInputAudioBufferCommitted(eventId, itemId); + deserializedRealtimeServerEventInputAudioBufferCommitted.type = type; + deserializedRealtimeServerEventInputAudioBufferCommitted.previousItemId = previousItemId; + return deserializedRealtimeServerEventInputAudioBufferCommitted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java new file mode 100644 index 0000000000000..3863a919c3ae5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * **SIP Only:** Returned when an DTMF event is received. A DTMF event is a message that + * represents a telephone keypad press (0–9, *, #, A–D). The `event` property + * is the keypad that the user press. The `received_at` is the UTC Unix Timestamp + * that the server received the event. + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferDtmfEventReceived extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_DTMF_EVENT_RECEIVED; + + /* + * The telephone keypad that was pressed by the user. + */ + @Generated + private final String event; + + /* + * UTC Unix Timestamp when DTMF Event was received by server. + */ + @Generated + private final long receivedAt; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferDtmfEventReceived class. + * + * @param event the event value to set. + * @param receivedAt the receivedAt value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferDtmfEventReceived(String event, long receivedAt) { + this.event = event; + this.receivedAt = receivedAt; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the event property: The telephone keypad that was pressed by the user. + * + * @return the event value. + */ + @Generated + public String getEvent() { + return this.event; + } + + /** + * Get the receivedAt property: UTC Unix Timestamp when DTMF Event was received by server. + * + * @return the receivedAt value. + */ + @Generated + public long getReceivedAt() { + return this.receivedAt; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event", this.event); + jsonWriter.writeLongField("received_at", this.receivedAt); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferDtmfEventReceived from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferDtmfEventReceived 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 RealtimeServerEventInputAudioBufferDtmfEventReceived. + */ + @Generated + public static RealtimeServerEventInputAudioBufferDtmfEventReceived fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String event = null; + long receivedAt = 0L; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_DTMF_EVENT_RECEIVED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event".equals(fieldName)) { + event = reader.getString(); + } else if ("received_at".equals(fieldName)) { + receivedAt = reader.getLong(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferDtmfEventReceived deserializedRealtimeServerEventInputAudioBufferDtmfEventReceived + = new RealtimeServerEventInputAudioBufferDtmfEventReceived(event, receivedAt); + deserializedRealtimeServerEventInputAudioBufferDtmfEventReceived.type = type; + return deserializedRealtimeServerEventInputAudioBufferDtmfEventReceived; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java new file mode 100644 index 0000000000000..d9a1086d88610 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java @@ -0,0 +1,163 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Sent by the server when in `server_vad` mode to indicate that speech has been + * detected in the audio buffer. This can happen any time audio is added to the + * buffer (unless speech is already detected). The client may want to use this + * event to interrupt audio playback or provide visual feedback to the user. + * The client should expect to receive a `input_audio_buffer.speech_stopped` event + * when speech stops. The `item_id` property is the ID of the user message item + * that will be created when speech stops and will also be included in the + * `input_audio_buffer.speech_stopped` event (unless the client manually commits + * the audio buffer during VAD activation). + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferSpeechStarted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_SPEECH_STARTED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * Milliseconds from the start of all audio written to the buffer during the + * session when speech was first detected. This will correspond to the + * beginning of audio sent to the model, and thus includes the + * `prefix_padding_ms` configured in the Session. + */ + @Generated + private final long audioStartMs; + + /* + * The ID of the user message item that will be created when speech stops. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferSpeechStarted class. + * + * @param eventId the eventId value to set. + * @param audioStartMs the audioStartMs value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferSpeechStarted(String eventId, long audioStartMs, String itemId) { + this.eventId = eventId; + this.audioStartMs = audioStartMs; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the audioStartMs property: Milliseconds from the start of all audio written to the buffer during the + * session when speech was first detected. This will correspond to the + * beginning of audio sent to the model, and thus includes the + * `prefix_padding_ms` configured in the Session. + * + * @return the audioStartMs value. + */ + @Generated + public long getAudioStartMs() { + return this.audioStartMs; + } + + /** + * Get the itemId property: The ID of the user message item that will be created when speech stops. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("audio_start_ms", this.audioStartMs); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferSpeechStarted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferSpeechStarted 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 RealtimeServerEventInputAudioBufferSpeechStarted. + */ + @Generated + public static RealtimeServerEventInputAudioBufferSpeechStarted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long audioStartMs = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_SPEECH_STARTED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("audio_start_ms".equals(fieldName)) { + audioStartMs = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferSpeechStarted deserializedRealtimeServerEventInputAudioBufferSpeechStarted + = new RealtimeServerEventInputAudioBufferSpeechStarted(eventId, audioStartMs, itemId); + deserializedRealtimeServerEventInputAudioBufferSpeechStarted.type = type; + return deserializedRealtimeServerEventInputAudioBufferSpeechStarted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java new file mode 100644 index 0000000000000..a1fbc89b3345e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java @@ -0,0 +1,155 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned in `server_vad` mode when the server detects the end of speech in + * the audio buffer. The server will also send an `conversation.item.created` + * event with the user message item that is created from the audio buffer. + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferSpeechStopped extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_SPEECH_STOPPED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * Milliseconds since the session started when speech stopped. This will + * correspond to the end of audio sent to the model, and thus includes the + * `min_silence_duration_ms` configured in the Session. + */ + @Generated + private final long audioEndMs; + + /* + * The ID of the user message item that will be created. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferSpeechStopped class. + * + * @param eventId the eventId value to set. + * @param audioEndMs the audioEndMs value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferSpeechStopped(String eventId, long audioEndMs, String itemId) { + this.eventId = eventId; + this.audioEndMs = audioEndMs; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the audioEndMs property: Milliseconds since the session started when speech stopped. This will + * correspond to the end of audio sent to the model, and thus includes the + * `min_silence_duration_ms` configured in the Session. + * + * @return the audioEndMs value. + */ + @Generated + public long getAudioEndMs() { + return this.audioEndMs; + } + + /** + * Get the itemId property: The ID of the user message item that will be created. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("audio_end_ms", this.audioEndMs); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferSpeechStopped from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferSpeechStopped 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 RealtimeServerEventInputAudioBufferSpeechStopped. + */ + @Generated + public static RealtimeServerEventInputAudioBufferSpeechStopped fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long audioEndMs = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_SPEECH_STOPPED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("audio_end_ms".equals(fieldName)) { + audioEndMs = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferSpeechStopped deserializedRealtimeServerEventInputAudioBufferSpeechStopped + = new RealtimeServerEventInputAudioBufferSpeechStopped(eventId, audioEndMs, itemId); + deserializedRealtimeServerEventInputAudioBufferSpeechStopped.type = type; + return deserializedRealtimeServerEventInputAudioBufferSpeechStopped; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java new file mode 100644 index 0000000000000..a1a895b4d0ff7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java @@ -0,0 +1,186 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the Server VAD timeout is triggered for the input audio buffer. This is configured + * with `idle_timeout_ms` in the `turn_detection` settings of the session, and it indicates that + * there hasn't been any speech detected for the configured duration. + * The `audio_start_ms` and `audio_end_ms` fields indicate the segment of audio after the last + * model response up to the triggering time, as an offset from the beginning of audio written + * to the input audio buffer. This means it demarcates the segment of audio that was silent and + * the difference between the start and end values will roughly match the configured timeout. + * The empty audio will be committed to the conversation as an `input_audio` item (there will be a + * `input_audio_buffer.committed` event) and a model response will be generated. There may be speech + * that didn't trigger VAD but is still detected by the model, so the model may respond with + * something relevant to the conversation or a prompt to continue speaking. + */ +@Immutable +public final class RealtimeServerEventInputAudioBufferTimeoutTriggered extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_TIMEOUT_TRIGGERED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * Millisecond offset of audio written to the input audio buffer that was after the playback time of the last model + * response. + */ + @Generated + private final long audioStartMs; + + /* + * Millisecond offset of audio written to the input audio buffer at the time the timeout was triggered. + */ + @Generated + private final long audioEndMs; + + /* + * The ID of the item associated with this segment. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventInputAudioBufferTimeoutTriggered class. + * + * @param eventId the eventId value to set. + * @param audioStartMs the audioStartMs value to set. + * @param audioEndMs the audioEndMs value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventInputAudioBufferTimeoutTriggered(String eventId, long audioStartMs, long audioEndMs, + String itemId) { + this.eventId = eventId; + this.audioStartMs = audioStartMs; + this.audioEndMs = audioEndMs; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the audioStartMs property: Millisecond offset of audio written to the input audio buffer that was after the + * playback time of the last model response. + * + * @return the audioStartMs value. + */ + @Generated + public long getAudioStartMs() { + return this.audioStartMs; + } + + /** + * Get the audioEndMs property: Millisecond offset of audio written to the input audio buffer at the time the + * timeout was triggered. + * + * @return the audioEndMs value. + */ + @Generated + public long getAudioEndMs() { + return this.audioEndMs; + } + + /** + * Get the itemId property: The ID of the item associated with this segment. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("audio_start_ms", this.audioStartMs); + jsonWriter.writeLongField("audio_end_ms", this.audioEndMs); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventInputAudioBufferTimeoutTriggered from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventInputAudioBufferTimeoutTriggered 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 RealtimeServerEventInputAudioBufferTimeoutTriggered. + */ + @Generated + public static RealtimeServerEventInputAudioBufferTimeoutTriggered fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long audioStartMs = 0L; + long audioEndMs = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.INPUT_AUDIO_BUFFER_TIMEOUT_TRIGGERED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("audio_start_ms".equals(fieldName)) { + audioStartMs = reader.getLong(); + } else if ("audio_end_ms".equals(fieldName)) { + audioEndMs = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventInputAudioBufferTimeoutTriggered deserializedRealtimeServerEventInputAudioBufferTimeoutTriggered + = new RealtimeServerEventInputAudioBufferTimeoutTriggered(eventId, audioStartMs, audioEndMs, itemId); + deserializedRealtimeServerEventInputAudioBufferTimeoutTriggered.type = type; + return deserializedRealtimeServerEventInputAudioBufferTimeoutTriggered; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java new file mode 100644 index 0000000000000..b769b926e133a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when listing MCP tools has completed for an item. + */ +@Immutable +public final class RealtimeServerEventMCPListToolsCompleted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_COMPLETED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the MCP list tools item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventMCPListToolsCompleted class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventMCPListToolsCompleted(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the MCP list tools item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventMCPListToolsCompleted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventMCPListToolsCompleted 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 RealtimeServerEventMCPListToolsCompleted. + */ + @Generated + public static RealtimeServerEventMCPListToolsCompleted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_COMPLETED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventMCPListToolsCompleted deserializedRealtimeServerEventMCPListToolsCompleted + = new RealtimeServerEventMCPListToolsCompleted(eventId, itemId); + deserializedRealtimeServerEventMCPListToolsCompleted.type = type; + return deserializedRealtimeServerEventMCPListToolsCompleted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java new file mode 100644 index 0000000000000..b1c17d30d1cd2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when listing MCP tools has failed for an item. + */ +@Immutable +public final class RealtimeServerEventMCPListToolsFailed extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_FAILED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the MCP list tools item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventMCPListToolsFailed class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventMCPListToolsFailed(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the MCP list tools item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventMCPListToolsFailed from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventMCPListToolsFailed 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 RealtimeServerEventMCPListToolsFailed. + */ + @Generated + public static RealtimeServerEventMCPListToolsFailed fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_FAILED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventMCPListToolsFailed deserializedRealtimeServerEventMCPListToolsFailed + = new RealtimeServerEventMCPListToolsFailed(eventId, itemId); + deserializedRealtimeServerEventMCPListToolsFailed.type = type; + return deserializedRealtimeServerEventMCPListToolsFailed; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java new file mode 100644 index 0000000000000..b0fe2c8400490 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when listing MCP tools is in progress for an item. + */ +@Immutable +public final class RealtimeServerEventMCPListToolsInProgress extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_IN_PROGRESS; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the MCP list tools item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventMCPListToolsInProgress class. + * + * @param eventId the eventId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventMCPListToolsInProgress(String eventId, String itemId) { + this.eventId = eventId; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the itemId property: The ID of the MCP list tools item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventMCPListToolsInProgress from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventMCPListToolsInProgress 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 RealtimeServerEventMCPListToolsInProgress. + */ + @Generated + public static RealtimeServerEventMCPListToolsInProgress fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.MCP_LIST_TOOLS_IN_PROGRESS; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventMCPListToolsInProgress deserializedRealtimeServerEventMCPListToolsInProgress + = new RealtimeServerEventMCPListToolsInProgress(eventId, itemId); + deserializedRealtimeServerEventMCPListToolsInProgress.type = type; + return deserializedRealtimeServerEventMCPListToolsInProgress; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java new file mode 100644 index 0000000000000..0bcd60e369aa0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java @@ -0,0 +1,131 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * **WebRTC/SIP Only:** Emitted when the output audio buffer is cleared. This happens either in VAD + * mode when the user has interrupted (`input_audio_buffer.speech_started`), + * or when the client has emitted the `output_audio_buffer.clear` event to manually + * cut off the current audio response. + * [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc). + */ +@Immutable +public final class RealtimeServerEventOutputAudioBufferCleared extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_CLEARED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The unique ID of the response that produced the audio. + */ + @Generated + private final String responseId; + + /** + * Creates an instance of RealtimeServerEventOutputAudioBufferCleared class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + */ + @Generated + private RealtimeServerEventOutputAudioBufferCleared(String eventId, String responseId) { + this.eventId = eventId; + this.responseId = responseId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The unique ID of the response that produced the audio. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventOutputAudioBufferCleared from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventOutputAudioBufferCleared 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 RealtimeServerEventOutputAudioBufferCleared. + */ + @Generated + public static RealtimeServerEventOutputAudioBufferCleared fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_CLEARED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventOutputAudioBufferCleared deserializedRealtimeServerEventOutputAudioBufferCleared + = new RealtimeServerEventOutputAudioBufferCleared(eventId, responseId); + deserializedRealtimeServerEventOutputAudioBufferCleared.type = type; + return deserializedRealtimeServerEventOutputAudioBufferCleared; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java new file mode 100644 index 0000000000000..57e5f8a821171 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.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.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * **WebRTC/SIP Only:** Emitted when the server begins streaming audio to the client. This event is + * emitted after an audio content part has been added (`response.content_part.added`) + * to the response. + * [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc). + */ +@Immutable +public final class RealtimeServerEventOutputAudioBufferStarted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_STARTED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The unique ID of the response that produced the audio. + */ + @Generated + private final String responseId; + + /** + * Creates an instance of RealtimeServerEventOutputAudioBufferStarted class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + */ + @Generated + private RealtimeServerEventOutputAudioBufferStarted(String eventId, String responseId) { + this.eventId = eventId; + this.responseId = responseId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The unique ID of the response that produced the audio. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventOutputAudioBufferStarted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventOutputAudioBufferStarted 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 RealtimeServerEventOutputAudioBufferStarted. + */ + @Generated + public static RealtimeServerEventOutputAudioBufferStarted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_STARTED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventOutputAudioBufferStarted deserializedRealtimeServerEventOutputAudioBufferStarted + = new RealtimeServerEventOutputAudioBufferStarted(eventId, responseId); + deserializedRealtimeServerEventOutputAudioBufferStarted.type = type; + return deserializedRealtimeServerEventOutputAudioBufferStarted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java new file mode 100644 index 0000000000000..477e8a58202fc --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.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.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * **WebRTC/SIP Only:** Emitted when the output audio buffer has been completely drained on the server, + * and no more audio is forthcoming. This event is emitted after the full response + * data has been sent to the client (`response.done`). + * [Learn more](/docs/guides/realtime-conversations#client-and-server-events-for-audio-in-webrtc). + */ +@Immutable +public final class RealtimeServerEventOutputAudioBufferStopped extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_STOPPED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The unique ID of the response that produced the audio. + */ + @Generated + private final String responseId; + + /** + * Creates an instance of RealtimeServerEventOutputAudioBufferStopped class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + */ + @Generated + private RealtimeServerEventOutputAudioBufferStopped(String eventId, String responseId) { + this.eventId = eventId; + this.responseId = responseId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The unique ID of the response that produced the audio. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventOutputAudioBufferStopped from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventOutputAudioBufferStopped 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 RealtimeServerEventOutputAudioBufferStopped. + */ + @Generated + public static RealtimeServerEventOutputAudioBufferStopped fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + RealtimeServerEventType type = RealtimeServerEventType.OUTPUT_AUDIO_BUFFER_STOPPED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventOutputAudioBufferStopped deserializedRealtimeServerEventOutputAudioBufferStopped + = new RealtimeServerEventOutputAudioBufferStopped(eventId, responseId); + deserializedRealtimeServerEventOutputAudioBufferStopped.type = type; + return deserializedRealtimeServerEventOutputAudioBufferStopped; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java new file mode 100644 index 0000000000000..73d57befae8f5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Emitted at the beginning of a Response to indicate the updated rate limits. + * When a Response is created some tokens will be "reserved" for the output + * tokens, the rate limits shown here reflect that reservation, which is then + * adjusted accordingly once the Response is completed. + */ +@Immutable +public final class RealtimeServerEventRateLimitsUpdated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RATE_LIMITS_UPDATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * List of rate limit information. + */ + @Generated + private final List rateLimits; + + /** + * Creates an instance of RealtimeServerEventRateLimitsUpdated class. + * + * @param eventId the eventId value to set. + * @param rateLimits the rateLimits value to set. + */ + @Generated + private RealtimeServerEventRateLimitsUpdated(String eventId, + List rateLimits) { + this.eventId = eventId; + this.rateLimits = rateLimits; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the rateLimits property: List of rate limit information. + * + * @return the rateLimits value. + */ + @Generated + public List getRateLimits() { + return this.rateLimits; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeArrayField("rate_limits", this.rateLimits, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventRateLimitsUpdated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventRateLimitsUpdated 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 RealtimeServerEventRateLimitsUpdated. + */ + @Generated + public static RealtimeServerEventRateLimitsUpdated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + List rateLimits = null; + RealtimeServerEventType type = RealtimeServerEventType.RATE_LIMITS_UPDATED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("rate_limits".equals(fieldName)) { + rateLimits + = reader.readArray(reader1 -> RealtimeServerEventRateLimitsUpdatedRateLimits.fromJson(reader1)); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventRateLimitsUpdated deserializedRealtimeServerEventRateLimitsUpdated + = new RealtimeServerEventRateLimitsUpdated(eventId, rateLimits); + deserializedRealtimeServerEventRateLimitsUpdated.type = type; + return deserializedRealtimeServerEventRateLimitsUpdated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java new file mode 100644 index 0000000000000..83d6b2a9bf578 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java @@ -0,0 +1,141 @@ +// 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; + +/** + * The RealtimeServerEventRateLimitsUpdatedRateLimits model. + */ +@Immutable +public final class RealtimeServerEventRateLimitsUpdatedRateLimits + implements JsonSerializable { + + /* + * The name property. + */ + @Generated + private RealtimeServerEventRateLimitsUpdatedRateLimitsName name; + + /* + * The limit property. + */ + @Generated + private Long limit; + + /* + * The remaining property. + */ + @Generated + private Long remaining; + + /* + * The reset_seconds property. + */ + @Generated + private Double resetSeconds; + + /** + * Creates an instance of RealtimeServerEventRateLimitsUpdatedRateLimits class. + */ + @Generated + private RealtimeServerEventRateLimitsUpdatedRateLimits() { + } + + /** + * Get the name property: The name property. + * + * @return the name value. + */ + @Generated + public RealtimeServerEventRateLimitsUpdatedRateLimitsName getName() { + return this.name; + } + + /** + * Get the limit property: The limit property. + * + * @return the limit value. + */ + @Generated + public Long getLimit() { + return this.limit; + } + + /** + * Get the remaining property: The remaining property. + * + * @return the remaining value. + */ + @Generated + public Long getRemaining() { + return this.remaining; + } + + /** + * Get the resetSeconds property: The reset_seconds property. + * + * @return the resetSeconds value. + */ + @Generated + public Double getResetSeconds() { + return this.resetSeconds; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name == null ? null : this.name.toString()); + jsonWriter.writeNumberField("limit", this.limit); + jsonWriter.writeNumberField("remaining", this.remaining); + jsonWriter.writeNumberField("reset_seconds", this.resetSeconds); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventRateLimitsUpdatedRateLimits from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventRateLimitsUpdatedRateLimits 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 RealtimeServerEventRateLimitsUpdatedRateLimits. + */ + @Generated + public static RealtimeServerEventRateLimitsUpdatedRateLimits fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEventRateLimitsUpdatedRateLimits deserializedRealtimeServerEventRateLimitsUpdatedRateLimits + = new RealtimeServerEventRateLimitsUpdatedRateLimits(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + deserializedRealtimeServerEventRateLimitsUpdatedRateLimits.name + = RealtimeServerEventRateLimitsUpdatedRateLimitsName.fromString(reader.getString()); + } else if ("limit".equals(fieldName)) { + deserializedRealtimeServerEventRateLimitsUpdatedRateLimits.limit + = reader.getNullable(JsonReader::getLong); + } else if ("remaining".equals(fieldName)) { + deserializedRealtimeServerEventRateLimitsUpdatedRateLimits.remaining + = reader.getNullable(JsonReader::getLong); + } else if ("reset_seconds".equals(fieldName)) { + deserializedRealtimeServerEventRateLimitsUpdatedRateLimits.resetSeconds + = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEventRateLimitsUpdatedRateLimits; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java new file mode 100644 index 0000000000000..e0e44f6894b45 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.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; + +/** + * Defines values for RealtimeServerEventRateLimitsUpdatedRateLimitsName. + */ +public enum RealtimeServerEventRateLimitsUpdatedRateLimitsName { + /** + * Enum value requests. + */ + REQUESTS("requests"), + + /** + * Enum value tokens. + */ + TOKENS("tokens"); + + /** + * The actual serialized value for a RealtimeServerEventRateLimitsUpdatedRateLimitsName instance. + */ + private final String value; + + RealtimeServerEventRateLimitsUpdatedRateLimitsName(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeServerEventRateLimitsUpdatedRateLimitsName instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeServerEventRateLimitsUpdatedRateLimitsName object, or null if unable to parse. + */ + public static RealtimeServerEventRateLimitsUpdatedRateLimitsName fromString(String value) { + if (value == null) { + return null; + } + RealtimeServerEventRateLimitsUpdatedRateLimitsName[] items + = RealtimeServerEventRateLimitsUpdatedRateLimitsName.values(); + for (RealtimeServerEventRateLimitsUpdatedRateLimitsName item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java new file mode 100644 index 0000000000000..e8be27d80b630 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an error occurs, which could be a client problem or a server + * problem. Most errors are recoverable and the session will stay open, we + * recommend to implementors to monitor and log error messages by default. + */ +@Immutable +public final class RealtimeServerEventRealtimeServerEventError extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.ERROR; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * Details of the error. + */ + @Generated + private final RealtimeServerEventErrorError error; + + /** + * Creates an instance of RealtimeServerEventRealtimeServerEventError class. + * + * @param eventId the eventId value to set. + * @param error the error value to set. + */ + @Generated + private RealtimeServerEventRealtimeServerEventError(String eventId, RealtimeServerEventErrorError error) { + this.eventId = eventId; + this.error = error; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the error property: Details of the error. + * + * @return the error value. + */ + @Generated + public RealtimeServerEventErrorError getError() { + return this.error; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("error", this.error); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventRealtimeServerEventError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventRealtimeServerEventError 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 RealtimeServerEventRealtimeServerEventError. + */ + @Generated + public static RealtimeServerEventRealtimeServerEventError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeServerEventErrorError error = null; + RealtimeServerEventType type = RealtimeServerEventType.ERROR; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("error".equals(fieldName)) { + error = RealtimeServerEventErrorError.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventRealtimeServerEventError deserializedRealtimeServerEventRealtimeServerEventError + = new RealtimeServerEventRealtimeServerEventError(eventId, error); + deserializedRealtimeServerEventRealtimeServerEventError.type = type; + return deserializedRealtimeServerEventRealtimeServerEventError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java new file mode 100644 index 0000000000000..40919dfe9364e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java @@ -0,0 +1,218 @@ +// 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.CoreUtils; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated audio is updated. + */ +@Immutable +public final class RealtimeServerEventResponseAudioDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * Base64-encoded audio data delta. + */ + @Generated + private final byte[] delta; + + /** + * Creates an instance of RealtimeServerEventResponseAudioDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param delta the delta value to set. + */ + @Generated + private RealtimeServerEventResponseAudioDelta(String eventId, String responseId, String itemId, long outputIndex, + long contentIndex, byte[] delta) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the delta property: Base64-encoded audio data delta. + * + * @return the delta value. + */ + @Generated + public byte[] getDelta() { + return CoreUtils.clone(this.delta); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeBinaryField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseAudioDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseAudioDelta 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 RealtimeServerEventResponseAudioDelta. + */ + @Generated + public static RealtimeServerEventResponseAudioDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + byte[] delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("delta".equals(fieldName)) { + delta = reader.getBinary(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseAudioDelta deserializedRealtimeServerEventResponseAudioDelta + = new RealtimeServerEventResponseAudioDelta(eventId, responseId, itemId, outputIndex, contentIndex, + delta); + deserializedRealtimeServerEventResponseAudioDelta.type = type; + return deserializedRealtimeServerEventResponseAudioDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java new file mode 100644 index 0000000000000..92f3854c6713e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java @@ -0,0 +1,195 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated audio is done. Also emitted when a Response + * is interrupted, incomplete, or cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseAudioDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /** + * Creates an instance of RealtimeServerEventResponseAudioDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + */ + @Generated + private RealtimeServerEventResponseAudioDone(String eventId, String responseId, String itemId, long outputIndex, + long contentIndex) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseAudioDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseAudioDone 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 RealtimeServerEventResponseAudioDone. + */ + @Generated + public static RealtimeServerEventResponseAudioDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseAudioDone deserializedRealtimeServerEventResponseAudioDone + = new RealtimeServerEventResponseAudioDone(eventId, responseId, itemId, outputIndex, contentIndex); + deserializedRealtimeServerEventResponseAudioDone.type = type; + return deserializedRealtimeServerEventResponseAudioDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java new file mode 100644 index 0000000000000..69e678dbdf2ee --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java @@ -0,0 +1,217 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated transcription of audio output is updated. + */ +@Immutable +public final class RealtimeServerEventResponseAudioTranscriptDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The transcript delta. + */ + @Generated + private final String delta; + + /** + * Creates an instance of RealtimeServerEventResponseAudioTranscriptDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param delta the delta value to set. + */ + @Generated + private RealtimeServerEventResponseAudioTranscriptDelta(String eventId, String responseId, String itemId, + long outputIndex, long contentIndex, String delta) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the delta property: The transcript delta. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseAudioTranscriptDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseAudioTranscriptDelta 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 RealtimeServerEventResponseAudioTranscriptDelta. + */ + @Generated + public static RealtimeServerEventResponseAudioTranscriptDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + String delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseAudioTranscriptDelta deserializedRealtimeServerEventResponseAudioTranscriptDelta + = new RealtimeServerEventResponseAudioTranscriptDelta(eventId, responseId, itemId, outputIndex, + contentIndex, delta); + deserializedRealtimeServerEventResponseAudioTranscriptDelta.type = type; + return deserializedRealtimeServerEventResponseAudioTranscriptDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java new file mode 100644 index 0000000000000..dd294370d0f14 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java @@ -0,0 +1,219 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated transcription of audio output is done + * streaming. Also emitted when a Response is interrupted, incomplete, or + * cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseAudioTranscriptDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The final transcript of the audio. + */ + @Generated + private final String transcript; + + /** + * Creates an instance of RealtimeServerEventResponseAudioTranscriptDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param transcript the transcript value to set. + */ + @Generated + private RealtimeServerEventResponseAudioTranscriptDone(String eventId, String responseId, String itemId, + long outputIndex, long contentIndex, String transcript) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.transcript = transcript; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the transcript property: The final transcript of the audio. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("transcript", this.transcript); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseAudioTranscriptDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseAudioTranscriptDone 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 RealtimeServerEventResponseAudioTranscriptDone. + */ + @Generated + public static RealtimeServerEventResponseAudioTranscriptDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + String transcript = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("transcript".equals(fieldName)) { + transcript = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseAudioTranscriptDone deserializedRealtimeServerEventResponseAudioTranscriptDone + = new RealtimeServerEventResponseAudioTranscriptDone(eventId, responseId, itemId, outputIndex, + contentIndex, transcript); + deserializedRealtimeServerEventResponseAudioTranscriptDone.type = type; + return deserializedRealtimeServerEventResponseAudioTranscriptDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java new file mode 100644 index 0000000000000..a93525c91a441 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a new content part is added to an assistant message item during + * response generation. + */ +@Immutable +public final class RealtimeServerEventResponseContentPartAdded extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CONTENT_PART_ADDED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item to which the content part was added. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The content part that was added. + */ + @Generated + private final RealtimeServerEventResponseContentPartAddedPart part; + + /** + * Creates an instance of RealtimeServerEventResponseContentPartAdded class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param part the part value to set. + */ + @Generated + private RealtimeServerEventResponseContentPartAdded(String eventId, String responseId, String itemId, + long outputIndex, long contentIndex, RealtimeServerEventResponseContentPartAddedPart part) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.part = part; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item to which the content part was added. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the part property: The content part that was added. + * + * @return the part value. + */ + @Generated + public RealtimeServerEventResponseContentPartAddedPart getPart() { + return this.part; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeJsonField("part", this.part); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseContentPartAdded from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseContentPartAdded 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 RealtimeServerEventResponseContentPartAdded. + */ + @Generated + public static RealtimeServerEventResponseContentPartAdded fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + RealtimeServerEventResponseContentPartAddedPart part = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CONTENT_PART_ADDED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("part".equals(fieldName)) { + part = RealtimeServerEventResponseContentPartAddedPart.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseContentPartAdded deserializedRealtimeServerEventResponseContentPartAdded + = new RealtimeServerEventResponseContentPartAdded(eventId, responseId, itemId, outputIndex, + contentIndex, part); + deserializedRealtimeServerEventResponseContentPartAdded.type = type; + return deserializedRealtimeServerEventResponseContentPartAdded; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java new file mode 100644 index 0000000000000..4ba0919035f5b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java @@ -0,0 +1,138 @@ +// 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; + +/** + * The RealtimeServerEventResponseContentPartAddedPart model. + */ +@Immutable +public final class RealtimeServerEventResponseContentPartAddedPart + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventResponseContentPartAddedPartType type; + + /* + * The text property. + */ + @Generated + private String text; + + /* + * The audio property. + */ + @Generated + private String audio; + + /* + * The transcript property. + */ + @Generated + private String transcript; + + /** + * Creates an instance of RealtimeServerEventResponseContentPartAddedPart class. + */ + @Generated + private RealtimeServerEventResponseContentPartAddedPart() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeServerEventResponseContentPartAddedPartType getType() { + return this.type; + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the audio property: The audio property. + * + * @return the audio value. + */ + @Generated + public String getAudio() { + return this.audio; + } + + /** + * Get the transcript property: The transcript property. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("audio", this.audio); + jsonWriter.writeStringField("transcript", this.transcript); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseContentPartAddedPart from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseContentPartAddedPart 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 RealtimeServerEventResponseContentPartAddedPart. + */ + @Generated + public static RealtimeServerEventResponseContentPartAddedPart fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEventResponseContentPartAddedPart deserializedRealtimeServerEventResponseContentPartAddedPart + = new RealtimeServerEventResponseContentPartAddedPart(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartAddedPart.type + = RealtimeServerEventResponseContentPartAddedPartType.fromString(reader.getString()); + } else if ("text".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartAddedPart.text = reader.getString(); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartAddedPart.audio = reader.getString(); + } else if ("transcript".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartAddedPart.transcript = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEventResponseContentPartAddedPart; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java new file mode 100644 index 0000000000000..ed5899ecf492f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.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; + +/** + * Defines values for RealtimeServerEventResponseContentPartAddedPartType. + */ +public enum RealtimeServerEventResponseContentPartAddedPartType { + /** + * Enum value audio. + */ + AUDIO("audio"), + + /** + * Enum value text. + */ + TEXT("text"); + + /** + * The actual serialized value for a RealtimeServerEventResponseContentPartAddedPartType instance. + */ + private final String value; + + RealtimeServerEventResponseContentPartAddedPartType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeServerEventResponseContentPartAddedPartType instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeServerEventResponseContentPartAddedPartType object, or null if unable to parse. + */ + public static RealtimeServerEventResponseContentPartAddedPartType fromString(String value) { + if (value == null) { + return null; + } + RealtimeServerEventResponseContentPartAddedPartType[] items + = RealtimeServerEventResponseContentPartAddedPartType.values(); + for (RealtimeServerEventResponseContentPartAddedPartType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java new file mode 100644 index 0000000000000..0c6d78781251a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a content part is done streaming in an assistant message item. + * Also emitted when a Response is interrupted, incomplete, or cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseContentPartDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CONTENT_PART_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The content part that is done. + */ + @Generated + private final RealtimeServerEventResponseContentPartDonePart part; + + /** + * Creates an instance of RealtimeServerEventResponseContentPartDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param part the part value to set. + */ + @Generated + private RealtimeServerEventResponseContentPartDone(String eventId, String responseId, String itemId, + long outputIndex, long contentIndex, RealtimeServerEventResponseContentPartDonePart part) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.part = part; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the part property: The content part that is done. + * + * @return the part value. + */ + @Generated + public RealtimeServerEventResponseContentPartDonePart getPart() { + return this.part; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeJsonField("part", this.part); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseContentPartDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseContentPartDone 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 RealtimeServerEventResponseContentPartDone. + */ + @Generated + public static RealtimeServerEventResponseContentPartDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + RealtimeServerEventResponseContentPartDonePart part = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CONTENT_PART_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("part".equals(fieldName)) { + part = RealtimeServerEventResponseContentPartDonePart.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseContentPartDone deserializedRealtimeServerEventResponseContentPartDone + = new RealtimeServerEventResponseContentPartDone(eventId, responseId, itemId, outputIndex, contentIndex, + part); + deserializedRealtimeServerEventResponseContentPartDone.type = type; + return deserializedRealtimeServerEventResponseContentPartDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java new file mode 100644 index 0000000000000..50020f30b86a9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java @@ -0,0 +1,158 @@ +// 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; + +/** + * The RealtimeServerEventResponseContentPartDonePart model. + */ +@Immutable +public final class RealtimeServerEventResponseContentPartDonePart + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventResponseContentPartDonePartType type; + + /* + * The text property. + */ + @Generated + private String text; + + /* + * The audio property. + */ + @Generated + private String audio; + + /* + * The transcript property. + */ + @Generated + private String transcript; + + /* + * The audio format, when this is an audio content part. + */ + @Generated + private RealtimeAudioFormats format; + + /** + * Creates an instance of RealtimeServerEventResponseContentPartDonePart class. + */ + @Generated + private RealtimeServerEventResponseContentPartDonePart() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeServerEventResponseContentPartDonePartType getType() { + return this.type; + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the audio property: The audio property. + * + * @return the audio value. + */ + @Generated + public String getAudio() { + return this.audio; + } + + /** + * Get the transcript property: The transcript property. + * + * @return the transcript value. + */ + @Generated + public String getTranscript() { + return this.transcript; + } + + /** + * Get the format property: The audio format, when this is an audio content part. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("audio", this.audio); + jsonWriter.writeStringField("transcript", this.transcript); + jsonWriter.writeJsonField("format", this.format); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseContentPartDonePart from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseContentPartDonePart 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 RealtimeServerEventResponseContentPartDonePart. + */ + @Generated + public static RealtimeServerEventResponseContentPartDonePart fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeServerEventResponseContentPartDonePart deserializedRealtimeServerEventResponseContentPartDonePart + = new RealtimeServerEventResponseContentPartDonePart(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartDonePart.type + = RealtimeServerEventResponseContentPartDonePartType.fromString(reader.getString()); + } else if ("text".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartDonePart.text = reader.getString(); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartDonePart.audio = reader.getString(); + } else if ("transcript".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartDonePart.transcript = reader.getString(); + } else if ("format".equals(fieldName)) { + deserializedRealtimeServerEventResponseContentPartDonePart.format + = RealtimeAudioFormats.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeServerEventResponseContentPartDonePart; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java new file mode 100644 index 0000000000000..1aafca4076aa7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.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; + +/** + * Defines values for RealtimeServerEventResponseContentPartDonePartType. + */ +public enum RealtimeServerEventResponseContentPartDonePartType { + /** + * Enum value audio. + */ + AUDIO("audio"), + + /** + * Enum value text. + */ + TEXT("text"); + + /** + * The actual serialized value for a RealtimeServerEventResponseContentPartDonePartType instance. + */ + private final String value; + + RealtimeServerEventResponseContentPartDonePartType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a RealtimeServerEventResponseContentPartDonePartType instance. + * + * @param value the serialized value to parse. + * @return the parsed RealtimeServerEventResponseContentPartDonePartType object, or null if unable to parse. + */ + public static RealtimeServerEventResponseContentPartDonePartType fromString(String value) { + if (value == null) { + return null; + } + RealtimeServerEventResponseContentPartDonePartType[] items + = RealtimeServerEventResponseContentPartDonePartType.values(); + for (RealtimeServerEventResponseContentPartDonePartType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java new file mode 100644 index 0000000000000..569b254deaa03 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a new Response is created. The first event of response creation, + * where the response is in an initial state of `in_progress`. + */ +@Immutable +public final class RealtimeServerEventResponseCreated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CREATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The response property. + */ + @Generated + private final VoiceAgentRealtimeResponse response; + + /** + * Creates an instance of RealtimeServerEventResponseCreated class. + * + * @param eventId the eventId value to set. + * @param response the response value to set. + */ + @Generated + private RealtimeServerEventResponseCreated(String eventId, VoiceAgentRealtimeResponse response) { + this.eventId = eventId; + this.response = response; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the response property: The response property. + * + * @return the response value. + */ + @Generated + public VoiceAgentRealtimeResponse getResponse() { + return this.response; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("response", this.response); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseCreated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseCreated 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 RealtimeServerEventResponseCreated. + */ + @Generated + public static RealtimeServerEventResponseCreated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + VoiceAgentRealtimeResponse response = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_CREATED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response".equals(fieldName)) { + response = VoiceAgentRealtimeResponse.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseCreated deserializedRealtimeServerEventResponseCreated + = new RealtimeServerEventResponseCreated(eventId, response); + deserializedRealtimeServerEventResponseCreated.type = type; + return deserializedRealtimeServerEventResponseCreated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java new file mode 100644 index 0000000000000..a2f9304055fab --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a Response is done streaming. Always emitted, no matter the + * final state. The Response object included in the `response.done` event will + * include all output Items in the Response but will omit the raw audio data. + * Clients should check the `status` field of the Response to determine if it was successful + * (`completed`) or if there was another outcome: `cancelled`, `failed`, or `incomplete`. + * A response will contain all output items that were generated during the response, excluding + * any audio content. + */ +@Immutable +public final class RealtimeServerEventResponseDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The response property. + */ + @Generated + private final VoiceAgentRealtimeResponse response; + + /** + * Creates an instance of RealtimeServerEventResponseDone class. + * + * @param eventId the eventId value to set. + * @param response the response value to set. + */ + @Generated + private RealtimeServerEventResponseDone(String eventId, VoiceAgentRealtimeResponse response) { + this.eventId = eventId; + this.response = response; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the response property: The response property. + * + * @return the response value. + */ + @Generated + public VoiceAgentRealtimeResponse getResponse() { + return this.response; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("response", this.response); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseDone 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 RealtimeServerEventResponseDone. + */ + @Generated + public static RealtimeServerEventResponseDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + VoiceAgentRealtimeResponse response = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response".equals(fieldName)) { + response = VoiceAgentRealtimeResponse.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseDone deserializedRealtimeServerEventResponseDone + = new RealtimeServerEventResponseDone(eventId, response); + deserializedRealtimeServerEventResponseDone.type = type; + return deserializedRealtimeServerEventResponseDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java new file mode 100644 index 0000000000000..ea149b755b9d7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated function call arguments are updated. + */ +@Immutable +public final class RealtimeServerEventResponseFunctionCallArgumentsDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the function call item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The ID of the function call. + */ + @Generated + private final String callId; + + /* + * The arguments delta as a JSON string. + */ + @Generated + private final String delta; + + /** + * Creates an instance of RealtimeServerEventResponseFunctionCallArgumentsDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param callId the callId value to set. + * @param delta the delta value to set. + */ + @Generated + private RealtimeServerEventResponseFunctionCallArgumentsDelta(String eventId, String responseId, String itemId, + long outputIndex, String callId, String delta) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.callId = callId; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the function call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the callId property: The ID of the function call. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the delta property: The arguments delta as a JSON string. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseFunctionCallArgumentsDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseFunctionCallArgumentsDelta 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 RealtimeServerEventResponseFunctionCallArgumentsDelta. + */ + @Generated + public static RealtimeServerEventResponseFunctionCallArgumentsDelta fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + String callId = null; + String delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseFunctionCallArgumentsDelta deserializedRealtimeServerEventResponseFunctionCallArgumentsDelta + = new RealtimeServerEventResponseFunctionCallArgumentsDelta(eventId, responseId, itemId, outputIndex, + callId, delta); + deserializedRealtimeServerEventResponseFunctionCallArgumentsDelta.type = type; + return deserializedRealtimeServerEventResponseFunctionCallArgumentsDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java new file mode 100644 index 0000000000000..1c52f5c67bb27 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java @@ -0,0 +1,241 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the model-generated function call arguments are done streaming. + * Also emitted when a Response is interrupted, incomplete, or cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseFunctionCallArgumentsDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the function call item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The ID of the function call. + */ + @Generated + private final String callId; + + /* + * The name of the function that was called. + */ + @Generated + private final String name; + + /* + * The final arguments as a JSON string. + */ + @Generated + private final String arguments; + + /** + * Creates an instance of RealtimeServerEventResponseFunctionCallArgumentsDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param callId the callId value to set. + * @param name the name value to set. + * @param arguments the arguments value to set. + */ + @Generated + private RealtimeServerEventResponseFunctionCallArgumentsDone(String eventId, String responseId, String itemId, + long outputIndex, String callId, String name, String arguments) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.callId = callId; + this.name = name; + this.arguments = arguments; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the function call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the callId property: The ID of the function call. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the name property: The name of the function that was called. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the arguments property: The final arguments as a JSON string. + * + * @return the arguments value. + */ + @Generated + public String getArguments() { + return this.arguments; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("arguments", this.arguments); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseFunctionCallArgumentsDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseFunctionCallArgumentsDone 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 RealtimeServerEventResponseFunctionCallArgumentsDone. + */ + @Generated + public static RealtimeServerEventResponseFunctionCallArgumentsDone fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + String callId = null; + String name = null; + String arguments = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("arguments".equals(fieldName)) { + arguments = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseFunctionCallArgumentsDone deserializedRealtimeServerEventResponseFunctionCallArgumentsDone + = new RealtimeServerEventResponseFunctionCallArgumentsDone(eventId, responseId, itemId, outputIndex, + callId, name, arguments); + deserializedRealtimeServerEventResponseFunctionCallArgumentsDone.type = type; + return deserializedRealtimeServerEventResponseFunctionCallArgumentsDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java new file mode 100644 index 0000000000000..f5cc8c9ae1c94 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java @@ -0,0 +1,215 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when MCP tool call arguments are updated during response generation. + */ +@Immutable +public final class RealtimeServerEventResponseMCPCallArgumentsDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_ARGUMENTS_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the MCP tool call item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The JSON-encoded arguments delta. + */ + @Generated + private final String delta; + + /* + * The obfuscation property. + */ + @Generated + private String obfuscation; + + /** + * Creates an instance of RealtimeServerEventResponseMCPCallArgumentsDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param delta the delta value to set. + */ + @Generated + private RealtimeServerEventResponseMCPCallArgumentsDelta(String eventId, String responseId, String itemId, + long outputIndex, String delta) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the MCP tool call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the delta property: The JSON-encoded arguments delta. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * Get the obfuscation property: The obfuscation property. + * + * @return the obfuscation value. + */ + @Generated + public String getObfuscation() { + return this.obfuscation; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("obfuscation", this.obfuscation); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseMCPCallArgumentsDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseMCPCallArgumentsDelta 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 RealtimeServerEventResponseMCPCallArgumentsDelta. + */ + @Generated + public static RealtimeServerEventResponseMCPCallArgumentsDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + String delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_ARGUMENTS_DELTA; + String obfuscation = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("obfuscation".equals(fieldName)) { + obfuscation = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseMCPCallArgumentsDelta deserializedRealtimeServerEventResponseMCPCallArgumentsDelta + = new RealtimeServerEventResponseMCPCallArgumentsDelta(eventId, responseId, itemId, outputIndex, delta); + deserializedRealtimeServerEventResponseMCPCallArgumentsDelta.type = type; + deserializedRealtimeServerEventResponseMCPCallArgumentsDelta.obfuscation = obfuscation; + return deserializedRealtimeServerEventResponseMCPCallArgumentsDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java new file mode 100644 index 0000000000000..8c9e1c6733416 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java @@ -0,0 +1,195 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when MCP tool call arguments are finalized during response generation. + */ +@Immutable +public final class RealtimeServerEventResponseMCPCallArgumentsDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_ARGUMENTS_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the MCP tool call item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The final JSON-encoded arguments string. + */ + @Generated + private final String arguments; + + /** + * Creates an instance of RealtimeServerEventResponseMCPCallArgumentsDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param arguments the arguments value to set. + */ + @Generated + private RealtimeServerEventResponseMCPCallArgumentsDone(String eventId, String responseId, String itemId, + long outputIndex, String arguments) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.arguments = arguments; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the MCP tool call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the arguments property: The final JSON-encoded arguments string. + * + * @return the arguments value. + */ + @Generated + public String getArguments() { + return this.arguments; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("arguments", this.arguments); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseMCPCallArgumentsDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseMCPCallArgumentsDone 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 RealtimeServerEventResponseMCPCallArgumentsDone. + */ + @Generated + public static RealtimeServerEventResponseMCPCallArgumentsDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + String arguments = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_ARGUMENTS_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("arguments".equals(fieldName)) { + arguments = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseMCPCallArgumentsDone deserializedRealtimeServerEventResponseMCPCallArgumentsDone + = new RealtimeServerEventResponseMCPCallArgumentsDone(eventId, responseId, itemId, outputIndex, + arguments); + deserializedRealtimeServerEventResponseMCPCallArgumentsDone.type = type; + return deserializedRealtimeServerEventResponseMCPCallArgumentsDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java new file mode 100644 index 0000000000000..889a36b2c1941 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an MCP tool call has completed successfully. + */ +@Immutable +public final class RealtimeServerEventResponseMCPCallCompleted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_COMPLETED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The ID of the MCP tool call item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventResponseMCPCallCompleted class. + * + * @param eventId the eventId value to set. + * @param outputIndex the outputIndex value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventResponseMCPCallCompleted(String eventId, long outputIndex, String itemId) { + this.eventId = eventId; + this.outputIndex = outputIndex; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the itemId property: The ID of the MCP tool call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseMCPCallCompleted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseMCPCallCompleted 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 RealtimeServerEventResponseMCPCallCompleted. + */ + @Generated + public static RealtimeServerEventResponseMCPCallCompleted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long outputIndex = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_COMPLETED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseMCPCallCompleted deserializedRealtimeServerEventResponseMCPCallCompleted + = new RealtimeServerEventResponseMCPCallCompleted(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMCPCallCompleted.type = type; + return deserializedRealtimeServerEventResponseMCPCallCompleted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java new file mode 100644 index 0000000000000..502d7cfe2db35 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an MCP tool call has failed. + */ +@Immutable +public final class RealtimeServerEventResponseMCPCallFailed extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_FAILED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The ID of the MCP tool call item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventResponseMCPCallFailed class. + * + * @param eventId the eventId value to set. + * @param outputIndex the outputIndex value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventResponseMCPCallFailed(String eventId, long outputIndex, String itemId) { + this.eventId = eventId; + this.outputIndex = outputIndex; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the itemId property: The ID of the MCP tool call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseMCPCallFailed from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseMCPCallFailed 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 RealtimeServerEventResponseMCPCallFailed. + */ + @Generated + public static RealtimeServerEventResponseMCPCallFailed fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long outputIndex = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_FAILED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseMCPCallFailed deserializedRealtimeServerEventResponseMCPCallFailed + = new RealtimeServerEventResponseMCPCallFailed(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMCPCallFailed.type = type; + return deserializedRealtimeServerEventResponseMCPCallFailed; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java new file mode 100644 index 0000000000000..d50a0e6a8f782 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an MCP tool call has started and is in progress. + */ +@Immutable +public final class RealtimeServerEventResponseMCPCallInProgress extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_IN_PROGRESS; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The ID of the MCP tool call item. + */ + @Generated + private final String itemId; + + /** + * Creates an instance of RealtimeServerEventResponseMCPCallInProgress class. + * + * @param eventId the eventId value to set. + * @param outputIndex the outputIndex value to set. + * @param itemId the itemId value to set. + */ + @Generated + private RealtimeServerEventResponseMCPCallInProgress(String eventId, long outputIndex, String itemId) { + this.eventId = eventId; + this.outputIndex = outputIndex; + this.itemId = itemId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the itemId property: The ID of the MCP tool call item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseMCPCallInProgress from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseMCPCallInProgress 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 RealtimeServerEventResponseMCPCallInProgress. + */ + @Generated + public static RealtimeServerEventResponseMCPCallInProgress fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + long outputIndex = 0L; + String itemId = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_MCP_CALL_IN_PROGRESS; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseMCPCallInProgress deserializedRealtimeServerEventResponseMCPCallInProgress + = new RealtimeServerEventResponseMCPCallInProgress(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMCPCallInProgress.type = type; + return deserializedRealtimeServerEventResponseMCPCallInProgress; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java new file mode 100644 index 0000000000000..acf9a53a1f6db --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a new Item is created during Response generation. + */ +@Immutable +public final class RealtimeServerEventResponseOutputItemAdded extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_ITEM_ADDED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the Response to which the item belongs. + */ + @Generated + private final String responseId; + + /* + * The index of the output item in the Response. + */ + @Generated + private final long outputIndex; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventResponseOutputItemAdded class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param outputIndex the outputIndex value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventResponseOutputItemAdded(String eventId, String responseId, long outputIndex, + RealtimeConversationItem item) { + this.eventId = eventId; + this.responseId = responseId; + this.outputIndex = outputIndex; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the Response to which the item belongs. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the outputIndex property: The index of the output item in the Response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseOutputItemAdded from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseOutputItemAdded 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 RealtimeServerEventResponseOutputItemAdded. + */ + @Generated + public static RealtimeServerEventResponseOutputItemAdded fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + long outputIndex = 0L; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_ITEM_ADDED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseOutputItemAdded deserializedRealtimeServerEventResponseOutputItemAdded + = new RealtimeServerEventResponseOutputItemAdded(eventId, responseId, outputIndex, item); + deserializedRealtimeServerEventResponseOutputItemAdded.type = type; + return deserializedRealtimeServerEventResponseOutputItemAdded; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java new file mode 100644 index 0000000000000..c38a91ff84f57 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when an Item is done streaming. Also emitted when a Response is + * interrupted, incomplete, or cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseOutputItemDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_ITEM_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the Response to which the item belongs. + */ + @Generated + private final String responseId; + + /* + * The index of the output item in the Response. + */ + @Generated + private final long outputIndex; + + /* + * The item property. + */ + @Generated + private final RealtimeConversationItem item; + + /** + * Creates an instance of RealtimeServerEventResponseOutputItemDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param outputIndex the outputIndex value to set. + * @param item the item value to set. + */ + @Generated + private RealtimeServerEventResponseOutputItemDone(String eventId, String responseId, long outputIndex, + RealtimeConversationItem item) { + this.eventId = eventId; + this.responseId = responseId; + this.outputIndex = outputIndex; + this.item = item; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the Response to which the item belongs. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the outputIndex property: The index of the output item in the Response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the item property: The item property. + * + * @return the item value. + */ + @Generated + public RealtimeConversationItem getItem() { + return this.item; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeJsonField("item", this.item); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseOutputItemDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseOutputItemDone 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 RealtimeServerEventResponseOutputItemDone. + */ + @Generated + public static RealtimeServerEventResponseOutputItemDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + long outputIndex = 0L; + RealtimeConversationItem item = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_ITEM_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("item".equals(fieldName)) { + item = RealtimeConversationItem.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseOutputItemDone deserializedRealtimeServerEventResponseOutputItemDone + = new RealtimeServerEventResponseOutputItemDone(eventId, responseId, outputIndex, item); + deserializedRealtimeServerEventResponseOutputItemDone.type = type; + return deserializedRealtimeServerEventResponseOutputItemDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java new file mode 100644 index 0000000000000..cb1629a311178 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java @@ -0,0 +1,217 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the text value of an "output_text" content part is updated. + */ +@Immutable +public final class RealtimeServerEventResponseTextDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_TEXT_DELTA; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The text delta. + */ + @Generated + private final String delta; + + /** + * Creates an instance of RealtimeServerEventResponseTextDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param delta the delta value to set. + */ + @Generated + private RealtimeServerEventResponseTextDelta(String eventId, String responseId, String itemId, long outputIndex, + long contentIndex, String delta) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the delta property: The text delta. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseTextDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseTextDelta 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 RealtimeServerEventResponseTextDelta. + */ + @Generated + public static RealtimeServerEventResponseTextDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + String delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_TEXT_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseTextDelta deserializedRealtimeServerEventResponseTextDelta + = new RealtimeServerEventResponseTextDelta(eventId, responseId, itemId, outputIndex, contentIndex, + delta); + deserializedRealtimeServerEventResponseTextDelta.type = type; + return deserializedRealtimeServerEventResponseTextDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java new file mode 100644 index 0000000000000..d78dd26c3ee88 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java @@ -0,0 +1,217 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when the text value of an "output_text" content part is done streaming. Also + * emitted when a Response is interrupted, incomplete, or cancelled. + */ +@Immutable +public final class RealtimeServerEventResponseTextDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_TEXT_DONE; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The ID of the response. + */ + @Generated + private final String responseId; + + /* + * The ID of the item. + */ + @Generated + private final String itemId; + + /* + * The index of the output item in the response. + */ + @Generated + private final long outputIndex; + + /* + * The index of the content part in the item's content array. + */ + @Generated + private final long contentIndex; + + /* + * The final text content. + */ + @Generated + private final String text; + + /** + * Creates an instance of RealtimeServerEventResponseTextDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param text the text value to set. + */ + @Generated + private RealtimeServerEventResponseTextDone(String eventId, String responseId, String itemId, long outputIndex, + long contentIndex, String text) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.text = text; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The ID of the response. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The ID of the item. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The index of the output item in the response. + * + * @return the outputIndex value. + */ + @Generated + public long getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The index of the content part in the item's content array. + * + * @return the contentIndex value. + */ + @Generated + public long getContentIndex() { + return this.contentIndex; + } + + /** + * Get the text property: The final text content. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeLongField("output_index", this.outputIndex); + jsonWriter.writeLongField("content_index", this.contentIndex); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventResponseTextDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventResponseTextDone 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 RealtimeServerEventResponseTextDone. + */ + @Generated + public static RealtimeServerEventResponseTextDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + long outputIndex = 0L; + long contentIndex = 0L; + String text = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_OUTPUT_TEXT_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getLong(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getLong(); + } else if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventResponseTextDone deserializedRealtimeServerEventResponseTextDone + = new RealtimeServerEventResponseTextDone(eventId, responseId, itemId, outputIndex, contentIndex, text); + deserializedRealtimeServerEventResponseTextDone.type = type; + return deserializedRealtimeServerEventResponseTextDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java new file mode 100644 index 0000000000000..1194f8ce7b698 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java @@ -0,0 +1,154 @@ +// 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.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a Session is created. Emitted automatically when a new + * connection is established as the first server event. This event will contain + * the default Session configuration. + */ +@Immutable +public final class RealtimeServerEventSessionCreated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_CREATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The session configuration. + */ + @Generated + private final BinaryData session; + + /* + * The session-scoped conversation id. When present, responses attached to the session conversation use the same + * value in `response.created` and `response.done`. + */ + @Generated + private String conversationId; + + /** + * Creates an instance of RealtimeServerEventSessionCreated class. + * + * @param eventId the eventId value to set. + * @param session the session value to set. + */ + @Generated + private RealtimeServerEventSessionCreated(String eventId, BinaryData session) { + this.eventId = eventId; + this.session = session; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the session property: The session configuration. + * + * @return the session value. + */ + @Generated + public BinaryData getSession() { + return this.session; + } + + /** + * Get the conversationId property: The session-scoped conversation id. When present, responses attached to the + * session conversation use the same value in `response.created` and `response.done`. + * + * @return the conversationId value. + */ + @Generated + public String getConversationId() { + return this.conversationId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeFieldName("session"); + this.session.writeTo(jsonWriter); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("conversation_id", this.conversationId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventSessionCreated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventSessionCreated 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 RealtimeServerEventSessionCreated. + */ + @Generated + public static RealtimeServerEventSessionCreated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + BinaryData session = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_CREATED; + String conversationId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("session".equals(fieldName)) { + session = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("conversation_id".equals(fieldName)) { + conversationId = reader.getString(); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventSessionCreated deserializedRealtimeServerEventSessionCreated + = new RealtimeServerEventSessionCreated(eventId, session); + deserializedRealtimeServerEventSessionCreated.type = type; + deserializedRealtimeServerEventSessionCreated.conversationId = conversationId; + return deserializedRealtimeServerEventSessionCreated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java new file mode 100644 index 0000000000000..da93e24c7c8e3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.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.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Returned when a session is updated with a `session.update` event, unless + * there is an error. + */ +@Immutable +public final class RealtimeServerEventSessionUpdated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_UPDATED; + + /* + * The unique ID of the server event. + */ + @Generated + private final String eventId; + + /* + * The session configuration. + */ + @Generated + private final BinaryData session; + + /** + * Creates an instance of RealtimeServerEventSessionUpdated class. + * + * @param eventId the eventId value to set. + * @param session the session value to set. + */ + @Generated + private RealtimeServerEventSessionUpdated(String eventId, BinaryData session) { + this.eventId = eventId; + this.session = session; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The unique ID of the server event. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the session property: The session configuration. + * + * @return the session value. + */ + @Generated + public BinaryData getSession() { + return this.session; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeFieldName("session"); + this.session.writeTo(jsonWriter); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeServerEventSessionUpdated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeServerEventSessionUpdated 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 RealtimeServerEventSessionUpdated. + */ + @Generated + public static RealtimeServerEventSessionUpdated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + BinaryData session = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_UPDATED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("session".equals(fieldName)) { + session = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + RealtimeServerEventSessionUpdated deserializedRealtimeServerEventSessionUpdated + = new RealtimeServerEventSessionUpdated(eventId, session); + deserializedRealtimeServerEventSessionUpdated.type = type; + return deserializedRealtimeServerEventSessionUpdated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java new file mode 100644 index 0000000000000..16bbe9825b7c2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java @@ -0,0 +1,441 @@ +// 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; + +/** + * Defines values for RealtimeServerEventType. + */ +public final class RealtimeServerEventType extends ExpandableStringEnum { + + /** + * Static value conversation.created for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_CREATED = fromString("conversation.created"); + + /** + * Static value conversation.item.created for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_CREATED = fromString("conversation.item.created"); + + /** + * Static value conversation.item.deleted for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_DELETED = fromString("conversation.item.deleted"); + + /** + * Static value conversation.item.input_audio_transcription.completed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_COMPLETED + = fromString("conversation.item.input_audio_transcription.completed"); + + /** + * Static value conversation.item.input_audio_transcription.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_DELTA + = fromString("conversation.item.input_audio_transcription.delta"); + + /** + * Static value conversation.item.input_audio_transcription.failed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_FAILED + = fromString("conversation.item.input_audio_transcription.failed"); + + /** + * Static value conversation.item.retrieved for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_RETRIEVED = fromString("conversation.item.retrieved"); + + /** + * Static value conversation.item.truncated for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_TRUNCATED = fromString("conversation.item.truncated"); + + /** + * Static value error for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType ERROR = fromString("error"); + + /** + * Static value input_audio_buffer.cleared for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_CLEARED = fromString("input_audio_buffer.cleared"); + + /** + * Static value input_audio_buffer.committed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_COMMITTED + = fromString("input_audio_buffer.committed"); + + /** + * Static value input_audio_buffer.dtmf_event_received for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_DTMF_EVENT_RECEIVED + = fromString("input_audio_buffer.dtmf_event_received"); + + /** + * Static value input_audio_buffer.speech_started for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_SPEECH_STARTED + = fromString("input_audio_buffer.speech_started"); + + /** + * Static value input_audio_buffer.speech_stopped for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_SPEECH_STOPPED + = fromString("input_audio_buffer.speech_stopped"); + + /** + * Static value rate_limits.updated for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RATE_LIMITS_UPDATED = fromString("rate_limits.updated"); + + /** + * Static value response.output_audio.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_AUDIO_DELTA = fromString("response.output_audio.delta"); + + /** + * Static value response.output_audio.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_AUDIO_DONE = fromString("response.output_audio.done"); + + /** + * Static value response.output_audio_transcript.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DELTA + = fromString("response.output_audio_transcript.delta"); + + /** + * Static value response.output_audio_transcript.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_AUDIO_TRANSCRIPT_DONE + = fromString("response.output_audio_transcript.done"); + + /** + * Static value response.content_part.added for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_CONTENT_PART_ADDED = fromString("response.content_part.added"); + + /** + * Static value response.content_part.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_CONTENT_PART_DONE = fromString("response.content_part.done"); + + /** + * Static value response.created for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_CREATED = fromString("response.created"); + + /** + * Static value response.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_DONE = fromString("response.done"); + + /** + * Static value response.function_call_arguments.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_FUNCTION_CALL_ARGUMENTS_DELTA + = fromString("response.function_call_arguments.delta"); + + /** + * Static value response.function_call_arguments.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_FUNCTION_CALL_ARGUMENTS_DONE + = fromString("response.function_call_arguments.done"); + + /** + * Static value response.output_item.added for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_ITEM_ADDED = fromString("response.output_item.added"); + + /** + * Static value response.output_item.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_ITEM_DONE = fromString("response.output_item.done"); + + /** + * Static value response.output_text.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_TEXT_DELTA = fromString("response.output_text.delta"); + + /** + * Static value response.output_text.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_OUTPUT_TEXT_DONE = fromString("response.output_text.done"); + + /** + * Static value session.created for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_CREATED = fromString("session.created"); + + /** + * Static value session.updated for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_UPDATED = fromString("session.updated"); + + /** + * Static value output_audio_buffer.started for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType OUTPUT_AUDIO_BUFFER_STARTED = fromString("output_audio_buffer.started"); + + /** + * Static value output_audio_buffer.stopped for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType OUTPUT_AUDIO_BUFFER_STOPPED = fromString("output_audio_buffer.stopped"); + + /** + * Static value output_audio_buffer.cleared for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType OUTPUT_AUDIO_BUFFER_CLEARED = fromString("output_audio_buffer.cleared"); + + /** + * Static value conversation.item.added for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_ADDED = fromString("conversation.item.added"); + + /** + * Static value conversation.item.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_DONE = fromString("conversation.item.done"); + + /** + * Static value input_audio_buffer.timeout_triggered for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType INPUT_AUDIO_BUFFER_TIMEOUT_TRIGGERED + = fromString("input_audio_buffer.timeout_triggered"); + + /** + * Static value conversation.item.input_audio_transcription.segment for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType CONVERSATION_ITEM_INPUT_AUDIO_TRANSCRIPTION_SEGMENT + = fromString("conversation.item.input_audio_transcription.segment"); + + /** + * Static value mcp_list_tools.in_progress for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType MCP_LIST_TOOLS_IN_PROGRESS = fromString("mcp_list_tools.in_progress"); + + /** + * Static value mcp_list_tools.completed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType MCP_LIST_TOOLS_COMPLETED = fromString("mcp_list_tools.completed"); + + /** + * Static value mcp_list_tools.failed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType MCP_LIST_TOOLS_FAILED = fromString("mcp_list_tools.failed"); + + /** + * Static value response.mcp_call_arguments.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_MCP_CALL_ARGUMENTS_DELTA + = fromString("response.mcp_call_arguments.delta"); + + /** + * Static value response.mcp_call_arguments.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_MCP_CALL_ARGUMENTS_DONE + = fromString("response.mcp_call_arguments.done"); + + /** + * Static value response.mcp_call.in_progress for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_MCP_CALL_IN_PROGRESS + = fromString("response.mcp_call.in_progress"); + + /** + * Static value response.mcp_call.completed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_MCP_CALL_COMPLETED = fromString("response.mcp_call.completed"); + + /** + * Static value response.mcp_call.failed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_MCP_CALL_FAILED = fromString("response.mcp_call.failed"); + + /** + * Static value warning for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType WARNING = fromString("warning"); + + /** + * Static value session.subagent.started for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_SUBAGENT_STARTED = fromString("session.subagent.started"); + + /** + * Static value session.subagent.completed for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_SUBAGENT_COMPLETED = fromString("session.subagent.completed"); + + /** + * Static value session.subagent.aborted for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_SUBAGENT_ABORTED = fromString("session.subagent.aborted"); + + /** + * Static value session.avatar.connecting for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_AVATAR_CONNECTING = fromString("session.avatar.connecting"); + + /** + * Static value session.avatar.switch_to_speaking for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_AVATAR_SWITCH_TO_SPEAKING + = fromString("session.avatar.switch_to_speaking"); + + /** + * Static value session.avatar.switch_to_idle for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType SESSION_AVATAR_SWITCH_TO_IDLE + = fromString("session.avatar.switch_to_idle"); + + /** + * Static value rtc.call.sdp.created for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RTC_CALL_SDP_CREATED = fromString("rtc.call.sdp.created"); + + /** + * Static value rtc.call.error for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RTC_CALL_ERROR = fromString("rtc.call.error"); + + /** + * Static value response.audio_timestamp.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_AUDIO_TIMESTAMP_DELTA + = fromString("response.audio_timestamp.delta"); + + /** + * Static value response.audio_timestamp.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_AUDIO_TIMESTAMP_DONE + = fromString("response.audio_timestamp.done"); + + /** + * Static value response.animation_blendshapes.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_ANIMATION_BLENDSHAPES_DELTA + = fromString("response.animation_blendshapes.delta"); + + /** + * Static value response.animation_blendshapes.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_ANIMATION_BLENDSHAPES_DONE + = fromString("response.animation_blendshapes.done"); + + /** + * Static value response.animation_viseme.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_ANIMATION_VISEME_DELTA + = fromString("response.animation_viseme.delta"); + + /** + * Static value response.animation_viseme.done for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_ANIMATION_VISEME_DONE + = fromString("response.animation_viseme.done"); + + /** + * Static value response.video.delta for RealtimeServerEventType. + */ + @Generated + public static final RealtimeServerEventType RESPONSE_VIDEO_DELTA = fromString("response.video.delta"); + + /** + * Creates a new instance of RealtimeServerEventType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeServerEventType() { + } + + /** + * Creates or finds a RealtimeServerEventType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeServerEventType. + */ + @Generated + public static RealtimeServerEventType fromString(String name) { + return fromString(name, RealtimeServerEventType.class); + } + + /** + * Gets known RealtimeServerEventType values. + * + * @return known RealtimeServerEventType values. + */ + @Generated + public static Collection values() { + return values(RealtimeServerEventType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java new file mode 100644 index 0000000000000..64fddd0741e96 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java @@ -0,0 +1,597 @@ +// 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.OpenAIJsonHelper; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeReasoning; +import com.openai.models.responses.ResponsePrompt; +import java.io.IOException; +import java.util.List; + +/** + * Realtime session configuration + * + * Realtime session object configuration. + */ +@Fluent +public final class RealtimeSessionCreateRequestGA extends RealtimeSessionCreateRequestUnion { + + /* + * The type property. + */ + @Generated + private RealtimeSessionCreateRequestUnionType type = RealtimeSessionCreateRequestUnionType.REALTIME; + + /* + * The set of modalities the model can respond with. It defaults to `["audio"]`, indicating + * that the model will respond with audio plus a transcript. `["text"]` can be used to make + * the model respond with text only. It is not possible to request both `text` and `audio` at the same time. + */ + @Generated + private List outputModalities; + + /* + * The Realtime model used for this session. + */ + @Generated + private RealtimeClientEventSessionUpdateSessionModel model; + + /* + * The default system instructions (i.e. system message) prepended to model calls. This field allows the client to + * guide the model on desired responses. The model can be instructed on response content and format, (e.g. + * "be extremely succinct", "act friendly", "here are examples of good responses") and on audio behavior (e.g. + * "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are not guaranteed to be + * followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + */ + @Generated + private String instructions; + + /* + * Configuration for input and output audio. + */ + @Generated + private RealtimeSessionCreateRequestGAAudio audio; + + /* + * Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + */ + @Generated + private List include; + + /* + * Tracing Configuration + * + * Realtime API can write session traces to the [Traces Dashboard](https://platform.openai.com/logs?api=traces). Set + * to null to disable tracing. Once + * tracing is enabled for a session, the configuration cannot be modified. + * `auto` will create a trace for the session with default values for the + * workflow name, group id, and metadata. + */ + @Generated + private BinaryData tracing; + + /* + * Tools available to the model. + */ + @Generated + private List tools; + + /* + * How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + */ + @Generated + private BinaryData toolChoice; + + /* + * Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + */ + @Generated + private Boolean parallelToolCalls; + + /* + * The reasoning property. + */ + @Generated + private RealtimeReasoning reasoning; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * The truncation property. + */ + @Generated + private BinaryData truncation; + + /* + * The prompt property. + */ + @Generated + private ResponsePrompt prompt; + + /** + * Creates an instance of RealtimeSessionCreateRequestGA class. + */ + @Generated + public RealtimeSessionCreateRequestGA() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeSessionCreateRequestUnionType getType() { + return this.type; + } + + /** + * Get the outputModalities property: The set of modalities the model can respond with. It defaults to `["audio"]`, + * indicating + * that the model will respond with audio plus a transcript. `["text"]` can be used to make + * the model respond with text only. It is not possible to request both `text` and `audio` at the same time. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: The set of modalities the model can respond with. It defaults to `["audio"]`, + * indicating + * that the model will respond with audio plus a transcript. `["text"]` can be used to make + * the model respond with text only. It is not possible to request both `text` and `audio` at the same time. + * + * @param outputModalities the outputModalities value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA + setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the model property: The Realtime model used for this session. + * + * @return the model value. + */ + @Generated + public RealtimeClientEventSessionUpdateSessionModel getModel() { + return this.model; + } + + /** + * Set the model property: The Realtime model used for this session. + * + * @param model the model value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setModel(RealtimeClientEventSessionUpdateSessionModel model) { + this.model = model; + return this; + } + + /** + * Get the instructions property: The default system instructions (i.e. system message) prepended to model calls. + * This field allows the client to guide the model on desired responses. The model can be instructed on response + * content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on + * audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are + * not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Set the instructions property: The default system instructions (i.e. system message) prepended to model calls. + * This field allows the client to guide the model on desired responses. The model can be instructed on response + * content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on + * audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are + * not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + * + * @param instructions the instructions value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setInstructions(String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Get the audio property: Configuration for input and output audio. + * + * @return the audio value. + */ + @Generated + public RealtimeSessionCreateRequestGAAudio getAudio() { + return this.audio; + } + + /** + * Set the audio property: Configuration for input and output audio. + * + * @param audio the audio value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setAudio(RealtimeSessionCreateRequestGAAudio audio) { + this.audio = audio; + return this; + } + + /** + * Get the include property: Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Set the include property: Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + * + * @param include the include value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setInclude(List include) { + this.include = include; + return this; + } + + /** + * Get the tracing property: Tracing Configuration + * + * Realtime API can write session traces to the [Traces Dashboard](https://platform.openai.com/logs?api=traces). Set + * to null to disable tracing. Once + * tracing is enabled for a session, the configuration cannot be modified. + * `auto` will create a trace for the session with default values for the + * workflow name, group id, and metadata. + * + * @return the tracing value. + */ + @Generated + public BinaryData getTracing() { + return this.tracing; + } + + /** + * Set the tracing property: Tracing Configuration + * + * Realtime API can write session traces to the [Traces Dashboard](https://platform.openai.com/logs?api=traces). Set + * to null to disable tracing. Once + * tracing is enabled for a session, the configuration cannot be modified. + * `auto` will create a trace for the session with default values for the + * workflow name, group id, and metadata. + * + * @param tracing the tracing value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setTracing(BinaryData tracing) { + this.tracing = tracing; + return this; + } + + /** + * Get the tools property: Tools available to the model. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Set the tools property: Tools available to the model. + * + * @param tools the tools value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setTools(List tools) { + this.tools = tools; + return this; + } + + /** + * Get the toolChoice property: How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Set the toolChoice property: How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + * + * @param toolChoice the toolChoice value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setToolChoice(BinaryData toolChoice) { + this.toolChoice = toolChoice; + return this; + } + + /** + * Get the parallelToolCalls property: Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + * + * @return the parallelToolCalls value. + */ + @Generated + public Boolean isParallelToolCalls() { + return this.parallelToolCalls; + } + + /** + * Set the parallelToolCalls property: Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + * + * @param parallelToolCalls the parallelToolCalls value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setParallelToolCalls(Boolean parallelToolCalls) { + this.parallelToolCalls = parallelToolCalls; + return this; + } + + /** + * Get the reasoning property: The reasoning property. + * + * @return the reasoning value. + */ + @Generated + public RealtimeReasoning getReasoning() { + return this.reasoning; + } + + /** + * Set the reasoning property: The reasoning property. + * + * @param reasoning the reasoning value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setReasoning(RealtimeReasoning reasoning) { + this.reasoning = reasoning; + return this; + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * Get the truncation property: The truncation property. + * + * @return the truncation value. + */ + @Generated + public BinaryData getTruncation() { + return this.truncation; + } + + /** + * Set the truncation property: The truncation property. + * + * @param truncation the truncation value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setTruncation(BinaryData truncation) { + this.truncation = truncation; + return this; + } + + /** + * Get the prompt property: The prompt property. + * + * @return the prompt value. + */ + @Generated + public ResponsePrompt getPrompt() { + return this.prompt; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeStringField("model", this.model == null ? null : this.model.toString()); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeArrayField("include", this.include, (writer, element) -> writer.writeString(element)); + if (this.tracing != null) { + jsonWriter.writeFieldName("tracing"); + this.tracing.writeTo(jsonWriter); + } + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + jsonWriter.writeBooleanField("parallel_tool_calls", this.parallelToolCalls); + // AI Tooling: openai-java de-dup + if (this.reasoning != null) { + jsonWriter.writeFieldName("reasoning"); + OpenAIJsonHelper.toBinaryData(this.reasoning).writeTo(jsonWriter); + } + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + if (this.truncation != null) { + jsonWriter.writeFieldName("truncation"); + this.truncation.writeTo(jsonWriter); + } + if (this.prompt != null) { + jsonWriter.writeFieldName("prompt"); + OpenAIJsonHelper.toBinaryData(this.prompt).writeTo(jsonWriter); + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGA from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGA 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 RealtimeSessionCreateRequestGA. + */ + public static RealtimeSessionCreateRequestGA fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGA deserializedRealtimeSessionCreateRequestGA + = new RealtimeSessionCreateRequestGA(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.type + = RealtimeSessionCreateRequestUnionType.fromString(reader.getString()); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> RealtimeClientEventSessionUpdateSessionOutputModality + .fromString(reader1.getString())); + deserializedRealtimeSessionCreateRequestGA.outputModalities = outputModalities; + } else if ("model".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.model + = RealtimeClientEventSessionUpdateSessionModel.fromString(reader.getString()); + } else if ("instructions".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.instructions = reader.getString(); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.audio + = RealtimeSessionCreateRequestGAAudio.fromJson(reader); + } else if ("include".equals(fieldName)) { + List include = reader.readArray(reader1 -> reader1.getString()); + deserializedRealtimeSessionCreateRequestGA.include = include; + } else if ("tracing".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.tracing + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("tools".equals(fieldName)) { + List tools = reader.readArray(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedRealtimeSessionCreateRequestGA.tools = tools; + } else if ("tool_choice".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("parallel_tool_calls".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.parallelToolCalls + = reader.getNullable(JsonReader::getBoolean); + } else if ("reasoning".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData reasoningData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedRealtimeSessionCreateRequestGA.reasoning + = OpenAIJsonHelper.fromBinaryData(reasoningData, RealtimeReasoning.class); + } else if ("max_output_tokens".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("truncation".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGA.truncation + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("prompt".equals(fieldName)) { + BinaryData promptData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedRealtimeSessionCreateRequestGA.prompt + = OpenAIJsonHelper.fromBinaryData(promptData, ResponsePrompt.class); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGA; + }); + } + + /** + * Set the prompt property: The prompt property. + * + * @param prompt the prompt value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setPrompt(ResponsePrompt prompt) { + this.prompt = prompt; + return this; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java new file mode 100644 index 0000000000000..d9f62540bf697 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java @@ -0,0 +1,125 @@ +// 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; + +/** + * The RealtimeSessionCreateRequestGAAudio model. + */ +@Fluent +public final class RealtimeSessionCreateRequestGAAudio + implements JsonSerializable { + + /* + * The input property. + */ + @Generated + private RealtimeSessionCreateRequestGAAudioInput input; + + /* + * The output property. + */ + @Generated + private RealtimeSessionCreateRequestGAAudioOutput output; + + /** + * Creates an instance of RealtimeSessionCreateRequestGAAudio class. + */ + @Generated + public RealtimeSessionCreateRequestGAAudio() { + } + + /** + * Get the input property: The input property. + * + * @return the input value. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput getInput() { + return this.input; + } + + /** + * Set the input property: The input property. + * + * @param input the input value to set. + * @return the RealtimeSessionCreateRequestGAAudio object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudio setInput(RealtimeSessionCreateRequestGAAudioInput input) { + this.input = input; + return this; + } + + /** + * Get the output property: The output property. + * + * @return the output value. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutput getOutput() { + return this.output; + } + + /** + * Set the output property: The output property. + * + * @param output the output value to set. + * @return the RealtimeSessionCreateRequestGAAudio object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudio setOutput(RealtimeSessionCreateRequestGAAudioOutput output) { + this.output = output; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("input", this.input); + jsonWriter.writeJsonField("output", this.output); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGAAudio from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGAAudio 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 RealtimeSessionCreateRequestGAAudio. + */ + @Generated + public static RealtimeSessionCreateRequestGAAudio fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGAAudio deserializedRealtimeSessionCreateRequestGAAudio + = new RealtimeSessionCreateRequestGAAudio(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("input".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudio.input + = RealtimeSessionCreateRequestGAAudioInput.fromJson(reader); + } else if ("output".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudio.output + = RealtimeSessionCreateRequestGAAudioOutput.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGAAudio; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java new file mode 100644 index 0000000000000..1cb23063974ab --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java @@ -0,0 +1,189 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeSessionCreateRequestGAAudioInput model. + */ +@Fluent +public final class RealtimeSessionCreateRequestGAAudioInput + implements JsonSerializable { + + /* + * The format property. + */ + @Generated + private RealtimeAudioFormats format; + + /* + * The transcription property. + */ + @Generated + private AudioTranscription transcription; + + /* + * The noise_reduction property. + */ + @Generated + private RealtimeSessionCreateRequestGAAudioInputNoiseReduction noiseReduction; + + /* + * The turn_detection property. + */ + @Generated + private RealtimeTurnDetection turnDetection; + + /** + * Creates an instance of RealtimeSessionCreateRequestGAAudioInput class. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput() { + } + + /** + * Get the format property: The format property. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * Set the format property: The format property. + * + * @param format the format value to set. + * @return the RealtimeSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput setFormat(RealtimeAudioFormats format) { + this.format = format; + return this; + } + + /** + * Get the transcription property: The transcription property. + * + * @return the transcription value. + */ + @Generated + public AudioTranscription getTranscription() { + return this.transcription; + } + + /** + * Set the transcription property: The transcription property. + * + * @param transcription the transcription value to set. + * @return the RealtimeSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput setTranscription(AudioTranscription transcription) { + this.transcription = transcription; + return this; + } + + /** + * Get the noiseReduction property: The noise_reduction property. + * + * @return the noiseReduction value. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInputNoiseReduction getNoiseReduction() { + return this.noiseReduction; + } + + /** + * Set the noiseReduction property: The noise_reduction property. + * + * @param noiseReduction the noiseReduction value to set. + * @return the RealtimeSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput + setNoiseReduction(RealtimeSessionCreateRequestGAAudioInputNoiseReduction noiseReduction) { + this.noiseReduction = noiseReduction; + return this; + } + + /** + * Get the turnDetection property: The turn_detection property. + * + * @return the turnDetection value. + */ + @Generated + public RealtimeTurnDetection getTurnDetection() { + return this.turnDetection; + } + + /** + * Set the turnDetection property: The turn_detection property. + * + * @param turnDetection the turnDetection value to set. + * @return the RealtimeSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInput setTurnDetection(RealtimeTurnDetection turnDetection) { + this.turnDetection = turnDetection; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("format", this.format); + jsonWriter.writeJsonField("transcription", this.transcription); + jsonWriter.writeJsonField("noise_reduction", this.noiseReduction); + jsonWriter.writeJsonField("turn_detection", this.turnDetection); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGAAudioInput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGAAudioInput 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 RealtimeSessionCreateRequestGAAudioInput. + */ + @Generated + public static RealtimeSessionCreateRequestGAAudioInput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGAAudioInput deserializedRealtimeSessionCreateRequestGAAudioInput + = new RealtimeSessionCreateRequestGAAudioInput(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("format".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioInput.format = RealtimeAudioFormats.fromJson(reader); + } else if ("transcription".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioInput.transcription + = AudioTranscription.fromJson(reader); + } else if ("noise_reduction".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioInput.noiseReduction + = RealtimeSessionCreateRequestGAAudioInputNoiseReduction.fromJson(reader); + } else if ("turn_detection".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioInput.turnDetection + = RealtimeTurnDetection.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGAAudioInput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java new file mode 100644 index 0000000000000..f2ca474975b04 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java @@ -0,0 +1,95 @@ +// 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 com.openai.models.realtime.NoiseReductionType; +import java.io.IOException; + +/** + * The RealtimeSessionCreateRequestGAAudioInputNoiseReduction model. + */ +@Fluent +public final class RealtimeSessionCreateRequestGAAudioInputNoiseReduction + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private NoiseReductionType type; + + /** + * Creates an instance of RealtimeSessionCreateRequestGAAudioInputNoiseReduction class. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInputNoiseReduction() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public NoiseReductionType getType() { + return this.type; + } + + /** + * Set the type property: The type property. + * + * @param type the type value to set. + * @return the RealtimeSessionCreateRequestGAAudioInputNoiseReduction object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioInputNoiseReduction setType(NoiseReductionType type) { + this.type = type; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + // AI Tooling: openai-java de-dup + jsonWriter.writeStringField("type", this.type == null ? null : this.type.asString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGAAudioInputNoiseReduction from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGAAudioInputNoiseReduction 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 RealtimeSessionCreateRequestGAAudioInputNoiseReduction. + */ + public static RealtimeSessionCreateRequestGAAudioInputNoiseReduction fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGAAudioInputNoiseReduction deserializedRealtimeSessionCreateRequestGAAudioInputNoiseReduction + = new RealtimeSessionCreateRequestGAAudioInputNoiseReduction(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + // AI Tooling: openai-java de-dup + deserializedRealtimeSessionCreateRequestGAAudioInputNoiseReduction.type + = NoiseReductionType.of(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGAAudioInputNoiseReduction; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java new file mode 100644 index 0000000000000..dee72c14ec333 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java @@ -0,0 +1,161 @@ +// 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; + +/** + * The RealtimeSessionCreateRequestGAAudioOutput model. + */ +@Fluent +public final class RealtimeSessionCreateRequestGAAudioOutput + implements JsonSerializable { + + /* + * The format property. + */ + @Generated + private RealtimeAudioFormats format; + + /* + * The voice property. + */ + @Generated + private BinaryData voice; + + /* + * The speed property. + */ + @Generated + private Double speed; + + /** + * Creates an instance of RealtimeSessionCreateRequestGAAudioOutput class. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutput() { + } + + /** + * Get the format property: The format property. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * Set the format property: The format property. + * + * @param format the format value to set. + * @return the RealtimeSessionCreateRequestGAAudioOutput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutput setFormat(RealtimeAudioFormats format) { + this.format = format; + return this; + } + + /** + * Get the voice property: The voice property. + * + * @return the voice value. + */ + @Generated + public BinaryData getVoice() { + return this.voice; + } + + /** + * Set the voice property: The voice property. + * + * @param voice the voice value to set. + * @return the RealtimeSessionCreateRequestGAAudioOutput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutput setVoice(BinaryData voice) { + this.voice = voice; + return this; + } + + /** + * Get the speed property: The speed property. + * + * @return the speed value. + */ + @Generated + public Double getSpeed() { + return this.speed; + } + + /** + * Set the speed property: The speed property. + * + * @param speed the speed value to set. + * @return the RealtimeSessionCreateRequestGAAudioOutput object itself. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutput setSpeed(Double speed) { + this.speed = speed; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("format", this.format); + if (this.voice != null) { + jsonWriter.writeFieldName("voice"); + this.voice.writeTo(jsonWriter); + } + jsonWriter.writeNumberField("speed", this.speed); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGAAudioOutput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGAAudioOutput 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 RealtimeSessionCreateRequestGAAudioOutput. + */ + @Generated + public static RealtimeSessionCreateRequestGAAudioOutput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGAAudioOutput deserializedRealtimeSessionCreateRequestGAAudioOutput + = new RealtimeSessionCreateRequestGAAudioOutput(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("format".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioOutput.format + = RealtimeAudioFormats.fromJson(reader); + } else if ("voice".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioOutput.voice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("speed".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGAAudioOutput.speed + = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGAAudioOutput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java new file mode 100644 index 0000000000000..dc9bc074703d4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.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.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 RealtimeSessionCreateRequestGAAudioOutputVoice model. + */ +@Immutable +public final class RealtimeSessionCreateRequestGAAudioOutputVoice + implements JsonSerializable { + + /* + * The id property. + */ + @Generated + private final String id; + + /** + * Creates an instance of RealtimeSessionCreateRequestGAAudioOutputVoice class. + * + * @param id the id value to set. + */ + @Generated + public RealtimeSessionCreateRequestGAAudioOutputVoice(String id) { + this.id = id; + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGAAudioOutputVoice from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGAAudioOutputVoice 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 RealtimeSessionCreateRequestGAAudioOutputVoice. + */ + @Generated + public static RealtimeSessionCreateRequestGAAudioOutputVoice fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new RealtimeSessionCreateRequestGAAudioOutputVoice(id); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java new file mode 100644 index 0000000000000..0ca0099ff5679 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java @@ -0,0 +1,164 @@ +// 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.Map; + +/** + * The RealtimeSessionCreateRequestGATracing model. + */ +@Fluent +public final class RealtimeSessionCreateRequestGATracing + implements JsonSerializable { + + /* + * The workflow_name property. + */ + @Generated + private String workflowName; + + /* + * The group_id property. + */ + @Generated + private String groupId; + + /* + * The metadata property. + */ + @Generated + private Map metadata; + + /** + * Creates an instance of RealtimeSessionCreateRequestGATracing class. + */ + @Generated + public RealtimeSessionCreateRequestGATracing() { + } + + /** + * Get the workflowName property: The workflow_name property. + * + * @return the workflowName value. + */ + @Generated + public String getWorkflowName() { + return this.workflowName; + } + + /** + * Set the workflowName property: The workflow_name property. + * + * @param workflowName the workflowName value to set. + * @return the RealtimeSessionCreateRequestGATracing object itself. + */ + @Generated + public RealtimeSessionCreateRequestGATracing setWorkflowName(String workflowName) { + this.workflowName = workflowName; + return this; + } + + /** + * Get the groupId property: The group_id property. + * + * @return the groupId value. + */ + @Generated + public String getGroupId() { + return this.groupId; + } + + /** + * Set the groupId property: The group_id property. + * + * @param groupId the groupId value to set. + * @return the RealtimeSessionCreateRequestGATracing object itself. + */ + @Generated + public RealtimeSessionCreateRequestGATracing setGroupId(String groupId) { + this.groupId = groupId; + return this; + } + + /** + * Get the metadata property: The metadata property. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: The metadata property. + * + * @param metadata the metadata value to set. + * @return the RealtimeSessionCreateRequestGATracing object itself. + */ + @Generated + public RealtimeSessionCreateRequestGATracing setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("workflow_name", this.workflowName); + jsonWriter.writeStringField("group_id", this.groupId); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestGATracing from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestGATracing 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 RealtimeSessionCreateRequestGATracing. + */ + @Generated + public static RealtimeSessionCreateRequestGATracing fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestGATracing deserializedRealtimeSessionCreateRequestGATracing + = new RealtimeSessionCreateRequestGATracing(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("workflow_name".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGATracing.workflowName = reader.getString(); + } else if ("group_id".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestGATracing.groupId = reader.getString(); + } else if ("metadata".equals(fieldName)) { + Map metadata = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedRealtimeSessionCreateRequestGATracing.metadata = metadata; + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestGATracing; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java new file mode 100644 index 0000000000000..dad23d915bac0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java @@ -0,0 +1,110 @@ +// 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; + +/** + * The RealtimeSessionCreateRequestUnion model. + */ +@Immutable +public class RealtimeSessionCreateRequestUnion implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeSessionCreateRequestUnionType type + = RealtimeSessionCreateRequestUnionType.fromString("RealtimeSessionCreateRequestUnion"); + + /** + * Creates an instance of RealtimeSessionCreateRequestUnion class. + */ + @Generated + public RealtimeSessionCreateRequestUnion() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeSessionCreateRequestUnionType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeSessionCreateRequestUnion from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeSessionCreateRequestUnion 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 RealtimeSessionCreateRequestUnion. + */ + @Generated + public static RealtimeSessionCreateRequestUnion fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("transcription".equals(discriminatorValue)) { + return RealtimeTranscriptionSessionCreateRequestGA.fromJson(readerToUse.reset()); + } else if ("realtime".equals(discriminatorValue)) { + return RealtimeSessionCreateRequestGA.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeSessionCreateRequestUnion fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeSessionCreateRequestUnion deserializedRealtimeSessionCreateRequestUnion + = new RealtimeSessionCreateRequestUnion(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeSessionCreateRequestUnion.type + = RealtimeSessionCreateRequestUnionType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeSessionCreateRequestUnion; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java new file mode 100644 index 0000000000000..aa82c8377bb3c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.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; + +/** + * Defines values for RealtimeSessionCreateRequestUnionType. + */ +public final class RealtimeSessionCreateRequestUnionType + extends ExpandableStringEnum { + + /** + * Static value realtime for RealtimeSessionCreateRequestUnionType. + */ + @Generated + public static final RealtimeSessionCreateRequestUnionType REALTIME = fromString("realtime"); + + /** + * Static value transcription for RealtimeSessionCreateRequestUnionType. + */ + @Generated + public static final RealtimeSessionCreateRequestUnionType TRANSCRIPTION = fromString("transcription"); + + /** + * Creates a new instance of RealtimeSessionCreateRequestUnionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeSessionCreateRequestUnionType() { + } + + /** + * Creates or finds a RealtimeSessionCreateRequestUnionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeSessionCreateRequestUnionType. + */ + @Generated + public static RealtimeSessionCreateRequestUnionType fromString(String name) { + return fromString(name, RealtimeSessionCreateRequestUnionType.class); + } + + /** + * Gets known RealtimeSessionCreateRequestUnionType values. + * + * @return known RealtimeSessionCreateRequestUnionType values. + */ + @Generated + public static Collection values() { + return values(RealtimeSessionCreateRequestUnionType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java new file mode 100644 index 0000000000000..2d6059000e6ca --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Realtime transcription session configuration + * + * Realtime transcription session object configuration. + */ +@Fluent +public final class RealtimeTranscriptionSessionCreateRequestGA extends RealtimeSessionCreateRequestUnion { + + /* + * The type property. + */ + @Generated + private RealtimeSessionCreateRequestUnionType type = RealtimeSessionCreateRequestUnionType.TRANSCRIPTION; + + /* + * Configuration for input and output audio. + */ + @Generated + private RealtimeTranscriptionSessionCreateRequestGAAudio audio; + + /* + * Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + */ + @Generated + private List include; + + /** + * Creates an instance of RealtimeTranscriptionSessionCreateRequestGA class. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGA() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeSessionCreateRequestUnionType getType() { + return this.type; + } + + /** + * Get the audio property: Configuration for input and output audio. + * + * @return the audio value. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudio getAudio() { + return this.audio; + } + + /** + * Set the audio property: Configuration for input and output audio. + * + * @param audio the audio value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGA + setAudio(RealtimeTranscriptionSessionCreateRequestGAAudio audio) { + this.audio = audio; + return this; + } + + /** + * Get the include property: Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Set the include property: Additional fields to include in server outputs. + * `item.input_audio_transcription.logprobs`: Include logprobs for input audio transcription. + * + * @param include the include value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGA setInclude(List include) { + this.include = include; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeArrayField("include", this.include, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTranscriptionSessionCreateRequestGA from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTranscriptionSessionCreateRequestGA 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 RealtimeTranscriptionSessionCreateRequestGA. + */ + @Generated + public static RealtimeTranscriptionSessionCreateRequestGA fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTranscriptionSessionCreateRequestGA deserializedRealtimeTranscriptionSessionCreateRequestGA + = new RealtimeTranscriptionSessionCreateRequestGA(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGA.type + = RealtimeSessionCreateRequestUnionType.fromString(reader.getString()); + } else if ("audio".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGA.audio + = RealtimeTranscriptionSessionCreateRequestGAAudio.fromJson(reader); + } else if ("include".equals(fieldName)) { + List include = reader.readArray(reader1 -> reader1.getString()); + deserializedRealtimeTranscriptionSessionCreateRequestGA.include = include; + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTranscriptionSessionCreateRequestGA; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java new file mode 100644 index 0000000000000..5e4cd9e3753a9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java @@ -0,0 +1,94 @@ +// 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; + +/** + * The RealtimeTranscriptionSessionCreateRequestGAAudio model. + */ +@Fluent +public final class RealtimeTranscriptionSessionCreateRequestGAAudio + implements JsonSerializable { + + /* + * The input property. + */ + @Generated + private RealtimeTranscriptionSessionCreateRequestGAAudioInput input; + + /** + * Creates an instance of RealtimeTranscriptionSessionCreateRequestGAAudio class. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudio() { + } + + /** + * Get the input property: The input property. + * + * @return the input value. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput getInput() { + return this.input; + } + + /** + * Set the input property: The input property. + * + * @param input the input value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudio object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudio + setInput(RealtimeTranscriptionSessionCreateRequestGAAudioInput input) { + this.input = input; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("input", this.input); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTranscriptionSessionCreateRequestGAAudio from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTranscriptionSessionCreateRequestGAAudio 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 RealtimeTranscriptionSessionCreateRequestGAAudio. + */ + @Generated + public static RealtimeTranscriptionSessionCreateRequestGAAudio fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTranscriptionSessionCreateRequestGAAudio deserializedRealtimeTranscriptionSessionCreateRequestGAAudio + = new RealtimeTranscriptionSessionCreateRequestGAAudio(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("input".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGAAudio.input + = RealtimeTranscriptionSessionCreateRequestGAAudioInput.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTranscriptionSessionCreateRequestGAAudio; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java new file mode 100644 index 0000000000000..245e8e3350c7a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java @@ -0,0 +1,191 @@ +// 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; + +/** + * The RealtimeTranscriptionSessionCreateRequestGAAudioInput model. + */ +@Fluent +public final class RealtimeTranscriptionSessionCreateRequestGAAudioInput + implements JsonSerializable { + + /* + * The format property. + */ + @Generated + private RealtimeAudioFormats format; + + /* + * The transcription property. + */ + @Generated + private AudioTranscription transcription; + + /* + * The noise_reduction property. + */ + @Generated + private RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction noiseReduction; + + /* + * The turn_detection property. + */ + @Generated + private RealtimeTurnDetection turnDetection; + + /** + * Creates an instance of RealtimeTranscriptionSessionCreateRequestGAAudioInput class. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput() { + } + + /** + * Get the format property: The format property. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * Set the format property: The format property. + * + * @param format the format value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput setFormat(RealtimeAudioFormats format) { + this.format = format; + return this; + } + + /** + * Get the transcription property: The transcription property. + * + * @return the transcription value. + */ + @Generated + public AudioTranscription getTranscription() { + return this.transcription; + } + + /** + * Set the transcription property: The transcription property. + * + * @param transcription the transcription value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput setTranscription(AudioTranscription transcription) { + this.transcription = transcription; + return this; + } + + /** + * Get the noiseReduction property: The noise_reduction property. + * + * @return the noiseReduction value. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction getNoiseReduction() { + return this.noiseReduction; + } + + /** + * Set the noiseReduction property: The noise_reduction property. + * + * @param noiseReduction the noiseReduction value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput + setNoiseReduction(RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction noiseReduction) { + this.noiseReduction = noiseReduction; + return this; + } + + /** + * Get the turnDetection property: The turn_detection property. + * + * @return the turnDetection value. + */ + @Generated + public RealtimeTurnDetection getTurnDetection() { + return this.turnDetection; + } + + /** + * Set the turnDetection property: The turn_detection property. + * + * @param turnDetection the turnDetection value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudioInput object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInput setTurnDetection(RealtimeTurnDetection turnDetection) { + this.turnDetection = turnDetection; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("format", this.format); + jsonWriter.writeJsonField("transcription", this.transcription); + jsonWriter.writeJsonField("noise_reduction", this.noiseReduction); + jsonWriter.writeJsonField("turn_detection", this.turnDetection); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTranscriptionSessionCreateRequestGAAudioInput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTranscriptionSessionCreateRequestGAAudioInput 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 RealtimeTranscriptionSessionCreateRequestGAAudioInput. + */ + @Generated + public static RealtimeTranscriptionSessionCreateRequestGAAudioInput fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTranscriptionSessionCreateRequestGAAudioInput deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput + = new RealtimeTranscriptionSessionCreateRequestGAAudioInput(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("format".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput.format + = RealtimeAudioFormats.fromJson(reader); + } else if ("transcription".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput.transcription + = AudioTranscription.fromJson(reader); + } else if ("noise_reduction".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput.noiseReduction + = RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.fromJson(reader); + } else if ("turn_detection".equals(fieldName)) { + deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput.turnDetection + = RealtimeTurnDetection.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java new file mode 100644 index 0000000000000..bcec8d6a1f2ec --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java @@ -0,0 +1,96 @@ +// 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 com.openai.models.realtime.NoiseReductionType; +import java.io.IOException; + +/** + * The RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction model. + */ +@Fluent +public final class RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private NoiseReductionType type; + + /** + * Creates an instance of RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction class. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public NoiseReductionType getType() { + return this.type; + } + + /** + * Set the type property: The type property. + * + * @param type the type value to set. + * @return the RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction object itself. + */ + @Generated + public RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction setType(NoiseReductionType type) { + this.type = type; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + // AI Tooling: openai-java de-dup + jsonWriter.writeStringField("type", this.type == null ? null : this.type.asString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction 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 + * RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction. + */ + public static RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction + = new RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + // AI Tooling: openai-java de-dup + deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.type + = NoiseReductionType.of(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java new file mode 100644 index 0000000000000..d552c9fe8b3b3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java @@ -0,0 +1,118 @@ +// 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; + +/** + * Realtime Turn Detection + * + * Configuration for turn detection, ether Server VAD or Semantic VAD. This can be set to `null` to turn off, in which + * case the client must manually trigger model response. + * Server VAD means that the model will detect the start and end of speech based on audio volume and respond at the end + * of user speech. + * Semantic VAD is more advanced and uses a turn detection model (in conjunction with VAD) to semantically estimate + * whether the user has finished speaking, then dynamically sets a timeout based on this probability. For example, if + * user audio trails off with "uhhm", the model will score a low probability of turn end and wait longer for the user to + * continue speaking. This can be useful for more natural conversations, but may have a higher latency. + * For `gpt-realtime-whisper` transcription sessions, turn detection must be + * set to `null`; VAD is not supported. + */ +@Immutable +public class RealtimeTurnDetection implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private RealtimeTurnDetectionType type = RealtimeTurnDetectionType.fromString("RealtimeTurnDetection"); + + /** + * Creates an instance of RealtimeTurnDetection class. + */ + @Generated + public RealtimeTurnDetection() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public RealtimeTurnDetectionType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTurnDetection 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 RealtimeTurnDetection. + */ + @Generated + public static RealtimeTurnDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("server_vad".equals(discriminatorValue)) { + return RealtimeTurnDetectionServerVad.fromJson(readerToUse.reset()); + } else if ("semantic_vad".equals(discriminatorValue)) { + return RealtimeTurnDetectionSemanticVad.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static RealtimeTurnDetection fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTurnDetection deserializedRealtimeTurnDetection = new RealtimeTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeTurnDetection.type = RealtimeTurnDetectionType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java new file mode 100644 index 0000000000000..d2c4d3d476e11 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.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.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeTurnDetectionSemanticVad model. + */ +@Fluent +public final class RealtimeTurnDetectionSemanticVad extends RealtimeTurnDetection { + + /* + * The type property. + */ + @Generated + private RealtimeTurnDetectionType type = RealtimeTurnDetectionType.SEMANTIC_VAD; + + /* + * The eagerness property. + */ + @Generated + private VoiceAgentSemanticVadTurnDetectionEagerness eagerness; + + /* + * The create_response property. + */ + @Generated + private Boolean createResponse; + + /* + * The interrupt_response property. + */ + @Generated + private Boolean interruptResponse; + + /** + * Creates an instance of RealtimeTurnDetectionSemanticVad class. + */ + @Generated + public RealtimeTurnDetectionSemanticVad() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeTurnDetectionType getType() { + return this.type; + } + + /** + * Get the eagerness property: The eagerness property. + * + * @return the eagerness value. + */ + @Generated + public VoiceAgentSemanticVadTurnDetectionEagerness getEagerness() { + return this.eagerness; + } + + /** + * Set the eagerness property: The eagerness property. + * + * @param eagerness the eagerness value to set. + * @return the RealtimeTurnDetectionSemanticVad object itself. + */ + @Generated + public RealtimeTurnDetectionSemanticVad setEagerness(VoiceAgentSemanticVadTurnDetectionEagerness eagerness) { + this.eagerness = eagerness; + return this; + } + + /** + * Get the createResponse property: The create_response property. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: The create_response property. + * + * @param createResponse the createResponse value to set. + * @return the RealtimeTurnDetectionSemanticVad object itself. + */ + @Generated + public RealtimeTurnDetectionSemanticVad setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: The interrupt_response property. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: The interrupt_response property. + * + * @param interruptResponse the interruptResponse value to set. + * @return the RealtimeTurnDetectionSemanticVad object itself. + */ + @Generated + public RealtimeTurnDetectionSemanticVad setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("eagerness", this.eagerness == null ? null : this.eagerness.toString()); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTurnDetectionSemanticVad from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTurnDetectionSemanticVad 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 RealtimeTurnDetectionSemanticVad. + */ + @Generated + public static RealtimeTurnDetectionSemanticVad fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTurnDetectionSemanticVad deserializedRealtimeTurnDetectionSemanticVad + = new RealtimeTurnDetectionSemanticVad(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeTurnDetectionSemanticVad.type + = RealtimeTurnDetectionType.fromString(reader.getString()); + } else if ("eagerness".equals(fieldName)) { + deserializedRealtimeTurnDetectionSemanticVad.eagerness + = VoiceAgentSemanticVadTurnDetectionEagerness.fromString(reader.getString()); + } else if ("create_response".equals(fieldName)) { + deserializedRealtimeTurnDetectionSemanticVad.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedRealtimeTurnDetectionSemanticVad.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTurnDetectionSemanticVad; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java new file mode 100644 index 0000000000000..40f250591ea12 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java @@ -0,0 +1,270 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The RealtimeTurnDetectionServerVad model. + */ +@Fluent +public final class RealtimeTurnDetectionServerVad extends RealtimeTurnDetection { + + /* + * The type property. + */ + @Generated + private RealtimeTurnDetectionType type = RealtimeTurnDetectionType.SERVER_VAD; + + /* + * The threshold property. + */ + @Generated + private Double threshold; + + /* + * The prefix_padding_ms property. + */ + @Generated + private Long prefixPaddingMs; + + /* + * The silence_duration_ms property. + */ + @Generated + private Long silenceDurationMs; + + /* + * The create_response property. + */ + @Generated + private Boolean createResponse; + + /* + * The interrupt_response property. + */ + @Generated + private Boolean interruptResponse; + + /* + * The idle_timeout_ms property. + */ + @Generated + private Long idleTimeoutMs; + + /** + * Creates an instance of RealtimeTurnDetectionServerVad class. + */ + @Generated + public RealtimeTurnDetectionServerVad() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeTurnDetectionType getType() { + return this.type; + } + + /** + * Get the threshold property: The threshold property. + * + * @return the threshold value. + */ + @Generated + public Double getThreshold() { + return this.threshold; + } + + /** + * Set the threshold property: The threshold property. + * + * @param threshold the threshold value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setThreshold(Double threshold) { + this.threshold = threshold; + return this; + } + + /** + * Get the prefixPaddingMs property: The prefix_padding_ms property. + * + * @return the prefixPaddingMs value. + */ + @Generated + public Long getPrefixPaddingMs() { + return this.prefixPaddingMs; + } + + /** + * Set the prefixPaddingMs property: The prefix_padding_ms property. + * + * @param prefixPaddingMs the prefixPaddingMs value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setPrefixPaddingMs(Long prefixPaddingMs) { + this.prefixPaddingMs = prefixPaddingMs; + return this; + } + + /** + * Get the silenceDurationMs property: The silence_duration_ms property. + * + * @return the silenceDurationMs value. + */ + @Generated + public Long getSilenceDurationMs() { + return this.silenceDurationMs; + } + + /** + * Set the silenceDurationMs property: The silence_duration_ms property. + * + * @param silenceDurationMs the silenceDurationMs value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setSilenceDurationMs(Long silenceDurationMs) { + this.silenceDurationMs = silenceDurationMs; + return this; + } + + /** + * Get the createResponse property: The create_response property. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: The create_response property. + * + * @param createResponse the createResponse value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: The interrupt_response property. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: The interrupt_response property. + * + * @param interruptResponse the interruptResponse value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * Get the idleTimeoutMs property: The idle_timeout_ms property. + * + * @return the idleTimeoutMs value. + */ + @Generated + public Long getIdleTimeoutMs() { + return this.idleTimeoutMs; + } + + /** + * Set the idleTimeoutMs property: The idle_timeout_ms property. + * + * @param idleTimeoutMs the idleTimeoutMs value to set. + * @return the RealtimeTurnDetectionServerVad object itself. + */ + @Generated + public RealtimeTurnDetectionServerVad setIdleTimeoutMs(Long idleTimeoutMs) { + this.idleTimeoutMs = idleTimeoutMs; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("threshold", this.threshold); + jsonWriter.writeNumberField("prefix_padding_ms", this.prefixPaddingMs); + jsonWriter.writeNumberField("silence_duration_ms", this.silenceDurationMs); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + jsonWriter.writeNumberField("idle_timeout_ms", this.idleTimeoutMs); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of RealtimeTurnDetectionServerVad from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of RealtimeTurnDetectionServerVad 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 RealtimeTurnDetectionServerVad. + */ + @Generated + public static RealtimeTurnDetectionServerVad fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + RealtimeTurnDetectionServerVad deserializedRealtimeTurnDetectionServerVad + = new RealtimeTurnDetectionServerVad(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.type + = RealtimeTurnDetectionType.fromString(reader.getString()); + } else if ("threshold".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.threshold = reader.getNullable(JsonReader::getDouble); + } else if ("prefix_padding_ms".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.prefixPaddingMs + = reader.getNullable(JsonReader::getLong); + } else if ("silence_duration_ms".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.silenceDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("create_response".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("idle_timeout_ms".equals(fieldName)) { + deserializedRealtimeTurnDetectionServerVad.idleTimeoutMs = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedRealtimeTurnDetectionServerVad; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.java new file mode 100644 index 0000000000000..b0d6a7b5ee991 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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; + +/** + * Defines values for RealtimeTurnDetectionType. + */ +public final class RealtimeTurnDetectionType extends ExpandableStringEnum { + + /** + * Static value server_vad for RealtimeTurnDetectionType. + */ + @Generated + public static final RealtimeTurnDetectionType SERVER_VAD = fromString("server_vad"); + + /** + * Static value semantic_vad for RealtimeTurnDetectionType. + */ + @Generated + public static final RealtimeTurnDetectionType SEMANTIC_VAD = fromString("semantic_vad"); + + /** + * Creates a new instance of RealtimeTurnDetectionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public RealtimeTurnDetectionType() { + } + + /** + * Creates or finds a RealtimeTurnDetectionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding RealtimeTurnDetectionType. + */ + @Generated + public static RealtimeTurnDetectionType fromString(String name) { + return fromString(name, RealtimeTurnDetectionType.class); + } + + /** + * Gets known RealtimeTurnDetectionType values. + * + * @return known RealtimeTurnDetectionType values. + */ + @Generated + public static Collection values() { + return values(RealtimeTurnDetectionType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java index c58caa72c277d..d34d6525014ac 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RoutingConfiguration.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -24,6 +25,7 @@ public final class RoutingConfiguration implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java index 7ed64482bb5b5..e3f83866ce444 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -10,6 +11,7 @@ /** * Final outcomes reported for Model Router session affinity. */ +@Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public final class SessionAffinityDecision extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java index 1ee8ad93e2e17..d3bb0f9b7b1c6 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -15,6 +16,7 @@ * Effective Model Router session affinity metadata for a request. */ @Immutable +@Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public final class SessionAffinityDetails implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java index 1d4c6383f91e6..ccad11c9bf0a8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -10,6 +11,7 @@ /** * Effective modes reported for Model Router session affinity. */ +@Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public final class SessionAffinityMode extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java index 0b4649ca48f97..033e94cb2b9c0 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java @@ -1,18 +1,20 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // Code generated by Microsoft (R) TypeSpec Code Generator. - package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; + /** * Request modes supported by Model Router session affinity. */ +@Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public enum SessionAffinityRequestMode { + /** * Attempts to reuse the model associated with the selected conversation identifier. */ STICKY("sticky"), - /** * Disables affinity state lookup and update for this request. */ @@ -29,7 +31,7 @@ public enum SessionAffinityRequestMode { /** * Parses a serialized value to a SessionAffinityRequestMode instance. - * + * * @param value the serialized value to parse. * @return the parsed SessionAffinityRequestMode object, or null if unable to parse. */ diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java index 46ba9a5400020..4456c6e6bbf97 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionAffinitySource.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -10,6 +11,7 @@ /** * Conversation identifier sources supported by Model Router session affinity. */ +@Beta(warningText = "Preview API. ModelRouterControls=V1Preview") public final class SessionAffinitySource extends ExpandableStringEnum { /** 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 0000000000000..4f581bf31af07 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SipTelephonyTransferDestination.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A SIP destination for a telephony transfer target. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class SipTelephonyTransferDestination extends TelephonyTransferDestination { + + /* + * The telephony transfer destination type. + */ + @Generated + private TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.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 telephony transfer destination type. + * + * @return the kind value. + */ + @Generated + @Override + public TelephonyTransferDestinationKind 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("value", this.value); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + 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; + TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.SIP; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("value".equals(fieldName)) { + value = reader.getString(); + } else if ("kind".equals(fieldName)) { + kind = TelephonyTransferDestinationKind.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + SipTelephonyTransferDestination deserializedSipTelephonyTransferDestination + = new SipTelephonyTransferDestination(value); + deserializedSipTelephonyTransferDestination.kind = kind; + return deserializedSipTelephonyTransferDestination; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java index 4c73b7f81e6c9..b9c9659fb92f3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SkillReference.java @@ -3,6 +3,7 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; +import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -15,6 +16,7 @@ * A reference to a versioned Foundry skill. */ @Fluent +@Beta(warningText = "Preview API. Skills=V1Preview") public final class SkillReference implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBinding.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBinding.java new file mode 100644 index 0000000000000..96810c1459481 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBinding.java @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A Microsoft Teams Phone Extension binding owned by a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TeamsPhoneExtensionTelephonyBinding extends TelephonyBinding { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.TEAMS_PHONE_EXTENSION; + + /* + * The optional display phone number for the Teams resource account. + */ + @Generated + private String phoneNumber; + + /* + * The Microsoft Teams resource-account object identifier as a GUID. + */ + @Generated + private final String resourceAccountObjectId; + + /** + * Creates an instance of TeamsPhoneExtensionTelephonyBinding class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + * @param resourceAccountObjectId the resourceAccountObjectId value to set. + */ + @Generated + private TeamsPhoneExtensionTelephonyBinding(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl, String resourceAccountObjectId) { + super(id, connectionName, status, incomingCallUrl); + this.resourceAccountObjectId = resourceAccountObjectId; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + @Override + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * 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 resourceAccountObjectId property: The Microsoft Teams resource-account object identifier as a GUID. + * + * @return the resourceAccountObjectId value. + */ + @Generated + public String getResourceAccountObjectId() { + return this.resourceAccountObjectId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeStringField("connection_name", getConnectionName()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + jsonWriter.writeStringField("incoming_call_url", getIncomingCallUrl()); + jsonWriter.writeStringField("label", getLabel()); + jsonWriter.writeStringField("resource_account_object_id", this.resourceAccountObjectId); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + jsonWriter.writeStringField("phone_number", this.phoneNumber); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TeamsPhoneExtensionTelephonyBinding from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TeamsPhoneExtensionTelephonyBinding 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 TeamsPhoneExtensionTelephonyBinding. + */ + @Generated + public static TeamsPhoneExtensionTelephonyBinding fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + String label = null; + String resourceAccountObjectId = null; + TelephonyProvider provider = TelephonyProvider.TEAMS_PHONE_EXTENSION; + String phoneNumber = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyBindingStatus.fromString(reader.getString()); + } else if ("incoming_call_url".equals(fieldName)) { + incomingCallUrl = reader.getString(); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else if ("resource_account_object_id".equals(fieldName)) { + resourceAccountObjectId = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else { + reader.skipChildren(); + } + } + TeamsPhoneExtensionTelephonyBinding deserializedTeamsPhoneExtensionTelephonyBinding + = new TeamsPhoneExtensionTelephonyBinding(id, connectionName, status, incomingCallUrl, + resourceAccountObjectId); + deserializedTeamsPhoneExtensionTelephonyBinding.setLabel(label); + deserializedTeamsPhoneExtensionTelephonyBinding.provider = provider; + deserializedTeamsPhoneExtensionTelephonyBinding.phoneNumber = phoneNumber; + return deserializedTeamsPhoneExtensionTelephonyBinding; + }); + } +} 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 0000000000000..bbe4a8fab4d0a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsPhoneExtensionTelephonyBindingListItem.java @@ -0,0 +1,160 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TeamsPhoneExtensionTelephonyBindingListItem extends TelephonyBindingListItem { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.TEAMS_PHONE_EXTENSION; + + /* + * The optional display phone number for the Teams resource account. + */ + @Generated + private String phoneNumber; + + /* + * The Microsoft Teams resource-account object identifier as a GUID. + */ + @Generated + private final String resourceAccountObjectId; + + /** + * Creates an instance of TeamsPhoneExtensionTelephonyBindingListItem class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + * @param resourceAccountObjectId the resourceAccountObjectId value to set. + */ + @Generated + private TeamsPhoneExtensionTelephonyBindingListItem(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl, String resourceAccountObjectId) { + super(id, connectionName, status, incomingCallUrl); + this.resourceAccountObjectId = resourceAccountObjectId; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + @Override + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * 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 resourceAccountObjectId property: The Microsoft Teams resource-account object identifier as a GUID. + * + * @return the resourceAccountObjectId value. + */ + @Generated + public String getResourceAccountObjectId() { + return this.resourceAccountObjectId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeStringField("connection_name", getConnectionName()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + jsonWriter.writeStringField("incoming_call_url", getIncomingCallUrl()); + jsonWriter.writeStringField("label", getLabel()); + jsonWriter.writeStringField("resource_account_object_id", this.resourceAccountObjectId); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + jsonWriter.writeStringField("phone_number", this.phoneNumber); + 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 connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + String etag = null; + String label = null; + String resourceAccountObjectId = null; + TelephonyProvider provider = TelephonyProvider.TEAMS_PHONE_EXTENSION; + String phoneNumber = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = 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 if ("resource_account_object_id".equals(fieldName)) { + resourceAccountObjectId = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else { + reader.skipChildren(); + } + } + TeamsPhoneExtensionTelephonyBindingListItem deserializedTeamsPhoneExtensionTelephonyBindingListItem + = new TeamsPhoneExtensionTelephonyBindingListItem(id, connectionName, status, incomingCallUrl, + resourceAccountObjectId); + deserializedTeamsPhoneExtensionTelephonyBindingListItem.setEtag(etag); + deserializedTeamsPhoneExtensionTelephonyBindingListItem.setLabel(label); + deserializedTeamsPhoneExtensionTelephonyBindingListItem.provider = provider; + deserializedTeamsPhoneExtensionTelephonyBindingListItem.phoneNumber = phoneNumber; + 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 0000000000000..8887b88ac530a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TeamsTelephonyTransferDestination.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A Microsoft Teams destination for a telephony transfer target. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TeamsTelephonyTransferDestination extends TelephonyTransferDestination { + + /* + * The telephony transfer destination type. + */ + @Generated + private TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.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 telephony transfer destination type. + * + * @return the kind value. + */ + @Generated + @Override + public TelephonyTransferDestinationKind 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("value", this.value); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + 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; + TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.TEAMS; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("value".equals(fieldName)) { + value = reader.getString(); + } else if ("kind".equals(fieldName)) { + kind = TelephonyTransferDestinationKind.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TeamsTelephonyTransferDestination deserializedTeamsTelephonyTransferDestination + = new TeamsTelephonyTransferDestination(value); + deserializedTeamsTelephonyTransferDestination.kind = kind; + return deserializedTeamsTelephonyTransferDestination; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBinding.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBinding.java new file mode 100644 index 0000000000000..93b56093e4047 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBinding.java @@ -0,0 +1,236 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A telephony binding owned by a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class TelephonyBinding implements JsonSerializable { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.fromString("TelephonyBinding"); + + /* + * The service-generated binding identifier. + */ + @Generated + private final String id; + + /* + * 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 the telephony provider. + */ + @Generated + private final String incomingCallUrl; + + /** + * Creates an instance of TelephonyBinding class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + */ + @Generated + protected TelephonyBinding(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl) { + this.id = id; + this.connectionName = connectionName; + this.status = status; + this.incomingCallUrl = incomingCallUrl; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the id property: The service-generated binding identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the label property: The optional display label for the binding. + * + * @return the label value. + */ + @Generated + public String getLabel() { + return this.label; + } + + /** + * Set the label property: The optional display label for the binding. + * + * @param label the label value to set. + * @return the TelephonyBinding object itself. + */ + @Generated + TelephonyBinding setLabel(String label) { + this.label = label; + return this; + } + + /** + * 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; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("incoming_call_url", this.incomingCallUrl); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + jsonWriter.writeStringField("label", this.label); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyBinding from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyBinding 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 TelephonyBinding. + */ + @Generated + public static TelephonyBinding fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("provider".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("teams_phone_extension".equals(discriminatorValue)) { + return TeamsPhoneExtensionTelephonyBinding.fromJson(readerToUse.reset()); + } else if ("twilio".equals(discriminatorValue)) { + return TwilioTelephonyBinding.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static TelephonyBinding fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + TelephonyProvider provider = 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_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyBindingStatus.fromString(reader.getString()); + } else if ("incoming_call_url".equals(fieldName)) { + incomingCallUrl = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else { + reader.skipChildren(); + } + } + TelephonyBinding deserializedTelephonyBinding + = new TelephonyBinding(id, connectionName, status, incomingCallUrl); + deserializedTelephonyBinding.provider = provider; + deserializedTelephonyBinding.label = label; + return deserializedTelephonyBinding; + }); + } + + /* + * The Foundry connection name for the telephony provider. + */ + @Generated + private final String connectionName; + + /** + * Get the connectionName property: The Foundry connection name for the telephony provider. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.java new file mode 100644 index 0000000000000..7af3194a32e41 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.java @@ -0,0 +1,268 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A telephony binding returned in a list, including its entity tag. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class TelephonyBindingListItem implements JsonSerializable { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.fromString("TelephonyBindingListItem"); + + /* + * The service-generated binding identifier. + */ + @Generated + private final String id; + + /* + * 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 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 TelephonyBindingListItem class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + */ + @Generated + protected TelephonyBindingListItem(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl) { + this.id = id; + this.connectionName = connectionName; + this.status = status; + this.incomingCallUrl = incomingCallUrl; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the id property: The service-generated binding identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the label property: The optional display label for the binding. + * + * @return the label value. + */ + @Generated + public String getLabel() { + return this.label; + } + + /** + * Set the label property: The optional display label for the binding. + * + * @param label the label value to set. + * @return the TelephonyBindingListItem object itself. + */ + @Generated + TelephonyBindingListItem setLabel(String label) { + this.label = label; + return this; + } + + /** + * 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; + } + + /** + * Set the etag property: The entity tag to send in the `If-Match` header when updating or deleting this binding. + * + * @param etag the etag value to set. + * @return the TelephonyBindingListItem object itself. + */ + @Generated + TelephonyBindingListItem setEtag(String etag) { + this.etag = etag; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeStringField("incoming_call_url", this.incomingCallUrl); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + jsonWriter.writeStringField("label", this.label); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyBindingListItem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyBindingListItem 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 TelephonyBindingListItem. + */ + @Generated + public static TelephonyBindingListItem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("provider".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("teams_phone_extension".equals(discriminatorValue)) { + return TeamsPhoneExtensionTelephonyBindingListItem.fromJson(readerToUse.reset()); + } else if ("twilio".equals(discriminatorValue)) { + return TwilioTelephonyBindingListItem.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static TelephonyBindingListItem fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + String etag = null; + TelephonyProvider provider = 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_name".equals(fieldName)) { + connectionName = 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 ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else { + reader.skipChildren(); + } + } + TelephonyBindingListItem deserializedTelephonyBindingListItem + = new TelephonyBindingListItem(id, connectionName, status, incomingCallUrl); + deserializedTelephonyBindingListItem.etag = etag; + deserializedTelephonyBindingListItem.provider = provider; + deserializedTelephonyBindingListItem.label = label; + return deserializedTelephonyBindingListItem; + }); + } + + /* + * The Foundry connection name for the telephony provider. + */ + @Generated + private final String connectionName; + + /** + * Get the connectionName property: The Foundry connection name for the telephony provider. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } +} 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 0000000000000..9b6f9587957c2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyBindingStatus.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of a telephony binding. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..3400086cbbabb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallDurationBasis.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The timestamp used as the basis for call duration. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/TelephonyCallEndReason.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallEndReason.java new file mode 100644 index 0000000000000..cccccd8fcb9c5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallEndReason.java @@ -0,0 +1,232 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Known service-generated reasons that one telephony call ended, rather than reasons for an overall outbound call job. + * Additional string codes may be returned. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallEndReason extends ExpandableStringEnum { + + /** + * The provider webhook payload was invalid. + */ + @Generated + public static final TelephonyCallEndReason INVALID_WEBHOOK_PAYLOAD = fromString("invalid_webhook_payload"); + + /** + * Validation of the provider webhook failed. + */ + @Generated + public static final TelephonyCallEndReason WEBHOOK_VALIDATION_FAILED = fromString("webhook_validation_failed"); + + /** + * No matching telephony binding was found. + */ + @Generated + public static final TelephonyCallEndReason BINDING_NOT_FOUND = fromString("binding_not_found"); + + /** + * The telephony binding was suspended. + */ + @Generated + public static final TelephonyCallEndReason BINDING_SUSPENDED = fromString("binding_suspended"); + + /** + * The call was rejected by admission policy. + */ + @Generated + public static final TelephonyCallEndReason ADMISSION_REJECTED = fromString("admission_rejected"); + + /** + * The service could not complete the call admission check. + */ + @Generated + public static final TelephonyCallEndReason ADMISSION_CHECK_FAILED = fromString("admission_check_failed"); + + /** + * The webhook route did not match the resolved voice agent. + */ + @Generated + public static final TelephonyCallEndReason ROUTE_AGENT_MISMATCH = fromString("route_agent_mismatch"); + + /** + * The telephony binding configuration was invalid. + */ + @Generated + public static final TelephonyCallEndReason INVALID_BINDING_CONFIGURATION + = fromString("invalid_binding_configuration"); + + /** + * The service could not resolve the telephony provider credentials. + */ + @Generated + public static final TelephonyCallEndReason CREDENTIAL_RESOLUTION_FAILED + = fromString("credential_resolution_failed"); + + /** + * The provider resource did not match the configured telephony resource. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_RESOURCE_MISMATCH = fromString("provider_resource_mismatch"); + + /** + * The service could not resolve the endpoint needed to handle the call. + */ + @Generated + public static final TelephonyCallEndReason ENDPOINT_RESOLUTION_FAILED = fromString("endpoint_resolution_failed"); + + /** + * The service could not set up the incoming call. + */ + @Generated + public static final TelephonyCallEndReason INGRESS_SETUP_FAILED = fromString("ingress_setup_failed"); + + /** + * The call conflicted with an existing live call. + */ + @Generated + public static final TelephonyCallEndReason LIVE_CALL_CONFLICT = fromString("live_call_conflict"); + + /** + * The service could not persist the live call state. + */ + @Generated + public static final TelephonyCallEndReason LIVE_CALL_PERSISTENCE_FAILED + = fromString("live_call_persistence_failed"); + + /** + * The attempt to answer the provider call failed. + */ + @Generated + public static final TelephonyCallEndReason ANSWER_FAILED = fromString("answer_failed"); + + /** + * The provider reported that the call disconnected. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_DISCONNECTED = fromString("provider_disconnected"); + + /** + * The provider reported that the destination was busy. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_BUSY = fromString("provider_busy"); + + /** + * The provider reported that the call was not answered. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_NO_ANSWER = fromString("provider_no_answer"); + + /** + * The provider reported that the call was cancelled. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_CANCELLED = fromString("provider_cancelled"); + + /** + * The provider reported that the call failed. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_FAILED = fromString("provider_failed"); + + /** + * The provider reported a media-stream error. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_STREAM_ERROR = fromString("provider_stream_error"); + + /** + * The provider reported that the media stream stopped. + */ + @Generated + public static final TelephonyCallEndReason PROVIDER_STREAM_STOPPED = fromString("provider_stream_stopped"); + + /** + * The call could not connect to the voice-agent session. + */ + @Generated + public static final TelephonyCallEndReason AGENT_SESSION_CONNECT_FAILED + = fromString("agent_session_connect_failed"); + + /** + * The call's media stream ended. + */ + @Generated + public static final TelephonyCallEndReason MEDIA_STREAM_ENDED = fromString("media_stream_ended"); + + /** + * The telephony media bridge was cancelled. + */ + @Generated + public static final TelephonyCallEndReason BRIDGE_CANCELLED = fromString("bridge_cancelled"); + + /** + * The telephony media bridge failed. + */ + @Generated + public static final TelephonyCallEndReason BRIDGE_FAILED = fromString("bridge_failed"); + + /** + * A managed call hang-up command succeeded. + */ + @Generated + public static final TelephonyCallEndReason MANAGED_HANGUP = fromString("managed_hangup"); + + /** + * A managed call-transfer command succeeded. + */ + @Generated + public static final TelephonyCallEndReason MANAGED_TRANSFER = fromString("managed_transfer"); + + /** + * A managed call hang-up command failed. + */ + @Generated + public static final TelephonyCallEndReason MANAGE_HANGUP_FAILED = fromString("manage_hangup_failed"); + + /** + * A managed call-transfer command failed. + */ + @Generated + public static final TelephonyCallEndReason MANAGE_TRANSFER_FAILED = fromString("manage_transfer_failed"); + + /** + * Creates a new instance of TelephonyCallEndReason value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCallEndReason() { + } + + /** + * Creates or finds a TelephonyCallEndReason from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCallEndReason. + */ + @Generated + public static TelephonyCallEndReason fromString(String name) { + return fromString(name, TelephonyCallEndReason.class); + } + + /** + * Gets known TelephonyCallEndReason values. + * + * @return known TelephonyCallEndReason values. + */ + @Generated + public static Collection values() { + return values(TelephonyCallEndReason.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java new file mode 100644 index 0000000000000..ef6709c1f0412 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java @@ -0,0 +1,493 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.Map; + +/** + * A durable direct or campaign-created outbound call intent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallJob implements JsonSerializable { + + /* + * The phone destination to call. + */ + @Generated + private final TelephonyOutboundDestination destination; + + /* + * An optional customer-declared purpose for placing the call. + */ + @Generated + private String purpose; + + /* + * Structured input values available to the agent and greeting for this call. Agent-declared inputs are validated + * against their schemas; omitted optional inputs may use their Agent-defined default values, while omitted required + * inputs are rejected. Additional inputs remain available as dynamic template variables. + */ + @Generated + private Map structuredInputs; + + /* + * The optional execution window. + */ + @Generated + private TelephonyCallJobSchedule schedule; + + /* + * The service-generated call-job identifier. + */ + @Generated + private final String id; + + /* + * The object type. Always `telephony.call_job`. + */ + @Generated + private final String object = "telephony.call_job"; + + /* + * The name of the voice agent used at execution time. + */ + @Generated + private final String agentName; + + /* + * The current call-job lifecycle status. + */ + @Generated + private final TelephonyCallJobStatus status; + + /* + * The recorded cancellation request, when cancellation was requested. + */ + @Generated + private TelephonyCallJobCancellation cancellation; + + /* + * The frozen provider-attempt retry policy. + */ + @Generated + private final TelephonyOutboundRetryPolicyResponse retryPolicy; + + /* + * The number of provider attempts created so far. + */ + @Generated + private final int attemptCount; + + /* + * The Unix timestamp in seconds at which the next retry becomes eligible. + */ + @Generated + private Long nextAttemptAt; + + /* + * The stable service-generated reason for the overall outbound call job, which can span multiple provider attempts, + * when available. Interpret this with `status`: a queued job can retain a temporary dispatch-deferral reason. + * Additional string codes may be returned. + */ + @Generated + private TelephonyCallJobTerminalReason terminalReason; + + /* + * The monotonically increasing optimistic-concurrency revision. + */ + @Generated + private final long revision; + + /* + * The Unix timestamp in seconds when the call job was created. + */ + @Generated + private final long createdAt; + + /* + * The Unix timestamp in seconds when the call job was last updated. + */ + @Generated + private final long updatedAt; + + /** + * Get the destination property: The phone destination to call. + * + * @return the destination value. + */ + @Generated + public TelephonyOutboundDestination getDestination() { + return this.destination; + } + + /** + * Get the purpose property: An optional customer-declared purpose for placing the call. + * + * @return the purpose value. + */ + @Generated + public String getPurpose() { + return this.purpose; + } + + /** + * Get the structuredInputs property: Structured input values available to the agent and greeting for this call. + * Agent-declared inputs are validated against their schemas; omitted optional inputs may use their Agent-defined + * default values, while omitted required inputs are rejected. Additional inputs remain available as dynamic + * template variables. + * + * @return the structuredInputs value. + */ + @Generated + public Map getStructuredInputs() { + return this.structuredInputs; + } + + /** + * Get the schedule property: The optional execution window. + * + * @return the schedule value. + */ + @Generated + public TelephonyCallJobSchedule getSchedule() { + return this.schedule; + } + + /** + * Get the id property: The service-generated call-job identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object type. Always `telephony.call_job`. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the agentName property: The name of the voice agent used at execution time. + * + * @return the agentName value. + */ + @Generated + public String getAgentName() { + return this.agentName; + } + + /** + * Get the status property: The current call-job lifecycle status. + * + * @return the status value. + */ + @Generated + public TelephonyCallJobStatus getStatus() { + return this.status; + } + + /** + * Get the cancellation property: The recorded cancellation request, when cancellation was requested. + * + * @return the cancellation value. + */ + @Generated + public TelephonyCallJobCancellation getCancellation() { + return this.cancellation; + } + + /** + * Get the retryPolicy property: The frozen provider-attempt retry policy. + * + * @return the retryPolicy value. + */ + @Generated + public TelephonyOutboundRetryPolicyResponse getRetryPolicy() { + return this.retryPolicy; + } + + /** + * Get the attemptCount property: The number of provider attempts created so far. + * + * @return the attemptCount value. + */ + @Generated + public int getAttemptCount() { + return this.attemptCount; + } + + /** + * Get the nextAttemptAt property: The Unix timestamp in seconds at which the next retry becomes eligible. + * + * @return the nextAttemptAt value. + */ + @Generated + public OffsetDateTime getNextAttemptAt() { + if (this.nextAttemptAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.nextAttemptAt), ZoneOffset.UTC); + } + + /** + * Get the terminalReason property: The stable service-generated reason for the overall outbound call job, which can + * span multiple provider attempts, when available. Interpret this with `status`: a queued job can retain a + * temporary dispatch-deferral reason. Additional string codes may be returned. + * + * @return the terminalReason value. + */ + @Generated + public TelephonyCallJobTerminalReason getTerminalReason() { + return this.terminalReason; + } + + /** + * Get the revision property: The monotonically increasing optimistic-concurrency revision. + * + * @return the revision value. + */ + @Generated + public long getRevision() { + return this.revision; + } + + /** + * Get the createdAt property: The Unix timestamp in seconds when the call job was created. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the updatedAt property: The Unix timestamp in seconds when the call job was last updated. + * + * @return the updatedAt value. + */ + @Generated + public OffsetDateTime getUpdatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("destination", this.destination); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("source", this.source); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("agent_name", this.agentName); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeJsonField("retry_policy", this.retryPolicy); + jsonWriter.writeIntField("attempt_count", this.attemptCount); + jsonWriter.writeLongField("revision", this.revision); + jsonWriter.writeLongField("created_at", this.createdAt); + jsonWriter.writeLongField("updated_at", this.updatedAt); + jsonWriter.writeStringField("purpose", this.purpose); + jsonWriter.writeMapField("structured_inputs", this.structuredInputs, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + jsonWriter.writeJsonField("schedule", this.schedule); + jsonWriter.writeJsonField("cancellation", this.cancellation); + jsonWriter.writeNumberField("next_attempt_at", this.nextAttemptAt); + jsonWriter.writeStringField("terminal_reason", + this.terminalReason == null ? null : this.terminalReason.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCallJob from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCallJob 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 TelephonyCallJob. + */ + @Generated + public static TelephonyCallJob fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyOutboundDestination destination = null; + String connectionName = null; + String source = null; + String id = null; + String agentName = null; + TelephonyCallJobStatus status = null; + TelephonyOutboundRetryPolicyResponse retryPolicy = null; + int attemptCount = 0; + long revision = 0L; + OffsetDateTime createdAt = null; + OffsetDateTime updatedAt = null; + String purpose = null; + Map structuredInputs = null; + TelephonyCallJobSchedule schedule = null; + TelephonyCallJobCancellation cancellation = null; + Long nextAttemptAt = null; + TelephonyCallJobTerminalReason terminalReason = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("destination".equals(fieldName)) { + destination = TelephonyOutboundDestination.fromJson(reader); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("source".equals(fieldName)) { + source = reader.getString(); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("agent_name".equals(fieldName)) { + agentName = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyCallJobStatus.fromString(reader.getString()); + } else if ("retry_policy".equals(fieldName)) { + retryPolicy = TelephonyOutboundRetryPolicyResponse.fromJson(reader); + } else if ("attempt_count".equals(fieldName)) { + attemptCount = reader.getInt(); + } else if ("revision".equals(fieldName)) { + revision = reader.getLong(); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("updated_at".equals(fieldName)) { + updatedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("purpose".equals(fieldName)) { + purpose = reader.getString(); + } else if ("structured_inputs".equals(fieldName)) { + structuredInputs = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + } else if ("schedule".equals(fieldName)) { + schedule = TelephonyCallJobSchedule.fromJson(reader); + } else if ("cancellation".equals(fieldName)) { + cancellation = TelephonyCallJobCancellation.fromJson(reader); + } else if ("next_attempt_at".equals(fieldName)) { + nextAttemptAt = reader.getNullable(JsonReader::getLong); + } else if ("terminal_reason".equals(fieldName)) { + terminalReason = TelephonyCallJobTerminalReason.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TelephonyCallJob deserializedTelephonyCallJob = new TelephonyCallJob(destination, connectionName, source, + id, agentName, status, retryPolicy, attemptCount, revision, createdAt, updatedAt); + deserializedTelephonyCallJob.purpose = purpose; + deserializedTelephonyCallJob.structuredInputs = structuredInputs; + deserializedTelephonyCallJob.schedule = schedule; + deserializedTelephonyCallJob.cancellation = cancellation; + deserializedTelephonyCallJob.nextAttemptAt = nextAttemptAt; + deserializedTelephonyCallJob.terminalReason = terminalReason; + return deserializedTelephonyCallJob; + }); + } + + /* + * The Foundry connection name in the current project used to originate the call. Its category selects Twilio or + * Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. + */ + @Generated + private final String connectionName; + + /* + * The caller identity used to originate the call. For a Twilio connection, provide an authorized E.164 phone + * number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource + * Account object ID. The identity type is inferred from the connection category; originating does not change + * inbound routing. + */ + @Generated + private final String source; + + /** + * Creates an instance of TelephonyCallJob class. + * + * @param destination the destination value to set. + * @param connectionName the connectionName value to set. + * @param source the source value to set. + * @param id the id value to set. + * @param agentName the agentName value to set. + * @param status the status value to set. + * @param retryPolicy the retryPolicy value to set. + * @param attemptCount the attemptCount value to set. + * @param revision the revision value to set. + * @param createdAt the createdAt value to set. + * @param updatedAt the updatedAt value to set. + */ + @Generated + private TelephonyCallJob(TelephonyOutboundDestination destination, String connectionName, String source, String id, + String agentName, TelephonyCallJobStatus status, TelephonyOutboundRetryPolicyResponse retryPolicy, + int attemptCount, long revision, OffsetDateTime createdAt, OffsetDateTime updatedAt) { + this.destination = destination; + this.connectionName = connectionName; + this.source = source; + this.id = id; + this.agentName = agentName; + this.status = status; + this.retryPolicy = retryPolicy; + this.attemptCount = attemptCount; + this.revision = revision; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + if (updatedAt == null) { + this.updatedAt = 0L; + } else { + this.updatedAt = updatedAt.toEpochSecond(); + } + } + + /** + * Get the connectionName property: The Foundry connection name in the current project used to originate the call. + * Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony binding + * is required. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } + + /** + * Get the source property: The caller identity used to originate the call. For a Twilio connection, provide an + * authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide + * the Teams Resource Account object ID. The identity type is inferred from the connection category; originating + * does not change inbound routing. + * + * @return the source value. + */ + @Generated + public String getSource() { + return this.source; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java new file mode 100644 index 0000000000000..5390eaf7824db --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java @@ -0,0 +1,157 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * A cancellation request recorded for an outbound call job. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallJobCancellation implements JsonSerializable { + + /* + * The authenticated principal that requested cancellation. + */ + @Generated + private final String requestedBy; + + /* + * The cancellation mode applied to the call job. + */ + @Generated + private final String mode; + + /* + * The Unix timestamp in seconds when cancellation was requested. + */ + @Generated + private final long requestedAt; + + /* + * The call-job revision at which cancellation was recorded. + */ + @Generated + private final long revision; + + /** + * Creates an instance of TelephonyCallJobCancellation class. + * + * @param requestedBy the requestedBy value to set. + * @param mode the mode value to set. + * @param requestedAt the requestedAt value to set. + * @param revision the revision value to set. + */ + @Generated + private TelephonyCallJobCancellation(String requestedBy, String mode, OffsetDateTime requestedAt, long revision) { + this.requestedBy = requestedBy; + this.mode = mode; + if (requestedAt == null) { + this.requestedAt = 0L; + } else { + this.requestedAt = requestedAt.toEpochSecond(); + } + this.revision = revision; + } + + /** + * Get the requestedBy property: The authenticated principal that requested cancellation. + * + * @return the requestedBy value. + */ + @Generated + public String getRequestedBy() { + return this.requestedBy; + } + + /** + * Get the mode property: The cancellation mode applied to the call job. + * + * @return the mode value. + */ + @Generated + public String getMode() { + return this.mode; + } + + /** + * Get the requestedAt property: The Unix timestamp in seconds when cancellation was requested. + * + * @return the requestedAt value. + */ + @Generated + public OffsetDateTime getRequestedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.requestedAt), ZoneOffset.UTC); + } + + /** + * Get the revision property: The call-job revision at which cancellation was recorded. + * + * @return the revision value. + */ + @Generated + public long getRevision() { + return this.revision; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("requested_by", this.requestedBy); + jsonWriter.writeStringField("mode", this.mode); + jsonWriter.writeLongField("requested_at", this.requestedAt); + jsonWriter.writeLongField("revision", this.revision); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCallJobCancellation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCallJobCancellation 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 TelephonyCallJobCancellation. + */ + @Generated + public static TelephonyCallJobCancellation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String requestedBy = null; + String mode = null; + OffsetDateTime requestedAt = null; + long revision = 0L; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("requested_by".equals(fieldName)) { + requestedBy = reader.getString(); + } else if ("mode".equals(fieldName)) { + mode = reader.getString(); + } else if ("requested_at".equals(fieldName)) { + requestedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("revision".equals(fieldName)) { + revision = reader.getLong(); + } else { + reader.skipChildren(); + } + } + return new TelephonyCallJobCancellation(requestedBy, mode, requestedAt, revision); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java new file mode 100644 index 0000000000000..5d25ffd3c71d0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * The optional execution window for a direct outbound call. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallJobSchedule implements JsonSerializable { + + /* + * The earliest instant at which dispatch may begin. + */ + @Generated + private Long notBefore; + + /* + * The instant after which the call job expires without dispatch. + */ + @Generated + private Long expiresAt; + + /** + * Creates an instance of TelephonyCallJobSchedule class. + */ + @Generated + public TelephonyCallJobSchedule() { + } + + /** + * Get the notBefore property: The earliest instant at which dispatch may begin. + * + * @return the notBefore value. + */ + @Generated + public OffsetDateTime getNotBefore() { + if (this.notBefore == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.notBefore), ZoneOffset.UTC); + } + + /** + * Set the notBefore property: The earliest instant at which dispatch may begin. + * + * @param notBefore the notBefore value to set. + * @return the TelephonyCallJobSchedule object itself. + */ + @Generated + public TelephonyCallJobSchedule setNotBefore(OffsetDateTime notBefore) { + if (notBefore == null) { + this.notBefore = null; + } else { + this.notBefore = notBefore.toEpochSecond(); + } + return this; + } + + /** + * Get the expiresAt property: The instant after which the call job expires without dispatch. + * + * @return the expiresAt value. + */ + @Generated + public OffsetDateTime getExpiresAt() { + if (this.expiresAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.expiresAt), ZoneOffset.UTC); + } + + /** + * Set the expiresAt property: The instant after which the call job expires without dispatch. + * + * @param expiresAt the expiresAt value to set. + * @return the TelephonyCallJobSchedule object itself. + */ + @Generated + public TelephonyCallJobSchedule setExpiresAt(OffsetDateTime expiresAt) { + if (expiresAt == null) { + this.expiresAt = null; + } else { + this.expiresAt = expiresAt.toEpochSecond(); + } + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("not_before", this.notBefore); + jsonWriter.writeNumberField("expires_at", this.expiresAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCallJobSchedule from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCallJobSchedule 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 TelephonyCallJobSchedule. + */ + @Generated + public static TelephonyCallJobSchedule fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyCallJobSchedule deserializedTelephonyCallJobSchedule = new TelephonyCallJobSchedule(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("not_before".equals(fieldName)) { + deserializedTelephonyCallJobSchedule.notBefore = reader.getNullable(JsonReader::getLong); + } else if ("expires_at".equals(fieldName)) { + deserializedTelephonyCallJobSchedule.expiresAt = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedTelephonyCallJobSchedule; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java new file mode 100644 index 0000000000000..104054eaf747c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of a durable outbound call job. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallJobStatus extends ExpandableStringEnum { + + /** + * Static value accepted for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus ACCEPTED = fromString("accepted"); + + /** + * Static value waiting_for_schedule for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus WAITING_FOR_SCHEDULE = fromString("waiting_for_schedule"); + + /** + * Static value queued for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus QUEUED = fromString("queued"); + + /** + * Static value dispatching for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus DISPATCHING = fromString("dispatching"); + + /** + * Static value in_progress for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus IN_PROGRESS = fromString("in_progress"); + + /** + * Static value waiting_for_retry for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus WAITING_FOR_RETRY = fromString("waiting_for_retry"); + + /** + * Static value cancellation_requested for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus CANCELLATION_REQUESTED = fromString("cancellation_requested"); + + /** + * Static value completed for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus COMPLETED = fromString("completed"); + + /** + * Static value blocked for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus BLOCKED = fromString("blocked"); + + /** + * Static value expired for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus EXPIRED = fromString("expired"); + + /** + * Static value failed for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus FAILED = fromString("failed"); + + /** + * Static value cancelled for TelephonyCallJobStatus. + */ + @Generated + public static final TelephonyCallJobStatus CANCELLED = fromString("cancelled"); + + /** + * Creates a new instance of TelephonyCallJobStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCallJobStatus() { + } + + /** + * Creates or finds a TelephonyCallJobStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCallJobStatus. + */ + @Generated + public static TelephonyCallJobStatus fromString(String name) { + return fromString(name, TelephonyCallJobStatus.class); + } + + /** + * Gets known TelephonyCallJobStatus values. + * + * @return known TelephonyCallJobStatus values. + */ + @Generated + public static Collection values() { + return values(TelephonyCallJobStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.java new file mode 100644 index 0000000000000..dc4f2919d83fc --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.java @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Known terminal reasons for an overall outbound call job, which can span multiple provider attempts. These are + * distinct from individual call lifecycle reasons. Additional string codes may be returned. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallJobTerminalReason extends ExpandableStringEnum { + + /** + * The provider call ended before the service observed it as connected. + */ + @Generated + public static final TelephonyCallJobTerminalReason NO_ANSWER = fromString("no_answer"); + + /** + * The provider accepted the call, but no connection was observed before the timeout and cancellation was + * reconciled. This does not prove that the recipient never answered. + */ + @Generated + public static final TelephonyCallJobTerminalReason NO_ANSWER_TIMEOUT = fromString("no_answer_timeout"); + + /** + * The attempt to answer the provider call failed. + */ + @Generated + public static final TelephonyCallJobTerminalReason ANSWER_FAILED = fromString("answer_failed"); + + /** + * The telephony media bridge was cancelled. + */ + @Generated + public static final TelephonyCallJobTerminalReason BRIDGE_CANCELLED = fromString("bridge_cancelled"); + + /** + * The telephony media bridge failed. + */ + @Generated + public static final TelephonyCallJobTerminalReason BRIDGE_FAILED = fromString("bridge_failed"); + + /** + * The voice-agent session configuration was invalid for outbound calling. + */ + @Generated + public static final TelephonyCallJobTerminalReason VOICE_SESSION_CONFIGURATION_INVALID + = fromString("voice_session_configuration_invalid"); + + /** + * The outbound call job's project context did not match its expected project. + */ + @Generated + public static final TelephonyCallJobTerminalReason CONNECTION_PROJECT_MISMATCH + = fromString("connection_project_mismatch"); + + /** + * The resolved outbound connection or caller identity no longer matched the call job configuration. + */ + @Generated + public static final TelephonyCallJobTerminalReason OUTBOUND_CONNECTION_CHANGED + = fromString("outbound_connection_changed"); + + /** + * The configured outbound connection could not be resolved or used. + */ + @Generated + public static final TelephonyCallJobTerminalReason OUTBOUND_CONNECTION_UNAVAILABLE + = fromString("outbound_connection_unavailable"); + + /** + * The telephony binding was invalid for outbound calling. + */ + @Generated + public static final TelephonyCallJobTerminalReason TELEPHONY_BINDING_INVALID + = fromString("telephony_binding_invalid"); + + /** + * The telephony binding could not be found. + */ + @Generated + public static final TelephonyCallJobTerminalReason TELEPHONY_BINDING_NOT_FOUND + = fromString("telephony_binding_not_found"); + + /** + * The telephony binding was not active. + */ + @Generated + public static final TelephonyCallJobTerminalReason TELEPHONY_BINDING_INACTIVE + = fromString("telephony_binding_inactive"); + + /** + * The telephony binding changed after the call job was configured. + */ + @Generated + public static final TelephonyCallJobTerminalReason TELEPHONY_BINDING_CHANGED + = fromString("telephony_binding_changed"); + + /** + * The campaign associated with the call job could not be found. + */ + @Generated + public static final TelephonyCallJobTerminalReason CAMPAIGN_NOT_FOUND = fromString("campaign_not_found"); + + /** + * The campaign associated with the call job was cancelled. + */ + @Generated + public static final TelephonyCallJobTerminalReason CAMPAIGN_CANCELLED = fromString("campaign_cancelled"); + + /** + * The campaign associated with the call job had already completed. + */ + @Generated + public static final TelephonyCallJobTerminalReason CAMPAIGN_COMPLETED = fromString("campaign_completed"); + + /** + * The campaign associated with the call job had failed. + */ + @Generated + public static final TelephonyCallJobTerminalReason CAMPAIGN_FAILED = fromString("campaign_failed"); + + /** + * The service could not record the guard against duplicate call origination. + */ + @Generated + public static final TelephonyCallJobTerminalReason ORIGINATION_FENCE_NOT_RECORDED + = fromString("origination_fence_not_recorded"); + + /** + * The service could not reconcile the outcome of call origination before the timeout. + */ + @Generated + public static final TelephonyCallJobTerminalReason ORIGINATION_RECONCILIATION_TIMEOUT + = fromString("origination_reconciliation_timeout"); + + /** + * The service could not confirm the outcome of call cancellation before the timeout. + */ + @Generated + public static final TelephonyCallJobTerminalReason CANCELLATION_RECONCILIATION_TIMEOUT + = fromString("cancellation_reconciliation_timeout"); + + /** + * Provider callbacks timed out, and the service could not confirm the subsequent cancellation before its + * reconciliation timeout. + */ + @Generated + public static final TelephonyCallJobTerminalReason PROVIDER_CALLBACK_TIMEOUT_CANCELLATION_RECONCILIATION_TIMEOUT + = fromString("provider_callback_timeout_cancellation_reconciliation_timeout"); + + /** + * Creates a new instance of TelephonyCallJobTerminalReason value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCallJobTerminalReason() { + } + + /** + * Creates or finds a TelephonyCallJobTerminalReason from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCallJobTerminalReason. + */ + @Generated + public static TelephonyCallJobTerminalReason fromString(String name) { + return fromString(name, TelephonyCallJobTerminalReason.class); + } + + /** + * Gets known TelephonyCallJobTerminalReason values. + * + * @return known TelephonyCallJobTerminalReason values. + */ + @Generated + public static Collection values() { + return values(TelephonyCallJobTerminalReason.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 0000000000000..55af803fe0a89 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEvent.java @@ -0,0 +1,336 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * A bounded durable observation in the lifecycle of one telephony call. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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; + + /* + * The Unix timestamp (in seconds) for when the service observed the event. + */ + @Generated + private final long observedAt; + + /* + * The Unix timestamp (in seconds) for when the event occurred according to the provider. + */ + @Generated + private Long occurredAt; + + /* + * The source of the event timestamp. + */ + @Generated + private final TelephonyCallTimestampSource timestampSource; + + /* + * A stable service-generated reason associated with this lifecycle event, not necessarily the final outcome of the + * call. Additional string codes may be returned. + */ + @Generated + private TelephonyCallLifecycleEventReason 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 observedAt the observedAt value to set. + * @param timestampSource the timestampSource value to set. + */ + @Generated + private TelephonyCallLifecycleEvent(TelephonyCallLifecycleEventName name, TelephonyCallLifecycleEventSource source, + TelephonyCallLifecycleEventOutcome outcome, OffsetDateTime observedAt, + TelephonyCallTimestampSource timestampSource) { + this.name = name; + this.source = source; + this.outcome = outcome; + if (observedAt == null) { + this.observedAt = 0L; + } else { + this.observedAt = observedAt.toEpochSecond(); + } + 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 observedAt property: The Unix timestamp (in seconds) for when the service observed the event. + * + * @return the observedAt value. + */ + @Generated + public OffsetDateTime getObservedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.observedAt), ZoneOffset.UTC); + } + + /** + * Get the occurredAt property: The Unix timestamp (in seconds) for when the event occurred according to the + * provider. + * + * @return the occurredAt value. + */ + @Generated + public OffsetDateTime getOccurredAt() { + if (this.occurredAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.occurredAt), ZoneOffset.UTC); + } + + /** + * 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 this lifecycle event, not necessarily + * the final outcome of the call. Additional string codes may be returned. + * + * @return the reason value. + */ + @Generated + public TelephonyCallLifecycleEventReason 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", this.observedAt); + jsonWriter.writeStringField("timestamp_source", + this.timestampSource == null ? null : this.timestampSource.toString()); + jsonWriter.writeNumberField("occurred_at", this.occurredAt); + jsonWriter.writeStringField("reason", this.reason == null ? null : this.reason.toString()); + 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; + OffsetDateTime observedAt = null; + TelephonyCallTimestampSource timestampSource = null; + Long occurredAt = null; + TelephonyCallLifecycleEventReason 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".equals(fieldName)) { + observedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("timestamp_source".equals(fieldName)) { + timestampSource = TelephonyCallTimestampSource.fromString(reader.getString()); + } else if ("occurred_at".equals(fieldName)) { + occurredAt = reader.getNullable(JsonReader::getLong); + } else if ("reason".equals(fieldName)) { + reason = TelephonyCallLifecycleEventReason.fromString(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, observedAt, timestampSource); + deserializedTelephonyCallLifecycleEvent.sequence = sequence; + deserializedTelephonyCallLifecycleEvent.occurredAt = occurredAt; + 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 0000000000000..2c56bddfc6b58 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventName.java @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A provider-neutral lifecycle event name. Known values are stable; additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..dbde21141666d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventOutcome.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The outcome of one telephony lifecycle observation. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/TelephonyCallLifecycleEventReason.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventReason.java new file mode 100644 index 0000000000000..c907226b58cf7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventReason.java @@ -0,0 +1,237 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Known service-generated reasons for a telephony lifecycle event. An event reason does not necessarily describe the + * final outcome of the call. Additional string codes may be returned. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallLifecycleEventReason extends ExpandableStringEnum { + + /** + * The provider webhook payload was invalid. + */ + @Generated + public static final TelephonyCallLifecycleEventReason INVALID_WEBHOOK_PAYLOAD + = fromString("invalid_webhook_payload"); + + /** + * Validation of the provider webhook failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason WEBHOOK_VALIDATION_FAILED + = fromString("webhook_validation_failed"); + + /** + * No matching telephony binding was found. + */ + @Generated + public static final TelephonyCallLifecycleEventReason BINDING_NOT_FOUND = fromString("binding_not_found"); + + /** + * The telephony binding was suspended. + */ + @Generated + public static final TelephonyCallLifecycleEventReason BINDING_SUSPENDED = fromString("binding_suspended"); + + /** + * The call was rejected by admission policy. + */ + @Generated + public static final TelephonyCallLifecycleEventReason ADMISSION_REJECTED = fromString("admission_rejected"); + + /** + * The service could not complete the call admission check. + */ + @Generated + public static final TelephonyCallLifecycleEventReason ADMISSION_CHECK_FAILED = fromString("admission_check_failed"); + + /** + * The webhook route did not match the resolved voice agent. + */ + @Generated + public static final TelephonyCallLifecycleEventReason ROUTE_AGENT_MISMATCH = fromString("route_agent_mismatch"); + + /** + * The telephony binding configuration was invalid. + */ + @Generated + public static final TelephonyCallLifecycleEventReason INVALID_BINDING_CONFIGURATION + = fromString("invalid_binding_configuration"); + + /** + * The service could not resolve the telephony provider credentials. + */ + @Generated + public static final TelephonyCallLifecycleEventReason CREDENTIAL_RESOLUTION_FAILED + = fromString("credential_resolution_failed"); + + /** + * The provider resource did not match the configured telephony resource. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_RESOURCE_MISMATCH + = fromString("provider_resource_mismatch"); + + /** + * The service could not resolve the endpoint needed to handle the call. + */ + @Generated + public static final TelephonyCallLifecycleEventReason ENDPOINT_RESOLUTION_FAILED + = fromString("endpoint_resolution_failed"); + + /** + * The service could not set up the incoming call. + */ + @Generated + public static final TelephonyCallLifecycleEventReason INGRESS_SETUP_FAILED = fromString("ingress_setup_failed"); + + /** + * The call conflicted with an existing live call. + */ + @Generated + public static final TelephonyCallLifecycleEventReason LIVE_CALL_CONFLICT = fromString("live_call_conflict"); + + /** + * The service could not persist the live call state. + */ + @Generated + public static final TelephonyCallLifecycleEventReason LIVE_CALL_PERSISTENCE_FAILED + = fromString("live_call_persistence_failed"); + + /** + * The attempt to answer the provider call failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason ANSWER_FAILED = fromString("answer_failed"); + + /** + * The provider reported that the call disconnected. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_DISCONNECTED = fromString("provider_disconnected"); + + /** + * The provider reported that the destination was busy. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_BUSY = fromString("provider_busy"); + + /** + * The provider reported that the call was not answered. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_NO_ANSWER = fromString("provider_no_answer"); + + /** + * The provider reported that the call was cancelled. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_CANCELLED = fromString("provider_cancelled"); + + /** + * The provider reported that the call failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_FAILED = fromString("provider_failed"); + + /** + * The provider reported a media-stream error. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_STREAM_ERROR = fromString("provider_stream_error"); + + /** + * The provider reported that the media stream stopped. + */ + @Generated + public static final TelephonyCallLifecycleEventReason PROVIDER_STREAM_STOPPED + = fromString("provider_stream_stopped"); + + /** + * The call could not connect to the voice-agent session. + */ + @Generated + public static final TelephonyCallLifecycleEventReason AGENT_SESSION_CONNECT_FAILED + = fromString("agent_session_connect_failed"); + + /** + * The call's media stream ended. + */ + @Generated + public static final TelephonyCallLifecycleEventReason MEDIA_STREAM_ENDED = fromString("media_stream_ended"); + + /** + * The telephony media bridge was cancelled. + */ + @Generated + public static final TelephonyCallLifecycleEventReason BRIDGE_CANCELLED = fromString("bridge_cancelled"); + + /** + * The telephony media bridge failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason BRIDGE_FAILED = fromString("bridge_failed"); + + /** + * A managed call hang-up command succeeded. + */ + @Generated + public static final TelephonyCallLifecycleEventReason MANAGED_HANGUP = fromString("managed_hangup"); + + /** + * A managed call-transfer command succeeded. + */ + @Generated + public static final TelephonyCallLifecycleEventReason MANAGED_TRANSFER = fromString("managed_transfer"); + + /** + * A managed call hang-up command failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason MANAGE_HANGUP_FAILED = fromString("manage_hangup_failed"); + + /** + * A managed call-transfer command failed. + */ + @Generated + public static final TelephonyCallLifecycleEventReason MANAGE_TRANSFER_FAILED = fromString("manage_transfer_failed"); + + /** + * Creates a new instance of TelephonyCallLifecycleEventReason value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCallLifecycleEventReason() { + } + + /** + * Creates or finds a TelephonyCallLifecycleEventReason from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCallLifecycleEventReason. + */ + @Generated + public static TelephonyCallLifecycleEventReason fromString(String name) { + return fromString(name, TelephonyCallLifecycleEventReason.class); + } + + /** + * Gets known TelephonyCallLifecycleEventReason values. + * + * @return known TelephonyCallLifecycleEventReason values. + */ + @Generated + public static Collection values() { + return values(TelephonyCallLifecycleEventReason.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 0000000000000..8b08ef9e65bc9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallLifecycleEventSource.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The component that supplied a telephony lifecycle observation. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..36c04cb6d16a7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallPhase.java @@ -0,0 +1,119 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The provider-neutral phase reached by an inbound telephony call. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..5081ca7996222 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallRecord.java @@ -0,0 +1,542 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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. + */ + @Generated + private Long durationMs; + + /* + * The service-generated reason that this single call ended, rather than the outcome of an overall outbound call + * job. Additional string codes may be returned. + */ + @Generated + private TelephonyCallEndReason 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 lifecycle timeline. + */ + @Generated + private final List events; + + /* + * Whether older lifecycle events were omitted from the timeline. + */ + @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 durationMs property: The call duration. + * + * @return the durationMs value. + */ + @Generated + public Duration getDurationMs() { + if (this.durationMs == null) { + return null; + } + return Duration.ofMillis(this.durationMs); + } + + /** + * Get the endReason property: The service-generated reason that this single call ended, rather than the outcome of + * an overall outbound call job. Additional string codes may be returned. + * + * @return the endReason value. + */ + @Generated + public TelephonyCallEndReason 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 lifecycle timeline. + * + * @return the events value. + */ + @Generated + public List getEvents() { + return this.events; + } + + /** + * Get the eventsTruncated property: Whether older lifecycle events were omitted from the timeline. + * + * @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_ms", this.durationMs); + jsonWriter.writeStringField("end_reason", this.endReason == null ? null : this.endReason.toString()); + 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 durationMs = null; + TelephonyCallEndReason 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_ms".equals(fieldName)) { + durationMs = reader.getNullable(JsonReader::getLong); + } else if ("end_reason".equals(fieldName)) { + endReason = TelephonyCallEndReason.fromString(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.durationMs = durationMs; + 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 0000000000000..a2c26b024d4d2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallStatus.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of an inbound telephony call. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..838655efa8946 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallSummary.java @@ -0,0 +1,453 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * A summary of a durable inbound call to a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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. + */ + @Generated + private Long durationMs; + + /* + * The service-generated reason that this single call ended, rather than the outcome of an overall outbound call + * job. Additional string codes may be returned. + */ + @Generated + private TelephonyCallEndReason 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 durationMs property: The call duration. + * + * @return the durationMs value. + */ + @Generated + public Duration getDurationMs() { + if (this.durationMs == null) { + return null; + } + return Duration.ofMillis(this.durationMs); + } + + /** + * Get the endReason property: The service-generated reason that this single call ended, rather than the outcome of + * an overall outbound call job. Additional string codes may be returned. + * + * @return the endReason value. + */ + @Generated + public TelephonyCallEndReason 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_ms", this.durationMs); + jsonWriter.writeStringField("end_reason", this.endReason == null ? null : this.endReason.toString()); + 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 durationMs = null; + TelephonyCallEndReason 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_ms".equals(fieldName)) { + durationMs = reader.getNullable(JsonReader::getLong); + } else if ("end_reason".equals(fieldName)) { + endReason = TelephonyCallEndReason.fromString(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.durationMs = durationMs; + 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 0000000000000..43c835ebaab35 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTimestampSource.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The source of a telephony lifecycle timestamp. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..fc8fdd62561e6 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTiming.java @@ -0,0 +1,356 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * Detailed provider-neutral timing for an inbound telephony call. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCallTiming implements JsonSerializable { + + /* + * The Unix timestamp (in seconds) for when the provider webhook was received. + */ + @Generated + private Long receivedAt; + + /* + * The Unix timestamp (in seconds) for when webhook validation completed. + */ + @Generated + private Long validatedAt; + + /* + * The Unix timestamp (in seconds) for when the call was admitted to an agent binding. + */ + @Generated + private Long admittedAt; + + /* + * The Unix timestamp (in seconds) for when the service requested that the provider answer the call. + */ + @Generated + private Long answerRequestedAt; + + /* + * The Unix timestamp (in seconds) for when the provider reported that the call was 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 caller audio was first observed. + */ + @Generated + private Long firstCallerAudioAt; + + /* + * The Unix timestamp (in seconds) for when agent audio was first observed. + */ + @Generated + private Long firstAgentAudioAt; + + /* + * The Unix timestamp (in seconds) for when the call reached a terminal state. + */ + @Generated + private Long endedAt; + + /* + * 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 receivedAt property: The Unix timestamp (in seconds) for when the provider webhook was received. + * + * @return the receivedAt value. + */ + @Generated + public OffsetDateTime getReceivedAt() { + if (this.receivedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.receivedAt), ZoneOffset.UTC); + } + + /** + * Get the validatedAt property: The Unix timestamp (in seconds) for when webhook validation completed. + * + * @return the validatedAt value. + */ + @Generated + public OffsetDateTime getValidatedAt() { + if (this.validatedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.validatedAt), ZoneOffset.UTC); + } + + /** + * Get the admittedAt property: The Unix timestamp (in seconds) for when the call was admitted to an agent binding. + * + * @return the admittedAt value. + */ + @Generated + public OffsetDateTime getAdmittedAt() { + if (this.admittedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.admittedAt), ZoneOffset.UTC); + } + + /** + * Get the answerRequestedAt property: The Unix timestamp (in seconds) for when the service requested that the + * provider answer the call. + * + * @return the answerRequestedAt value. + */ + @Generated + public OffsetDateTime getAnswerRequestedAt() { + if (this.answerRequestedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.answerRequestedAt), ZoneOffset.UTC); + } + + /** + * Get the answeredAt property: The Unix timestamp (in seconds) for when the provider reported that the call was + * 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 firstCallerAudioAt property: The Unix timestamp (in seconds) for when caller audio was first observed. + * + * @return the firstCallerAudioAt value. + */ + @Generated + public OffsetDateTime getFirstCallerAudioAt() { + if (this.firstCallerAudioAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.firstCallerAudioAt), ZoneOffset.UTC); + } + + /** + * Get the firstAgentAudioAt property: The Unix timestamp (in seconds) for when agent audio was first observed. + * + * @return the firstAgentAudioAt value. + */ + @Generated + public OffsetDateTime getFirstAgentAudioAt() { + if (this.firstAgentAudioAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.firstAgentAudioAt), ZoneOffset.UTC); + } + + /** + * Get the endedAt property: The Unix timestamp (in seconds) for when the call reached a terminal state. + * + * @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 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", this.receivedAt); + jsonWriter.writeNumberField("validated_at", this.validatedAt); + jsonWriter.writeNumberField("admitted_at", this.admittedAt); + jsonWriter.writeNumberField("answer_requested_at", this.answerRequestedAt); + jsonWriter.writeNumberField("answered_at", this.answeredAt); + jsonWriter.writeNumberField("media_connected_at", this.mediaConnectedAt); + jsonWriter.writeNumberField("agent_session_ready_at", this.agentSessionReadyAt); + jsonWriter.writeNumberField("first_caller_audio_at", this.firstCallerAudioAt); + jsonWriter.writeNumberField("first_agent_audio_at", this.firstAgentAudioAt); + jsonWriter.writeNumberField("ended_at", this.endedAt); + 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 receivedAt = null; + Long validatedAt = null; + Long admittedAt = null; + Long answerRequestedAt = null; + Long answeredAt = null; + Long mediaConnectedAt = null; + Long agentSessionReadyAt = null; + Long firstCallerAudioAt = null; + Long firstAgentAudioAt = null; + Long endedAt = 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".equals(fieldName)) { + receivedAt = reader.getNullable(JsonReader::getLong); + } else if ("validated_at".equals(fieldName)) { + validatedAt = reader.getNullable(JsonReader::getLong); + } else if ("admitted_at".equals(fieldName)) { + admittedAt = reader.getNullable(JsonReader::getLong); + } else if ("answer_requested_at".equals(fieldName)) { + answerRequestedAt = reader.getNullable(JsonReader::getLong); + } 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 ("first_caller_audio_at".equals(fieldName)) { + firstCallerAudioAt = reader.getNullable(JsonReader::getLong); + } else if ("first_agent_audio_at".equals(fieldName)) { + firstAgentAudioAt = reader.getNullable(JsonReader::getLong); + } else if ("ended_at".equals(fieldName)) { + endedAt = reader.getNullable(JsonReader::getLong); + } else if ("duration_basis".equals(fieldName)) { + durationBasis = TelephonyCallDurationBasis.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TelephonyCallTiming deserializedTelephonyCallTiming = new TelephonyCallTiming(timestampSource); + deserializedTelephonyCallTiming.receivedAt = receivedAt; + deserializedTelephonyCallTiming.validatedAt = validatedAt; + deserializedTelephonyCallTiming.admittedAt = admittedAt; + deserializedTelephonyCallTiming.answerRequestedAt = answerRequestedAt; + deserializedTelephonyCallTiming.answeredAt = answeredAt; + deserializedTelephonyCallTiming.mediaConnectedAt = mediaConnectedAt; + deserializedTelephonyCallTiming.agentSessionReadyAt = agentSessionReadyAt; + deserializedTelephonyCallTiming.firstCallerAudioAt = firstCallerAudioAt; + deserializedTelephonyCallTiming.firstAgentAudioAt = firstAgentAudioAt; + deserializedTelephonyCallTiming.endedAt = endedAt; + 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 0000000000000..3e26423345a87 --- /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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Correlation from a durable telephony call record to its customer-facing Foundry trace. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..865d3ce748ff3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceMode.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The mode used to expose a telephony call as a customer-facing Foundry trace. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..86ab69cf80c1b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCallTraceStatus.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The availability status of a customer-facing telephony call trace. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/TelephonyCampaign.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaign.java new file mode 100644 index 0000000000000..d35535505587b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaign.java @@ -0,0 +1,477 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * A durable outbound campaign owned by a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaign implements JsonSerializable { + + /* + * A customer-visible name for the campaign. + */ + @Generated + private final String displayName; + + /* + * An optional customer-declared purpose for campaign calls. + */ + @Generated + private String purpose; + + /* + * When the published campaign becomes eligible to dispatch calls. + */ + @Generated + private TelephonyCampaignSchedule schedule; + + /* + * The id property. + */ + @Generated + private final String id; + + /* + * The object property. + */ + @Generated + private final String object = "telephony.campaign"; + + /* + * The agent_name property. + */ + @Generated + private final String agentName; + + /* + * The configuration_status property. + */ + @Generated + private final TelephonyCampaignConfigurationStatus configurationStatus; + + /* + * The execution_status property. + */ + @Generated + private final TelephonyCampaignExecutionStatus executionStatus; + + /* + * The retry_policy property. + */ + @Generated + private final TelephonyOutboundRetryPolicyResponse retryPolicy; + + /* + * The latest_successful_validation_id property. + */ + @Generated + private String latestSuccessfulValidationId; + + /* + * The active_validation_id property. + */ + @Generated + private String activeValidationId; + + /* + * The active_recipient_import_id property. + */ + @Generated + private String activeRecipientImportId; + + /* + * The published_at property. + */ + @Generated + private Long publishedAt; + + /* + * The call_job_counts property. + */ + @Generated + private final TelephonyCampaignCallJobCounts callJobCounts; + + /* + * The created_at property. + */ + @Generated + private final long createdAt; + + /* + * The updated_at property. + */ + @Generated + private final long updatedAt; + + /** + * Get the displayName property: A customer-visible name for the campaign. + * + * @return the displayName value. + */ + @Generated + public String getDisplayName() { + return this.displayName; + } + + /** + * Get the purpose property: An optional customer-declared purpose for campaign calls. + * + * @return the purpose value. + */ + @Generated + public String getPurpose() { + return this.purpose; + } + + /** + * Get the schedule property: When the published campaign becomes eligible to dispatch calls. + * + * @return the schedule value. + */ + @Generated + public TelephonyCampaignSchedule getSchedule() { + return this.schedule; + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object property. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the agentName property: The agent_name property. + * + * @return the agentName value. + */ + @Generated + public String getAgentName() { + return this.agentName; + } + + /** + * Get the configurationStatus property: The configuration_status property. + * + * @return the configurationStatus value. + */ + @Generated + public TelephonyCampaignConfigurationStatus getConfigurationStatus() { + return this.configurationStatus; + } + + /** + * Get the executionStatus property: The execution_status property. + * + * @return the executionStatus value. + */ + @Generated + public TelephonyCampaignExecutionStatus getExecutionStatus() { + return this.executionStatus; + } + + /** + * Get the retryPolicy property: The retry_policy property. + * + * @return the retryPolicy value. + */ + @Generated + public TelephonyOutboundRetryPolicyResponse getRetryPolicy() { + return this.retryPolicy; + } + + /** + * Get the latestSuccessfulValidationId property: The latest_successful_validation_id property. + * + * @return the latestSuccessfulValidationId value. + */ + @Generated + public String getLatestSuccessfulValidationId() { + return this.latestSuccessfulValidationId; + } + + /** + * Get the activeValidationId property: The active_validation_id property. + * + * @return the activeValidationId value. + */ + @Generated + public String getActiveValidationId() { + return this.activeValidationId; + } + + /** + * Get the activeRecipientImportId property: The active_recipient_import_id property. + * + * @return the activeRecipientImportId value. + */ + @Generated + public String getActiveRecipientImportId() { + return this.activeRecipientImportId; + } + + /** + * Get the publishedAt property: The published_at property. + * + * @return the publishedAt value. + */ + @Generated + public OffsetDateTime getPublishedAt() { + if (this.publishedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.publishedAt), ZoneOffset.UTC); + } + + /** + * Get the callJobCounts property: The call_job_counts property. + * + * @return the callJobCounts value. + */ + @Generated + public TelephonyCampaignCallJobCounts getCallJobCounts() { + return this.callJobCounts; + } + + /** + * Get the createdAt property: The created_at property. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the updatedAt property: The updated_at property. + * + * @return the updatedAt value. + */ + @Generated + public OffsetDateTime getUpdatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("display_name", this.displayName); + jsonWriter.writeStringField("connection_name", this.connectionName); + jsonWriter.writeStringField("source", this.source); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("agent_name", this.agentName); + jsonWriter.writeStringField("configuration_status", + this.configurationStatus == null ? null : this.configurationStatus.toString()); + jsonWriter.writeStringField("execution_status", + this.executionStatus == null ? null : this.executionStatus.toString()); + jsonWriter.writeJsonField("retry_policy", this.retryPolicy); + jsonWriter.writeJsonField("call_job_counts", this.callJobCounts); + jsonWriter.writeLongField("created_at", this.createdAt); + jsonWriter.writeLongField("updated_at", this.updatedAt); + jsonWriter.writeStringField("purpose", this.purpose); + jsonWriter.writeJsonField("schedule", this.schedule); + jsonWriter.writeStringField("latest_successful_validation_id", this.latestSuccessfulValidationId); + jsonWriter.writeStringField("active_validation_id", this.activeValidationId); + jsonWriter.writeStringField("active_recipient_import_id", this.activeRecipientImportId); + jsonWriter.writeNumberField("published_at", this.publishedAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaign from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaign 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 TelephonyCampaign. + */ + @Generated + public static TelephonyCampaign fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String displayName = null; + String connectionName = null; + String source = null; + String id = null; + String agentName = null; + TelephonyCampaignConfigurationStatus configurationStatus = null; + TelephonyCampaignExecutionStatus executionStatus = null; + TelephonyOutboundRetryPolicyResponse retryPolicy = null; + TelephonyCampaignCallJobCounts callJobCounts = null; + OffsetDateTime createdAt = null; + OffsetDateTime updatedAt = null; + String purpose = null; + TelephonyCampaignSchedule schedule = null; + String latestSuccessfulValidationId = null; + String activeValidationId = null; + String activeRecipientImportId = null; + Long publishedAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("display_name".equals(fieldName)) { + displayName = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("source".equals(fieldName)) { + source = reader.getString(); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("agent_name".equals(fieldName)) { + agentName = reader.getString(); + } else if ("configuration_status".equals(fieldName)) { + configurationStatus = TelephonyCampaignConfigurationStatus.fromString(reader.getString()); + } else if ("execution_status".equals(fieldName)) { + executionStatus = TelephonyCampaignExecutionStatus.fromString(reader.getString()); + } else if ("retry_policy".equals(fieldName)) { + retryPolicy = TelephonyOutboundRetryPolicyResponse.fromJson(reader); + } else if ("call_job_counts".equals(fieldName)) { + callJobCounts = TelephonyCampaignCallJobCounts.fromJson(reader); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("updated_at".equals(fieldName)) { + updatedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("purpose".equals(fieldName)) { + purpose = reader.getString(); + } else if ("schedule".equals(fieldName)) { + schedule = TelephonyCampaignSchedule.fromJson(reader); + } else if ("latest_successful_validation_id".equals(fieldName)) { + latestSuccessfulValidationId = reader.getString(); + } else if ("active_validation_id".equals(fieldName)) { + activeValidationId = reader.getString(); + } else if ("active_recipient_import_id".equals(fieldName)) { + activeRecipientImportId = reader.getString(); + } else if ("published_at".equals(fieldName)) { + publishedAt = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + TelephonyCampaign deserializedTelephonyCampaign = new TelephonyCampaign(displayName, connectionName, source, + id, agentName, configurationStatus, executionStatus, retryPolicy, callJobCounts, createdAt, updatedAt); + deserializedTelephonyCampaign.purpose = purpose; + deserializedTelephonyCampaign.schedule = schedule; + deserializedTelephonyCampaign.latestSuccessfulValidationId = latestSuccessfulValidationId; + deserializedTelephonyCampaign.activeValidationId = activeValidationId; + deserializedTelephonyCampaign.activeRecipientImportId = activeRecipientImportId; + deserializedTelephonyCampaign.publishedAt = publishedAt; + return deserializedTelephonyCampaign; + }); + } + + /* + * The Foundry connection name in the current project used to originate campaign calls. Its category selects Twilio + * or Azure Communication Services / Teams Phone Extension. No inbound telephony binding is required. + */ + @Generated + private final String connectionName; + + /* + * The caller identity used to originate campaign calls. For a Twilio connection, provide an authorized E.164 phone + * number. For an Azure Communication Services / Teams Phone Extension connection, provide the Teams Resource + * Account object ID. The identity type is inferred from the connection category; originating does not change + * inbound routing. + */ + @Generated + private final String source; + + /** + * Creates an instance of TelephonyCampaign class. + * + * @param displayName the displayName value to set. + * @param connectionName the connectionName value to set. + * @param source the source value to set. + * @param id the id value to set. + * @param agentName the agentName value to set. + * @param configurationStatus the configurationStatus value to set. + * @param executionStatus the executionStatus value to set. + * @param retryPolicy the retryPolicy value to set. + * @param callJobCounts the callJobCounts value to set. + * @param createdAt the createdAt value to set. + * @param updatedAt the updatedAt value to set. + */ + @Generated + private TelephonyCampaign(String displayName, String connectionName, String source, String id, String agentName, + TelephonyCampaignConfigurationStatus configurationStatus, TelephonyCampaignExecutionStatus executionStatus, + TelephonyOutboundRetryPolicyResponse retryPolicy, TelephonyCampaignCallJobCounts callJobCounts, + OffsetDateTime createdAt, OffsetDateTime updatedAt) { + this.displayName = displayName; + this.connectionName = connectionName; + this.source = source; + this.id = id; + this.agentName = agentName; + this.configurationStatus = configurationStatus; + this.executionStatus = executionStatus; + this.retryPolicy = retryPolicy; + this.callJobCounts = callJobCounts; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + if (updatedAt == null) { + this.updatedAt = 0L; + } else { + this.updatedAt = updatedAt.toEpochSecond(); + } + } + + /** + * Get the connectionName property: The Foundry connection name in the current project used to originate campaign + * calls. Its category selects Twilio or Azure Communication Services / Teams Phone Extension. No inbound telephony + * binding is required. + * + * @return the connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } + + /** + * Get the source property: The caller identity used to originate campaign calls. For a Twilio connection, provide + * an authorized E.164 phone number. For an Azure Communication Services / Teams Phone Extension connection, provide + * the Teams Resource Account object ID. The identity type is inferred from the connection category; originating + * does not change inbound routing. + * + * @return the source value. + */ + @Generated + public String getSource() { + return this.source; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java new file mode 100644 index 0000000000000..93f42c769c79d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java @@ -0,0 +1,240 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Aggregate call-job counts for an outbound campaign. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignCallJobCounts implements JsonSerializable { + + /* + * The total property. + */ + @Generated + private final long total; + + /* + * The pending property. + */ + @Generated + private final long pending; + + /* + * The in_progress property. + */ + @Generated + private final long inProgress; + + /* + * The completed property. + */ + @Generated + private final long completed; + + /* + * The failed property. + */ + @Generated + private final long failed; + + /* + * The blocked property. + */ + @Generated + private final long blocked; + + /* + * The cancelled property. + */ + @Generated + private final long cancelled; + + /* + * The expired property. + */ + @Generated + private final long expired; + + /** + * Creates an instance of TelephonyCampaignCallJobCounts class. + * + * @param total the total value to set. + * @param pending the pending value to set. + * @param inProgress the inProgress value to set. + * @param completed the completed value to set. + * @param failed the failed value to set. + * @param blocked the blocked value to set. + * @param cancelled the cancelled value to set. + * @param expired the expired value to set. + */ + @Generated + private TelephonyCampaignCallJobCounts(long total, long pending, long inProgress, long completed, long failed, + long blocked, long cancelled, long expired) { + this.total = total; + this.pending = pending; + this.inProgress = inProgress; + this.completed = completed; + this.failed = failed; + this.blocked = blocked; + this.cancelled = cancelled; + this.expired = expired; + } + + /** + * Get the total property: The total property. + * + * @return the total value. + */ + @Generated + public long getTotal() { + return this.total; + } + + /** + * Get the pending property: The pending property. + * + * @return the pending value. + */ + @Generated + public long getPending() { + return this.pending; + } + + /** + * Get the inProgress property: The in_progress property. + * + * @return the inProgress value. + */ + @Generated + public long getInProgress() { + return this.inProgress; + } + + /** + * Get the completed property: The completed property. + * + * @return the completed value. + */ + @Generated + public long getCompleted() { + return this.completed; + } + + /** + * Get the failed property: The failed property. + * + * @return the failed value. + */ + @Generated + public long getFailed() { + return this.failed; + } + + /** + * Get the blocked property: The blocked property. + * + * @return the blocked value. + */ + @Generated + public long getBlocked() { + return this.blocked; + } + + /** + * Get the cancelled property: The cancelled property. + * + * @return the cancelled value. + */ + @Generated + public long getCancelled() { + return this.cancelled; + } + + /** + * Get the expired property: The expired property. + * + * @return the expired value. + */ + @Generated + public long getExpired() { + return this.expired; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("total", this.total); + jsonWriter.writeLongField("pending", this.pending); + jsonWriter.writeLongField("in_progress", this.inProgress); + jsonWriter.writeLongField("completed", this.completed); + jsonWriter.writeLongField("failed", this.failed); + jsonWriter.writeLongField("blocked", this.blocked); + jsonWriter.writeLongField("cancelled", this.cancelled); + jsonWriter.writeLongField("expired", this.expired); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignCallJobCounts from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignCallJobCounts 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 TelephonyCampaignCallJobCounts. + */ + @Generated + public static TelephonyCampaignCallJobCounts fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + long total = 0L; + long pending = 0L; + long inProgress = 0L; + long completed = 0L; + long failed = 0L; + long blocked = 0L; + long cancelled = 0L; + long expired = 0L; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("total".equals(fieldName)) { + total = reader.getLong(); + } else if ("pending".equals(fieldName)) { + pending = reader.getLong(); + } else if ("in_progress".equals(fieldName)) { + inProgress = reader.getLong(); + } else if ("completed".equals(fieldName)) { + completed = reader.getLong(); + } else if ("failed".equals(fieldName)) { + failed = reader.getLong(); + } else if ("blocked".equals(fieldName)) { + blocked = reader.getLong(); + } else if ("cancelled".equals(fieldName)) { + cancelled = reader.getLong(); + } else if ("expired".equals(fieldName)) { + expired = reader.getLong(); + } else { + reader.skipChildren(); + } + } + return new TelephonyCampaignCallJobCounts(total, pending, inProgress, completed, failed, blocked, cancelled, + expired); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java new file mode 100644 index 0000000000000..905a0af492f5d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The immutable-configuration lifecycle status of an outbound campaign. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignConfigurationStatus + extends ExpandableStringEnum { + + /** + * Static value draft for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus DRAFT = fromString("draft"); + + /** + * Static value importing for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus IMPORTING = fromString("importing"); + + /** + * Static value validating for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus VALIDATING = fromString("validating"); + + /** + * Static value publishing for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus PUBLISHING = fromString("publishing"); + + /** + * Static value published for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus PUBLISHED = fromString("published"); + + /** + * Static value publish_failed for TelephonyCampaignConfigurationStatus. + */ + @Generated + public static final TelephonyCampaignConfigurationStatus PUBLISH_FAILED = fromString("publish_failed"); + + /** + * Creates a new instance of TelephonyCampaignConfigurationStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignConfigurationStatus() { + } + + /** + * Creates or finds a TelephonyCampaignConfigurationStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignConfigurationStatus. + */ + @Generated + public static TelephonyCampaignConfigurationStatus fromString(String name) { + return fromString(name, TelephonyCampaignConfigurationStatus.class); + } + + /** + * Gets known TelephonyCampaignConfigurationStatus values. + * + * @return known TelephonyCampaignConfigurationStatus values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignConfigurationStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java new file mode 100644 index 0000000000000..a874f88fc327d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * How duplicate recipient keys in an import are handled. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignDuplicateHandling extends ExpandableStringEnum { + + /** + * Reject duplicate recipient keys. + */ + @Generated + public static final TelephonyCampaignDuplicateHandling REJECT = fromString("reject"); + + /** + * Keep each recipient entry, distinguishing duplicates by recipient item key. + */ + @Generated + public static final TelephonyCampaignDuplicateHandling KEEP_EACH = fromString("keep_each"); + + /** + * Merge entries with the same recipient key. + */ + @Generated + public static final TelephonyCampaignDuplicateHandling MERGE = fromString("merge"); + + /** + * Creates a new instance of TelephonyCampaignDuplicateHandling value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignDuplicateHandling() { + } + + /** + * Creates or finds a TelephonyCampaignDuplicateHandling from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignDuplicateHandling. + */ + @Generated + public static TelephonyCampaignDuplicateHandling fromString(String name) { + return fromString(name, TelephonyCampaignDuplicateHandling.class); + } + + /** + * Gets known TelephonyCampaignDuplicateHandling values. + * + * @return known TelephonyCampaignDuplicateHandling values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignDuplicateHandling.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java new file mode 100644 index 0000000000000..168aafc522442 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The execution lifecycle status of a published outbound campaign. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignExecutionStatus extends ExpandableStringEnum { + + /** + * Static value none for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus NONE = fromString("none"); + + /** + * Static value scheduled for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus SCHEDULED = fromString("scheduled"); + + /** + * Static value running for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus RUNNING = fromString("running"); + + /** + * Static value paused for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus PAUSED = fromString("paused"); + + /** + * Static value completed for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus COMPLETED = fromString("completed"); + + /** + * Static value failed for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus FAILED = fromString("failed"); + + /** + * Static value cancelled for TelephonyCampaignExecutionStatus. + */ + @Generated + public static final TelephonyCampaignExecutionStatus CANCELLED = fromString("cancelled"); + + /** + * Creates a new instance of TelephonyCampaignExecutionStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignExecutionStatus() { + } + + /** + * Creates or finds a TelephonyCampaignExecutionStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignExecutionStatus. + */ + @Generated + public static TelephonyCampaignExecutionStatus fromString(String name) { + return fromString(name, TelephonyCampaignExecutionStatus.class); + } + + /** + * Gets known TelephonyCampaignExecutionStatus values. + * + * @return known TelephonyCampaignExecutionStatus values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignExecutionStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java new file mode 100644 index 0000000000000..85ec5495a5c78 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java @@ -0,0 +1,380 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * A durable campaign recipient-import record. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientImport implements JsonSerializable { + + /* + * The id property. + */ + @Generated + private final String id; + + /* + * The object property. + */ + @Generated + private final String object = "telephony.campaign.recipient_import"; + + /* + * The campaign_id property. + */ + @Generated + private final String campaignId; + + /* + * The status property. + */ + @Generated + private final TelephonyCampaignRecipientImportStatus status; + + /* + * The source property. + */ + @Generated + private final TelephonyCampaignRecipientImportSource source; + + /* + * The mapping property. + */ + @Generated + private TelephonyCampaignRecipientMapping mapping; + + /* + * The duplicate_handling property. + */ + @Generated + private final TelephonyCampaignDuplicateHandling duplicateHandling; + + /* + * The rows_processed property. + */ + @Generated + private final long rowsProcessed; + + /* + * The eligible_recipient_count property. + */ + @Generated + private final long eligibleRecipientCount; + + /* + * The invalid_recipient_count property. + */ + @Generated + private final long invalidRecipientCount; + + /* + * The error_code property. + */ + @Generated + private String errorCode; + + /* + * The error_message property. + */ + @Generated + private String errorMessage; + + /* + * The created_at property. + */ + @Generated + private final long createdAt; + + /* + * The updated_at property. + */ + @Generated + private final long updatedAt; + + /** + * Creates an instance of TelephonyCampaignRecipientImport class. + * + * @param id the id value to set. + * @param campaignId the campaignId value to set. + * @param status the status value to set. + * @param source the source value to set. + * @param duplicateHandling the duplicateHandling value to set. + * @param rowsProcessed the rowsProcessed value to set. + * @param eligibleRecipientCount the eligibleRecipientCount value to set. + * @param invalidRecipientCount the invalidRecipientCount value to set. + * @param createdAt the createdAt value to set. + * @param updatedAt the updatedAt value to set. + */ + @Generated + private TelephonyCampaignRecipientImport(String id, String campaignId, + TelephonyCampaignRecipientImportStatus status, TelephonyCampaignRecipientImportSource source, + TelephonyCampaignDuplicateHandling duplicateHandling, long rowsProcessed, long eligibleRecipientCount, + long invalidRecipientCount, OffsetDateTime createdAt, OffsetDateTime updatedAt) { + this.id = id; + this.campaignId = campaignId; + this.status = status; + this.source = source; + this.duplicateHandling = duplicateHandling; + this.rowsProcessed = rowsProcessed; + this.eligibleRecipientCount = eligibleRecipientCount; + this.invalidRecipientCount = invalidRecipientCount; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + if (updatedAt == null) { + this.updatedAt = 0L; + } else { + this.updatedAt = updatedAt.toEpochSecond(); + } + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object property. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the campaignId property: The campaign_id property. + * + * @return the campaignId value. + */ + @Generated + public String getCampaignId() { + return this.campaignId; + } + + /** + * Get the status property: The status property. + * + * @return the status value. + */ + @Generated + public TelephonyCampaignRecipientImportStatus getStatus() { + return this.status; + } + + /** + * Get the source property: The source property. + * + * @return the source value. + */ + @Generated + public TelephonyCampaignRecipientImportSource getSource() { + return this.source; + } + + /** + * Get the mapping property: The mapping property. + * + * @return the mapping value. + */ + @Generated + public TelephonyCampaignRecipientMapping getMapping() { + return this.mapping; + } + + /** + * Get the duplicateHandling property: The duplicate_handling property. + * + * @return the duplicateHandling value. + */ + @Generated + public TelephonyCampaignDuplicateHandling getDuplicateHandling() { + return this.duplicateHandling; + } + + /** + * Get the rowsProcessed property: The rows_processed property. + * + * @return the rowsProcessed value. + */ + @Generated + public long getRowsProcessed() { + return this.rowsProcessed; + } + + /** + * Get the eligibleRecipientCount property: The eligible_recipient_count property. + * + * @return the eligibleRecipientCount value. + */ + @Generated + public long getEligibleRecipientCount() { + return this.eligibleRecipientCount; + } + + /** + * Get the invalidRecipientCount property: The invalid_recipient_count property. + * + * @return the invalidRecipientCount value. + */ + @Generated + public long getInvalidRecipientCount() { + return this.invalidRecipientCount; + } + + /** + * Get the errorCode property: The error_code property. + * + * @return the errorCode value. + */ + @Generated + public String getErrorCode() { + return this.errorCode; + } + + /** + * Get the errorMessage property: The error_message property. + * + * @return the errorMessage value. + */ + @Generated + public String getErrorMessage() { + return this.errorMessage; + } + + /** + * Get the createdAt property: The created_at property. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the updatedAt property: The updated_at property. + * + * @return the updatedAt value. + */ + @Generated + public OffsetDateTime getUpdatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("campaign_id", this.campaignId); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeJsonField("source", this.source); + jsonWriter.writeStringField("duplicate_handling", + this.duplicateHandling == null ? null : this.duplicateHandling.toString()); + jsonWriter.writeLongField("rows_processed", this.rowsProcessed); + jsonWriter.writeLongField("eligible_recipient_count", this.eligibleRecipientCount); + jsonWriter.writeLongField("invalid_recipient_count", this.invalidRecipientCount); + jsonWriter.writeLongField("created_at", this.createdAt); + jsonWriter.writeLongField("updated_at", this.updatedAt); + jsonWriter.writeJsonField("mapping", this.mapping); + jsonWriter.writeStringField("error_code", this.errorCode); + jsonWriter.writeStringField("error_message", this.errorMessage); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignRecipientImport from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignRecipientImport 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 TelephonyCampaignRecipientImport. + */ + @Generated + public static TelephonyCampaignRecipientImport fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String campaignId = null; + TelephonyCampaignRecipientImportStatus status = null; + TelephonyCampaignRecipientImportSource source = null; + TelephonyCampaignDuplicateHandling duplicateHandling = null; + long rowsProcessed = 0L; + long eligibleRecipientCount = 0L; + long invalidRecipientCount = 0L; + OffsetDateTime createdAt = null; + OffsetDateTime updatedAt = null; + TelephonyCampaignRecipientMapping mapping = null; + String errorCode = null; + String errorMessage = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("campaign_id".equals(fieldName)) { + campaignId = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyCampaignRecipientImportStatus.fromString(reader.getString()); + } else if ("source".equals(fieldName)) { + source = TelephonyCampaignRecipientImportSource.fromJson(reader); + } else if ("duplicate_handling".equals(fieldName)) { + duplicateHandling = TelephonyCampaignDuplicateHandling.fromString(reader.getString()); + } else if ("rows_processed".equals(fieldName)) { + rowsProcessed = reader.getLong(); + } else if ("eligible_recipient_count".equals(fieldName)) { + eligibleRecipientCount = reader.getLong(); + } else if ("invalid_recipient_count".equals(fieldName)) { + invalidRecipientCount = reader.getLong(); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("updated_at".equals(fieldName)) { + updatedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("mapping".equals(fieldName)) { + mapping = TelephonyCampaignRecipientMapping.fromJson(reader); + } else if ("error_code".equals(fieldName)) { + errorCode = reader.getString(); + } else if ("error_message".equals(fieldName)) { + errorMessage = reader.getString(); + } else { + reader.skipChildren(); + } + } + TelephonyCampaignRecipientImport deserializedTelephonyCampaignRecipientImport + = new TelephonyCampaignRecipientImport(id, campaignId, status, source, duplicateHandling, rowsProcessed, + eligibleRecipientCount, invalidRecipientCount, createdAt, updatedAt); + deserializedTelephonyCampaignRecipientImport.mapping = mapping; + deserializedTelephonyCampaignRecipientImport.errorCode = errorCode; + deserializedTelephonyCampaignRecipientImport.errorMessage = errorMessage; + return deserializedTelephonyCampaignRecipientImport; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java new file mode 100644 index 0000000000000..30a3c0249251f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A supported Dataset recipient file format. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientImportFormat + extends ExpandableStringEnum { + + /** + * A comma-separated values file. + */ + @Generated + public static final TelephonyCampaignRecipientImportFormat CSV = fromString("csv"); + + /** + * A JSON file containing an array of recipient objects. + */ + @Generated + public static final TelephonyCampaignRecipientImportFormat JSON = fromString("json"); + + /** + * A JSON Lines file containing one recipient object per line. + */ + @Generated + public static final TelephonyCampaignRecipientImportFormat JSONL = fromString("jsonl"); + + /** + * Creates a new instance of TelephonyCampaignRecipientImportFormat value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignRecipientImportFormat() { + } + + /** + * Creates or finds a TelephonyCampaignRecipientImportFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignRecipientImportFormat. + */ + @Generated + public static TelephonyCampaignRecipientImportFormat fromString(String name) { + return fromString(name, TelephonyCampaignRecipientImportFormat.class); + } + + /** + * Gets known TelephonyCampaignRecipientImportFormat values. + * + * @return known TelephonyCampaignRecipientImportFormat values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignRecipientImportFormat.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java new file mode 100644 index 0000000000000..889c3360f501a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A Dataset source for campaign recipient import. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientImportSource + implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private final String type = "dataset"; + + /* + * The dataset_name property. + */ + @Generated + private final String datasetName; + + /* + * The dataset_version property. + */ + @Generated + private final String datasetVersion; + + /* + * A relative path to a CSV, JSON array, or JSONL file in the Dataset version. + */ + @Generated + private final String fileName; + + /* + * The format property. + */ + @Generated + private final TelephonyCampaignRecipientImportFormat format; + + /** + * Creates an instance of TelephonyCampaignRecipientImportSource class. + * + * @param datasetName the datasetName value to set. + * @param datasetVersion the datasetVersion value to set. + * @param fileName the fileName value to set. + * @param format the format value to set. + */ + @Generated + public TelephonyCampaignRecipientImportSource(String datasetName, String datasetVersion, String fileName, + TelephonyCampaignRecipientImportFormat format) { + this.datasetName = datasetName; + this.datasetVersion = datasetVersion; + this.fileName = fileName; + this.format = format; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the datasetName property: The dataset_name property. + * + * @return the datasetName value. + */ + @Generated + public String getDatasetName() { + return this.datasetName; + } + + /** + * Get the datasetVersion property: The dataset_version property. + * + * @return the datasetVersion value. + */ + @Generated + public String getDatasetVersion() { + return this.datasetVersion; + } + + /** + * Get the fileName property: A relative path to a CSV, JSON array, or JSONL file in the Dataset version. + * + * @return the fileName value. + */ + @Generated + public String getFileName() { + return this.fileName; + } + + /** + * Get the format property: The format property. + * + * @return the format value. + */ + @Generated + public TelephonyCampaignRecipientImportFormat getFormat() { + return this.format; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("dataset_name", this.datasetName); + jsonWriter.writeStringField("dataset_version", this.datasetVersion); + jsonWriter.writeStringField("file_name", this.fileName); + jsonWriter.writeStringField("format", this.format == null ? null : this.format.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignRecipientImportSource from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignRecipientImportSource 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 TelephonyCampaignRecipientImportSource. + */ + @Generated + public static TelephonyCampaignRecipientImportSource fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String datasetName = null; + String datasetVersion = null; + String fileName = null; + TelephonyCampaignRecipientImportFormat format = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("dataset_name".equals(fieldName)) { + datasetName = reader.getString(); + } else if ("dataset_version".equals(fieldName)) { + datasetVersion = reader.getString(); + } else if ("file_name".equals(fieldName)) { + fileName = reader.getString(); + } else if ("format".equals(fieldName)) { + format = TelephonyCampaignRecipientImportFormat.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return new TelephonyCampaignRecipientImportSource(datasetName, datasetVersion, fileName, format); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java new file mode 100644 index 0000000000000..47a113a60e908 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of a campaign recipient import. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientImportStatus + extends ExpandableStringEnum { + + /** + * Static value running for TelephonyCampaignRecipientImportStatus. + */ + @Generated + public static final TelephonyCampaignRecipientImportStatus RUNNING = fromString("running"); + + /** + * Static value succeeded for TelephonyCampaignRecipientImportStatus. + */ + @Generated + public static final TelephonyCampaignRecipientImportStatus SUCCEEDED = fromString("succeeded"); + + /** + * Static value failed for TelephonyCampaignRecipientImportStatus. + */ + @Generated + public static final TelephonyCampaignRecipientImportStatus FAILED = fromString("failed"); + + /** + * Creates a new instance of TelephonyCampaignRecipientImportStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignRecipientImportStatus() { + } + + /** + * Creates or finds a TelephonyCampaignRecipientImportStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignRecipientImportStatus. + */ + @Generated + public static TelephonyCampaignRecipientImportStatus fromString(String name) { + return fromString(name, TelephonyCampaignRecipientImportStatus.class); + } + + /** + * Gets known TelephonyCampaignRecipientImportStatus values. + * + * @return known TelephonyCampaignRecipientImportStatus values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignRecipientImportStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java new file mode 100644 index 0000000000000..6bd3ed1ca7d9e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java @@ -0,0 +1,184 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Source fields or CSV columns mapped into each campaign recipient. Every unmapped CSV column or JSON/JSONL top-level + * property becomes a same-named structured input. CSV cells are preserved as strings until Agent-declared inputs are + * parsed according to their schemas; additional inputs remain strings. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientMapping implements JsonSerializable { + + /* + * The source field containing the destination E.164 phone number. Defaults to `destination`. The source field is + * required for each recipient. + */ + @Generated + private final String destination; + + /* + * The source field containing the recipient key. Defaults to `recipient_key`. The source field is required for each + * recipient. + */ + @Generated + private final String recipientKey; + + /* + * The source field containing the recipient item key. Defaults to `recipient_item_key`. The source field is + * required when `duplicate_handling` is `keep_each`; otherwise it may be absent. + */ + @Generated + private String recipientItemKey; + + /* + * The source field containing the earliest dispatch time as a Unix timestamp in seconds. Defaults to `not_before`. + * If the source field is absent, no per-recipient start bound is applied. + */ + @Generated + private String notBefore; + + /* + * The source field containing the expiry time as a Unix timestamp in seconds. Defaults to `expires_at`. If the + * source field is absent, no per-recipient expiry bound is applied. + */ + @Generated + private String expiresAt; + + /** + * Creates an instance of TelephonyCampaignRecipientMapping class. + * + * @param destination the destination value to set. + * @param recipientKey the recipientKey value to set. + */ + @Generated + private TelephonyCampaignRecipientMapping(String destination, String recipientKey) { + this.destination = destination; + this.recipientKey = recipientKey; + } + + /** + * Get the destination property: The source field containing the destination E.164 phone number. Defaults to + * `destination`. The source field is required for each recipient. + * + * @return the destination value. + */ + @Generated + public String getDestination() { + return this.destination; + } + + /** + * Get the recipientKey property: The source field containing the recipient key. Defaults to `recipient_key`. The + * source field is required for each recipient. + * + * @return the recipientKey value. + */ + @Generated + public String getRecipientKey() { + return this.recipientKey; + } + + /** + * Get the recipientItemKey property: The source field containing the recipient item key. Defaults to + * `recipient_item_key`. The source field is required when `duplicate_handling` is `keep_each`; otherwise it may be + * absent. + * + * @return the recipientItemKey value. + */ + @Generated + public String getRecipientItemKey() { + return this.recipientItemKey; + } + + /** + * Get the notBefore property: The source field containing the earliest dispatch time as a Unix timestamp in + * seconds. Defaults to `not_before`. If the source field is absent, no per-recipient start bound is applied. + * + * @return the notBefore value. + */ + @Generated + public String getNotBefore() { + return this.notBefore; + } + + /** + * Get the expiresAt property: The source field containing the expiry time as a Unix timestamp in seconds. Defaults + * to `expires_at`. If the source field is absent, no per-recipient expiry bound is applied. + * + * @return the expiresAt value. + */ + @Generated + public String getExpiresAt() { + return this.expiresAt; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("destination", this.destination); + jsonWriter.writeStringField("recipient_key", this.recipientKey); + jsonWriter.writeStringField("recipient_item_key", this.recipientItemKey); + jsonWriter.writeStringField("not_before", this.notBefore); + jsonWriter.writeStringField("expires_at", this.expiresAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignRecipientMapping from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignRecipientMapping 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 TelephonyCampaignRecipientMapping. + */ + @Generated + public static TelephonyCampaignRecipientMapping fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String destination = null; + String recipientKey = null; + String recipientItemKey = null; + String notBefore = null; + String expiresAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("destination".equals(fieldName)) { + destination = reader.getString(); + } else if ("recipient_key".equals(fieldName)) { + recipientKey = reader.getString(); + } else if ("recipient_item_key".equals(fieldName)) { + recipientItemKey = reader.getString(); + } else if ("not_before".equals(fieldName)) { + notBefore = reader.getString(); + } else if ("expires_at".equals(fieldName)) { + expiresAt = reader.getString(); + } else { + reader.skipChildren(); + } + } + TelephonyCampaignRecipientMapping deserializedTelephonyCampaignRecipientMapping + = new TelephonyCampaignRecipientMapping(destination, recipientKey); + deserializedTelephonyCampaignRecipientMapping.recipientItemKey = recipientItemKey; + deserializedTelephonyCampaignRecipientMapping.notBefore = notBefore; + deserializedTelephonyCampaignRecipientMapping.expiresAt = expiresAt; + return deserializedTelephonyCampaignRecipientMapping; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java new file mode 100644 index 0000000000000..89822d3c49a18 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java @@ -0,0 +1,235 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Optional source-field mappings for a recipient import. Each omitted entry uses its same-named source field. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignRecipientMappingRequest + implements JsonSerializable { + + /* + * The source field containing the destination E.164 phone number. Defaults to `destination`. The source field is + * required for each recipient. + */ + @Generated + private String destination; + + /* + * The source field containing the recipient key. Defaults to `recipient_key`. The source field is required for each + * recipient. + */ + @Generated + private String recipientKey; + + /* + * The source field containing the recipient item key. Defaults to `recipient_item_key`. The source field is + * required when `duplicate_handling` is `keep_each`; otherwise it may be absent. + */ + @Generated + private String recipientItemKey; + + /* + * The source field containing the earliest dispatch time as a Unix timestamp in seconds. Defaults to `not_before`. + * If the source field is absent, no per-recipient start bound is applied. + */ + @Generated + private String notBefore; + + /* + * The source field containing the expiry time as a Unix timestamp in seconds. Defaults to `expires_at`. If the + * source field is absent, no per-recipient expiry bound is applied. + */ + @Generated + private String expiresAt; + + /** + * Creates an instance of TelephonyCampaignRecipientMappingRequest class. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest() { + } + + /** + * Get the destination property: The source field containing the destination E.164 phone number. Defaults to + * `destination`. The source field is required for each recipient. + * + * @return the destination value. + */ + @Generated + public String getDestination() { + return this.destination; + } + + /** + * Set the destination property: The source field containing the destination E.164 phone number. Defaults to + * `destination`. The source field is required for each recipient. + * + * @param destination the destination value to set. + * @return the TelephonyCampaignRecipientMappingRequest object itself. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest setDestination(String destination) { + this.destination = destination; + return this; + } + + /** + * Get the recipientKey property: The source field containing the recipient key. Defaults to `recipient_key`. The + * source field is required for each recipient. + * + * @return the recipientKey value. + */ + @Generated + public String getRecipientKey() { + return this.recipientKey; + } + + /** + * Set the recipientKey property: The source field containing the recipient key. Defaults to `recipient_key`. The + * source field is required for each recipient. + * + * @param recipientKey the recipientKey value to set. + * @return the TelephonyCampaignRecipientMappingRequest object itself. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest setRecipientKey(String recipientKey) { + this.recipientKey = recipientKey; + return this; + } + + /** + * Get the recipientItemKey property: The source field containing the recipient item key. Defaults to + * `recipient_item_key`. The source field is required when `duplicate_handling` is `keep_each`; otherwise it may be + * absent. + * + * @return the recipientItemKey value. + */ + @Generated + public String getRecipientItemKey() { + return this.recipientItemKey; + } + + /** + * Set the recipientItemKey property: The source field containing the recipient item key. Defaults to + * `recipient_item_key`. The source field is required when `duplicate_handling` is `keep_each`; otherwise it may be + * absent. + * + * @param recipientItemKey the recipientItemKey value to set. + * @return the TelephonyCampaignRecipientMappingRequest object itself. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest setRecipientItemKey(String recipientItemKey) { + this.recipientItemKey = recipientItemKey; + return this; + } + + /** + * Get the notBefore property: The source field containing the earliest dispatch time as a Unix timestamp in + * seconds. Defaults to `not_before`. If the source field is absent, no per-recipient start bound is applied. + * + * @return the notBefore value. + */ + @Generated + public String getNotBefore() { + return this.notBefore; + } + + /** + * Set the notBefore property: The source field containing the earliest dispatch time as a Unix timestamp in + * seconds. Defaults to `not_before`. If the source field is absent, no per-recipient start bound is applied. + * + * @param notBefore the notBefore value to set. + * @return the TelephonyCampaignRecipientMappingRequest object itself. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest setNotBefore(String notBefore) { + this.notBefore = notBefore; + return this; + } + + /** + * Get the expiresAt property: The source field containing the expiry time as a Unix timestamp in seconds. Defaults + * to `expires_at`. If the source field is absent, no per-recipient expiry bound is applied. + * + * @return the expiresAt value. + */ + @Generated + public String getExpiresAt() { + return this.expiresAt; + } + + /** + * Set the expiresAt property: The source field containing the expiry time as a Unix timestamp in seconds. Defaults + * to `expires_at`. If the source field is absent, no per-recipient expiry bound is applied. + * + * @param expiresAt the expiresAt value to set. + * @return the TelephonyCampaignRecipientMappingRequest object itself. + */ + @Generated + public TelephonyCampaignRecipientMappingRequest setExpiresAt(String expiresAt) { + this.expiresAt = expiresAt; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("destination", this.destination); + jsonWriter.writeStringField("recipient_key", this.recipientKey); + jsonWriter.writeStringField("recipient_item_key", this.recipientItemKey); + jsonWriter.writeStringField("not_before", this.notBefore); + jsonWriter.writeStringField("expires_at", this.expiresAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignRecipientMappingRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignRecipientMappingRequest 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 TelephonyCampaignRecipientMappingRequest. + */ + @Generated + public static TelephonyCampaignRecipientMappingRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyCampaignRecipientMappingRequest deserializedTelephonyCampaignRecipientMappingRequest + = new TelephonyCampaignRecipientMappingRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("destination".equals(fieldName)) { + deserializedTelephonyCampaignRecipientMappingRequest.destination = reader.getString(); + } else if ("recipient_key".equals(fieldName)) { + deserializedTelephonyCampaignRecipientMappingRequest.recipientKey = reader.getString(); + } else if ("recipient_item_key".equals(fieldName)) { + deserializedTelephonyCampaignRecipientMappingRequest.recipientItemKey = reader.getString(); + } else if ("not_before".equals(fieldName)) { + deserializedTelephonyCampaignRecipientMappingRequest.notBefore = reader.getString(); + } else if ("expires_at".equals(fieldName)) { + deserializedTelephonyCampaignRecipientMappingRequest.expiresAt = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedTelephonyCampaignRecipientMappingRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java new file mode 100644 index 0000000000000..eb6ce2d401aa8 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * The schedule for an outbound campaign. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignSchedule implements JsonSerializable { + + /* + * Whether calls are eligible immediately after publication or at a future instant. + */ + @Generated + private final TelephonyCampaignScheduleType type; + + /* + * The scheduled start instant. Required only when `type` is `scheduled`. + */ + @Generated + private Long startAt; + + /** + * Creates an instance of TelephonyCampaignSchedule class. + * + * @param type the type value to set. + */ + @Generated + public TelephonyCampaignSchedule(TelephonyCampaignScheduleType type) { + this.type = type; + } + + /** + * Get the type property: Whether calls are eligible immediately after publication or at a future instant. + * + * @return the type value. + */ + @Generated + public TelephonyCampaignScheduleType getType() { + return this.type; + } + + /** + * Get the startAt property: The scheduled start instant. Required only when `type` is `scheduled`. + * + * @return the startAt value. + */ + @Generated + public OffsetDateTime getStartAt() { + if (this.startAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.startAt), ZoneOffset.UTC); + } + + /** + * Set the startAt property: The scheduled start instant. Required only when `type` is `scheduled`. + * + * @param startAt the startAt value to set. + * @return the TelephonyCampaignSchedule object itself. + */ + @Generated + public TelephonyCampaignSchedule setStartAt(OffsetDateTime startAt) { + if (startAt == null) { + this.startAt = null; + } else { + this.startAt = startAt.toEpochSecond(); + } + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("start_at", this.startAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyCampaignSchedule from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyCampaignSchedule 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 TelephonyCampaignSchedule. + */ + @Generated + public static TelephonyCampaignSchedule fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyCampaignScheduleType type = null; + Long startAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = TelephonyCampaignScheduleType.fromString(reader.getString()); + } else if ("start_at".equals(fieldName)) { + startAt = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + TelephonyCampaignSchedule deserializedTelephonyCampaignSchedule = new TelephonyCampaignSchedule(type); + deserializedTelephonyCampaignSchedule.startAt = startAt; + return deserializedTelephonyCampaignSchedule; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java new file mode 100644 index 0000000000000..39a2fe54bf46d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * When a published outbound campaign becomes eligible to dispatch calls. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyCampaignScheduleType extends ExpandableStringEnum { + + /** + * Calls are eligible immediately after publication. + */ + @Generated + public static final TelephonyCampaignScheduleType IMMEDIATE = fromString("immediate"); + + /** + * Calls are eligible at the scheduled start instant. + */ + @Generated + public static final TelephonyCampaignScheduleType SCHEDULED = fromString("scheduled"); + + /** + * Creates a new instance of TelephonyCampaignScheduleType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyCampaignScheduleType() { + } + + /** + * Creates or finds a TelephonyCampaignScheduleType from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyCampaignScheduleType. + */ + @Generated + public static TelephonyCampaignScheduleType fromString(String name) { + return fromString(name, TelephonyCampaignScheduleType.class); + } + + /** + * Gets known TelephonyCampaignScheduleType values. + * + * @return known TelephonyCampaignScheduleType values. + */ + @Generated + public static Collection values() { + return values(TelephonyCampaignScheduleType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperation.java new file mode 100644 index 0000000000000..6381540439003 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperation.java @@ -0,0 +1,193 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * An asynchronous outbound telephony operation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOperation implements JsonSerializable { + + /* + * The id property. + */ + @Generated + private final String id; + + /* + * The object property. + */ + @Generated + private final String object = "telephony.operation"; + + /* + * The status property. + */ + @Generated + private final TelephonyOperationStatus status; + + /* + * The created_at property. + */ + @Generated + private Long createdAt; + + /* + * The error property. + */ + @Generated + private ApiError error; + + /* + * The resource property. + */ + @Generated + private TelephonyOperationResource resource; + + /** + * Creates an instance of TelephonyOperation class. + * + * @param id the id value to set. + * @param status the status value to set. + */ + @Generated + private TelephonyOperation(String id, TelephonyOperationStatus status) { + this.id = id; + this.status = status; + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object property. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the status property: The status property. + * + * @return the status value. + */ + @Generated + public TelephonyOperationStatus getStatus() { + return this.status; + } + + /** + * Get the createdAt property: The created_at property. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + if (this.createdAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the error property: The error property. + * + * @return the error value. + */ + @Generated + public ApiError getError() { + return this.error; + } + + /** + * Get the resource property: The resource property. + * + * @return the resource value. + */ + @Generated + public TelephonyOperationResource getResource() { + return this.resource; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeNumberField("created_at", this.createdAt); + jsonWriter.writeJsonField("error", this.error); + jsonWriter.writeJsonField("resource", this.resource); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOperation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOperation 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 TelephonyOperation. + */ + @Generated + public static TelephonyOperation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + TelephonyOperationStatus status = null; + Long createdAt = null; + ApiError error = null; + TelephonyOperationResource resource = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyOperationStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("error".equals(fieldName)) { + error = ApiError.fromJson(reader); + } else if ("resource".equals(fieldName)) { + resource = TelephonyOperationResource.fromJson(reader); + } else { + reader.skipChildren(); + } + } + TelephonyOperation deserializedTelephonyOperation = new TelephonyOperation(id, status); + deserializedTelephonyOperation.createdAt = createdAt; + deserializedTelephonyOperation.error = error; + deserializedTelephonyOperation.resource = resource; + return deserializedTelephonyOperation; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java new file mode 100644 index 0000000000000..fd9670af6b745 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A resource produced by a successful outbound telephony operation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOperationResource implements JsonSerializable { + + /* + * The id property. + */ + @Generated + private final String id; + + /* + * The type property. + */ + @Generated + private final String type; + + /** + * Creates an instance of TelephonyOperationResource class. + * + * @param id the id value to set. + * @param type the type value to set. + */ + @Generated + private TelephonyOperationResource(String id, String type) { + this.id = id; + this.type = type; + } + + /** + * Get the id property: The id property. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOperationResource from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOperationResource 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 TelephonyOperationResource. + */ + @Generated + public static TelephonyOperationResource fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String type = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new TelephonyOperationResource(id, type); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java new file mode 100644 index 0000000000000..c194d13971cf4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of an outbound telephony operation. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOperationStatus extends ExpandableStringEnum { + + /** + * Static value not_started for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus NOT_STARTED = fromString("not_started"); + + /** + * Static value running for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus RUNNING = fromString("running"); + + /** + * Static value succeeded for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus SUCCEEDED = fromString("succeeded"); + + /** + * Static value failed for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus FAILED = fromString("failed"); + + /** + * Static value cancelled for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus CANCELLED = fromString("cancelled"); + + /** + * Static value unknown for TelephonyOperationStatus. + */ + @Generated + public static final TelephonyOperationStatus UNKNOWN_STATUS = fromString("unknown"); + + /** + * Creates a new instance of TelephonyOperationStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyOperationStatus() { + } + + /** + * Creates or finds a TelephonyOperationStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyOperationStatus. + */ + @Generated + public static TelephonyOperationStatus fromString(String name) { + return fromString(name, TelephonyOperationStatus.class); + } + + /** + * Gets known TelephonyOperationStatus values. + * + * @return known TelephonyOperationStatus values. + */ + @Generated + public static Collection values() { + return values(TelephonyOperationStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java new file mode 100644 index 0000000000000..3ba5e7e350e36 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The destination of an outbound call. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOutboundDestination implements JsonSerializable { + + /* + * The destination type. Only E.164 phone numbers are currently supported. + */ + @Generated + private final TelephonyOutboundDestinationType type; + + /* + * The destination E.164 phone number. + */ + @Generated + private final String value; + + /** + * Creates an instance of TelephonyOutboundDestination class. + * + * @param type the type value to set. + * @param value the value value to set. + */ + @Generated + public TelephonyOutboundDestination(TelephonyOutboundDestinationType type, String value) { + this.type = type; + this.value = value; + } + + /** + * Get the type property: The destination type. Only E.164 phone numbers are currently supported. + * + * @return the type value. + */ + @Generated + public TelephonyOutboundDestinationType getType() { + return this.type; + } + + /** + * Get the value property: The destination E.164 phone number. + * + * @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("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("value", this.value); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOutboundDestination from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOutboundDestination 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 TelephonyOutboundDestination. + */ + @Generated + public static TelephonyOutboundDestination fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyOutboundDestinationType type = null; + String value = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = TelephonyOutboundDestinationType.fromString(reader.getString()); + } else if ("value".equals(fieldName)) { + value = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new TelephonyOutboundDestination(type, value); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java new file mode 100644 index 0000000000000..da9a0c716bac0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The type of destination for an outbound call. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOutboundDestinationType extends ExpandableStringEnum { + + /** + * An E.164 phone number. + */ + @Generated + public static final TelephonyOutboundDestinationType PHONE_NUMBER = fromString("phone_number"); + + /** + * Creates a new instance of TelephonyOutboundDestinationType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyOutboundDestinationType() { + } + + /** + * Creates or finds a TelephonyOutboundDestinationType from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyOutboundDestinationType. + */ + @Generated + public static TelephonyOutboundDestinationType fromString(String name) { + return fromString(name, TelephonyOutboundDestinationType.class); + } + + /** + * Gets known TelephonyOutboundDestinationType values. + * + * @return known TelephonyOutboundDestinationType values. + */ + @Generated + public static Collection values() { + return values(TelephonyOutboundDestinationType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java new file mode 100644 index 0000000000000..e1b715977580a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java @@ -0,0 +1,139 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * A retry policy with a fixed interval between outbound call attempts. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOutboundFixedIntervalRetryPolicy extends TelephonyOutboundRetryPolicy { + + /* + * The retry strategy. Only fixed-interval retries are currently supported. + */ + @Generated + private TelephonyOutboundRetryPolicyType type = TelephonyOutboundRetryPolicyType.FIXED_INTERVAL; + + /* + * The fixed delay in seconds between attempts. It must be 0 when `max_attempts` is 1, and from 60 through 86400 + * when retries are enabled. + */ + @Generated + private Long interval; + + /** + * Creates an instance of TelephonyOutboundFixedIntervalRetryPolicy class. + */ + @Generated + public TelephonyOutboundFixedIntervalRetryPolicy() { + } + + /** + * Get the type property: The retry strategy. Only fixed-interval retries are currently supported. + * + * @return the type value. + */ + @Generated + @Override + public TelephonyOutboundRetryPolicyType getType() { + return this.type; + } + + /** + * Get the interval property: The fixed delay in seconds between attempts. It must be 0 when `max_attempts` is 1, + * and from 60 through 86400 when retries are enabled. + * + * @return the interval value. + */ + @Generated + public Duration getInterval() { + if (this.interval == null) { + return null; + } + return Duration.ofSeconds(this.interval); + } + + /** + * Set the interval property: The fixed delay in seconds between attempts. It must be 0 when `max_attempts` is 1, + * and from 60 through 86400 when retries are enabled. + * + * @param interval the interval value to set. + * @return the TelephonyOutboundFixedIntervalRetryPolicy object itself. + */ + @Generated + public TelephonyOutboundFixedIntervalRetryPolicy setInterval(Duration interval) { + if (interval == null) { + this.interval = null; + } else { + this.interval = interval.getSeconds(); + } + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public TelephonyOutboundFixedIntervalRetryPolicy setMaxAttempts(Integer maxAttempts) { + super.setMaxAttempts(maxAttempts); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("max_attempts", getMaxAttempts()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("interval", this.interval); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOutboundFixedIntervalRetryPolicy from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOutboundFixedIntervalRetryPolicy 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 TelephonyOutboundFixedIntervalRetryPolicy. + */ + @Generated + public static TelephonyOutboundFixedIntervalRetryPolicy fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyOutboundFixedIntervalRetryPolicy deserializedTelephonyOutboundFixedIntervalRetryPolicy + = new TelephonyOutboundFixedIntervalRetryPolicy(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("max_attempts".equals(fieldName)) { + deserializedTelephonyOutboundFixedIntervalRetryPolicy + .setMaxAttempts(reader.getNullable(JsonReader::getInt)); + } else if ("type".equals(fieldName)) { + deserializedTelephonyOutboundFixedIntervalRetryPolicy.type + = TelephonyOutboundRetryPolicyType.fromString(reader.getString()); + } else if ("interval".equals(fieldName)) { + deserializedTelephonyOutboundFixedIntervalRetryPolicy.interval + = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedTelephonyOutboundFixedIntervalRetryPolicy; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java new file mode 100644 index 0000000000000..9fbc907075641 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java @@ -0,0 +1,118 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * The frozen fixed-interval retry policy returned for an outbound call or campaign. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOutboundFixedIntervalRetryPolicyResponse extends TelephonyOutboundRetryPolicyResponse { + + /* + * The retry strategy. + */ + @Generated + private TelephonyOutboundRetryPolicyType type = TelephonyOutboundRetryPolicyType.FIXED_INTERVAL; + + /* + * The fixed delay in seconds between attempts. + */ + @Generated + private final long interval; + + /** + * Creates an instance of TelephonyOutboundFixedIntervalRetryPolicyResponse class. + * + * @param maxAttempts the maxAttempts value to set. + * @param interval the interval value to set. + */ + @Generated + private TelephonyOutboundFixedIntervalRetryPolicyResponse(int maxAttempts, Duration interval) { + super(maxAttempts); + if (interval == null) { + this.interval = 0L; + } else { + this.interval = interval.getSeconds(); + } + } + + /** + * Get the type property: The retry strategy. + * + * @return the type value. + */ + @Generated + @Override + public TelephonyOutboundRetryPolicyType getType() { + return this.type; + } + + /** + * Get the interval property: The fixed delay in seconds between attempts. + * + * @return the interval value. + */ + @Generated + public Duration getInterval() { + return Duration.ofSeconds(this.interval); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("max_attempts", getMaxAttempts()); + jsonWriter.writeLongField("interval", this.interval); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOutboundFixedIntervalRetryPolicyResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOutboundFixedIntervalRetryPolicyResponse 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 TelephonyOutboundFixedIntervalRetryPolicyResponse. + */ + @Generated + public static TelephonyOutboundFixedIntervalRetryPolicyResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int maxAttempts = 0; + Duration interval = null; + TelephonyOutboundRetryPolicyType type = TelephonyOutboundRetryPolicyType.FIXED_INTERVAL; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("max_attempts".equals(fieldName)) { + maxAttempts = reader.getInt(); + } else if ("interval".equals(fieldName)) { + interval = Duration.ofSeconds(reader.getLong()); + } else if ("type".equals(fieldName)) { + type = TelephonyOutboundRetryPolicyType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TelephonyOutboundFixedIntervalRetryPolicyResponse deserializedTelephonyOutboundFixedIntervalRetryPolicyResponse + = new TelephonyOutboundFixedIntervalRetryPolicyResponse(maxAttempts, interval); + deserializedTelephonyOutboundFixedIntervalRetryPolicyResponse.type = type; + return deserializedTelephonyOutboundFixedIntervalRetryPolicyResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java new file mode 100644 index 0000000000000..b68135f60160d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java @@ -0,0 +1,143 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The retry policy for one durable outbound call intent. `max_attempts` includes the first attempt. Strategy-specific + * settings are defined by the derived policy. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class TelephonyOutboundRetryPolicy implements JsonSerializable { + + /* + * The retry strategy. Only fixed-interval retries are currently supported. + */ + @Generated + private TelephonyOutboundRetryPolicyType type + = TelephonyOutboundRetryPolicyType.fromString("TelephonyOutboundRetryPolicy"); + + /* + * The maximum number of provider attempts, including the first attempt. Defaults to 1. + */ + @Generated + private Integer maxAttempts; + + /** + * Creates an instance of TelephonyOutboundRetryPolicy class. + */ + @Generated + public TelephonyOutboundRetryPolicy() { + } + + /** + * Get the type property: The retry strategy. Only fixed-interval retries are currently supported. + * + * @return the type value. + */ + @Generated + public TelephonyOutboundRetryPolicyType getType() { + return this.type; + } + + /** + * Get the maxAttempts property: The maximum number of provider attempts, including the first attempt. Defaults to + * 1. + * + * @return the maxAttempts value. + */ + @Generated + public Integer getMaxAttempts() { + return this.maxAttempts; + } + + /** + * Set the maxAttempts property: The maximum number of provider attempts, including the first attempt. Defaults to + * 1. + * + * @param maxAttempts the maxAttempts value to set. + * @return the TelephonyOutboundRetryPolicy object itself. + */ + @Generated + public TelephonyOutboundRetryPolicy setMaxAttempts(Integer maxAttempts) { + this.maxAttempts = maxAttempts; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("max_attempts", this.maxAttempts); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOutboundRetryPolicy from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOutboundRetryPolicy 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 TelephonyOutboundRetryPolicy. + */ + @Generated + public static TelephonyOutboundRetryPolicy fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("fixed_interval".equals(discriminatorValue)) { + return TelephonyOutboundFixedIntervalRetryPolicy.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static TelephonyOutboundRetryPolicy fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyOutboundRetryPolicy deserializedTelephonyOutboundRetryPolicy = new TelephonyOutboundRetryPolicy(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedTelephonyOutboundRetryPolicy.type + = TelephonyOutboundRetryPolicyType.fromString(reader.getString()); + } else if ("max_attempts".equals(fieldName)) { + deserializedTelephonyOutboundRetryPolicy.maxAttempts = reader.getNullable(JsonReader::getInt); + } else { + reader.skipChildren(); + } + } + return deserializedTelephonyOutboundRetryPolicy; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java new file mode 100644 index 0000000000000..229c8802316b7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java @@ -0,0 +1,135 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The frozen retry policy returned for an outbound call or campaign. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class TelephonyOutboundRetryPolicyResponse implements JsonSerializable { + + /* + * The retry strategy. + */ + @Generated + private TelephonyOutboundRetryPolicyType type + = TelephonyOutboundRetryPolicyType.fromString("TelephonyOutboundRetryPolicyResponse"); + + /* + * The maximum number of provider attempts, including the first attempt. + */ + @Generated + private final int maxAttempts; + + /** + * Creates an instance of TelephonyOutboundRetryPolicyResponse class. + * + * @param maxAttempts the maxAttempts value to set. + */ + @Generated + protected TelephonyOutboundRetryPolicyResponse(int maxAttempts) { + this.maxAttempts = maxAttempts; + } + + /** + * Get the type property: The retry strategy. + * + * @return the type value. + */ + @Generated + public TelephonyOutboundRetryPolicyType getType() { + return this.type; + } + + /** + * Get the maxAttempts property: The maximum number of provider attempts, including the first attempt. + * + * @return the maxAttempts value. + */ + @Generated + public int getMaxAttempts() { + return this.maxAttempts; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("max_attempts", this.maxAttempts); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyOutboundRetryPolicyResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyOutboundRetryPolicyResponse 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 TelephonyOutboundRetryPolicyResponse. + */ + @Generated + public static TelephonyOutboundRetryPolicyResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("fixed_interval".equals(discriminatorValue)) { + return TelephonyOutboundFixedIntervalRetryPolicyResponse.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static TelephonyOutboundRetryPolicyResponse fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int maxAttempts = 0; + TelephonyOutboundRetryPolicyType type = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("max_attempts".equals(fieldName)) { + maxAttempts = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = TelephonyOutboundRetryPolicyType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TelephonyOutboundRetryPolicyResponse deserializedTelephonyOutboundRetryPolicyResponse + = new TelephonyOutboundRetryPolicyResponse(maxAttempts); + deserializedTelephonyOutboundRetryPolicyResponse.type = type; + return deserializedTelephonyOutboundRetryPolicyResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java new file mode 100644 index 0000000000000..4ca1376b99970 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The retry strategy for an outbound call. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyOutboundRetryPolicyType extends ExpandableStringEnum { + + /** + * Retry after a fixed interval between attempts. + */ + @Generated + public static final TelephonyOutboundRetryPolicyType FIXED_INTERVAL = fromString("fixed_interval"); + + /** + * Creates a new instance of TelephonyOutboundRetryPolicyType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyOutboundRetryPolicyType() { + } + + /** + * Creates or finds a TelephonyOutboundRetryPolicyType from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyOutboundRetryPolicyType. + */ + @Generated + public static TelephonyOutboundRetryPolicyType fromString(String name) { + return fromString(name, TelephonyOutboundRetryPolicyType.class); + } + + /** + * Gets known TelephonyOutboundRetryPolicyType values. + * + * @return known TelephonyOutboundRetryPolicyType values. + */ + @Generated + public static Collection values() { + return values(TelephonyOutboundRetryPolicyType.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 0000000000000..a08cc561d15d0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyProvider.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A telephony provider supported by an agent binding. Known values are stable; additional values may be added over + * time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/TelephonyTransferDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java new file mode 100644 index 0000000000000..ddcfc5fee1b4c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A destination for a telephony transfer target. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class TelephonyTransferDestination implements JsonSerializable { + + /* + * The telephony transfer destination type. + */ + @Generated + private TelephonyTransferDestinationKind kind + = TelephonyTransferDestinationKind.fromString("TelephonyTransferDestination"); + + /** + * Creates an instance of TelephonyTransferDestination class. + */ + @Generated + public TelephonyTransferDestination() { + } + + /** + * Get the kind property: The telephony transfer destination type. + * + * @return the kind value. + */ + @Generated + public TelephonyTransferDestinationKind getKind() { + return this.kind; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TelephonyTransferDestination from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TelephonyTransferDestination 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 TelephonyTransferDestination. + */ + @Generated + public static TelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("kind".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("pstn".equals(discriminatorValue)) { + return PSTNTelephonyTransferDestination.fromJson(readerToUse.reset()); + } else if ("teams".equals(discriminatorValue)) { + return TeamsTelephonyTransferDestination.fromJson(readerToUse.reset()); + } else if ("sip".equals(discriminatorValue)) { + return SipTelephonyTransferDestination.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static TelephonyTransferDestination fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TelephonyTransferDestination deserializedTelephonyTransferDestination = new TelephonyTransferDestination(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("kind".equals(fieldName)) { + deserializedTelephonyTransferDestination.kind + = TelephonyTransferDestinationKind.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedTelephonyTransferDestination; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.java new file mode 100644 index 0000000000000..6409eb918fc4f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The kind of telephony transfer destination. Known values are stable; additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TelephonyTransferDestinationKind extends ExpandableStringEnum { + + /** + * A public switched telephone network destination. + */ + @Generated + public static final TelephonyTransferDestinationKind PSTN = fromString("pstn"); + + /** + * A Microsoft Teams user or resource-account destination. + */ + @Generated + public static final TelephonyTransferDestinationKind TEAMS = fromString("teams"); + + /** + * A Session Initiation Protocol destination. + */ + @Generated + public static final TelephonyTransferDestinationKind SIP = fromString("sip"); + + /** + * Creates a new instance of TelephonyTransferDestinationKind value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public TelephonyTransferDestinationKind() { + } + + /** + * Creates or finds a TelephonyTransferDestinationKind from its string representation. + * + * @param name a name to look for. + * @return the corresponding TelephonyTransferDestinationKind. + */ + @Generated + public static TelephonyTransferDestinationKind fromString(String name) { + return fromString(name, TelephonyTransferDestinationKind.class); + } + + /** + * Gets known TelephonyTransferDestinationKind values. + * + * @return known TelephonyTransferDestinationKind values. + */ + @Generated + public static Collection values() { + return values(TelephonyTransferDestinationKind.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 0000000000000..acb8d647143a3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTarget.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A named destination to which the voice agent may transfer a call. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 TelephonyTransferDestination 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, TelephonyTransferDestination 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 TelephonyTransferDestination 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.writeJsonField("destination", this.destination); + 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; + TelephonyTransferDestination 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 = TelephonyTransferDestination.fromJson(reader); + } 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 0000000000000..1f176c93d2ca3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferTargets.java @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * The telephony transfer targets configured for one voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/TokenLimits.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TokenLimits.java new file mode 100644 index 0000000000000..2379127db41e5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TokenLimits.java @@ -0,0 +1,90 @@ +// 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; + +/** + * The TokenLimits model. + */ +@Fluent +public final class TokenLimits implements JsonSerializable { + + /* + * The post_instructions property. + */ + @Generated + private Long postInstructions; + + /** + * Creates an instance of TokenLimits class. + */ + @Generated + public TokenLimits() { + } + + /** + * Get the postInstructions property: The post_instructions property. + * + * @return the postInstructions value. + */ + @Generated + public Long getPostInstructions() { + return this.postInstructions; + } + + /** + * Set the postInstructions property: The post_instructions property. + * + * @param postInstructions the postInstructions value to set. + * @return the TokenLimits object itself. + */ + @Generated + public TokenLimits setPostInstructions(Long postInstructions) { + this.postInstructions = postInstructions; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("post_instructions", this.postInstructions); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TokenLimits from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TokenLimits 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 TokenLimits. + */ + @Generated + public static TokenLimits fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TokenLimits deserializedTokenLimits = new TokenLimits(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("post_instructions".equals(fieldName)) { + deserializedTokenLimits.postInstructions = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedTokenLimits; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceFunction.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceFunction.java new file mode 100644 index 0000000000000..9f54a40f4f9fc --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceFunction.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Function tool + * + * Use this option to force the model to call a specific function. + */ +@Immutable +public final class ToolChoiceFunction extends ToolChoiceParam { + + /* + * The type property. + */ + @Generated + private ToolChoiceParamType type = ToolChoiceParamType.FUNCTION; + + /* + * The name of the function to call. + */ + @Generated + private final String name; + + /** + * Creates an instance of ToolChoiceFunction class. + * + * @param name the name value to set. + */ + @Generated + public ToolChoiceFunction(String name) { + this.name = name; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public ToolChoiceParamType getType() { + return this.type; + } + + /** + * Get the name property: The name of the function to call. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolChoiceFunction from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolChoiceFunction 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 ToolChoiceFunction. + */ + @Generated + public static ToolChoiceFunction fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + ToolChoiceParamType type = ToolChoiceParamType.FUNCTION; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("type".equals(fieldName)) { + type = ToolChoiceParamType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + ToolChoiceFunction deserializedToolChoiceFunction = new ToolChoiceFunction(name); + deserializedToolChoiceFunction.type = type; + return deserializedToolChoiceFunction; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java new file mode 100644 index 0000000000000..5b380a36145f9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java @@ -0,0 +1,139 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * MCP tool + * + * Use this option to force the model to call a specific tool on a remote MCP server. + */ +@Fluent +public final class ToolChoiceMCP extends ToolChoiceParam { + + /* + * The type property. + */ + @Generated + private ToolChoiceParamType type = ToolChoiceParamType.MCP; + + /* + * The label of the MCP server to use. + */ + @Generated + private final String serverLabel; + + /* + * The name property. + */ + @Generated + private String name; + + /** + * Creates an instance of ToolChoiceMCP class. + * + * @param serverLabel the serverLabel value to set. + */ + @Generated + public ToolChoiceMCP(String serverLabel) { + this.serverLabel = serverLabel; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public ToolChoiceParamType getType() { + return this.type; + } + + /** + * Get the serverLabel property: The label of the MCP server to use. + * + * @return the serverLabel value. + */ + @Generated + public String getServerLabel() { + return this.serverLabel; + } + + /** + * Get the name property: The name property. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: The name property. + * + * @param name the name value to set. + * @return the ToolChoiceMCP object itself. + */ + @Generated + public ToolChoiceMCP setName(String name) { + this.name = name; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("server_label", this.serverLabel); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("name", this.name); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolChoiceMCP from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolChoiceMCP 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 ToolChoiceMCP. + */ + @Generated + public static ToolChoiceMCP fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String serverLabel = null; + ToolChoiceParamType type = ToolChoiceParamType.MCP; + String name = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("server_label".equals(fieldName)) { + serverLabel = reader.getString(); + } else if ("type".equals(fieldName)) { + type = ToolChoiceParamType.fromString(reader.getString()); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else { + reader.skipChildren(); + } + } + ToolChoiceMCP deserializedToolChoiceMCP = new ToolChoiceMCP(serverLabel); + deserializedToolChoiceMCP.type = type; + deserializedToolChoiceMCP.name = name; + return deserializedToolChoiceMCP; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceOptions.java new file mode 100644 index 0000000000000..7a305f517b751 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceOptions.java @@ -0,0 +1,67 @@ +// 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; + +/** + * Tool choice mode + * + * Controls which (if any) tool is called by the model. + * `none` means the model will not call any tool and instead generates a message. + * `auto` means the model can pick between generating a message or calling one or + * more tools. + * `required` means the model must call one or more tools. + */ +public enum ToolChoiceOptions { + /** + * Enum value none. + */ + NONE("none"), + + /** + * Enum value auto. + */ + AUTO("auto"), + + /** + * Enum value required. + */ + REQUIRED("required"); + + /** + * The actual serialized value for a ToolChoiceOptions instance. + */ + private final String value; + + ToolChoiceOptions(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a ToolChoiceOptions instance. + * + * @param value the serialized value to parse. + * @return the parsed ToolChoiceOptions object, or null if unable to parse. + */ + public static ToolChoiceOptions fromString(String value) { + if (value == null) { + return null; + } + ToolChoiceOptions[] items = ToolChoiceOptions.values(); + for (ToolChoiceOptions item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java new file mode 100644 index 0000000000000..3b9b0a35330c3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.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; + +/** + * How the model should select which tool (or tools) to use when generating + * a response. See the `tools` parameter to see how to specify which tools + * the model can call. + */ +@Immutable +public class ToolChoiceParam implements JsonSerializable { + + /* + * The type property. + */ + @Generated + private ToolChoiceParamType type = ToolChoiceParamType.fromString("ToolChoiceParam"); + + /** + * Creates an instance of ToolChoiceParam class. + */ + @Generated + public ToolChoiceParam() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + public ToolChoiceParamType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolChoiceParam from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolChoiceParam 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 ToolChoiceParam. + */ + @Generated + public static ToolChoiceParam fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("mcp".equals(discriminatorValue)) { + return ToolChoiceMCP.fromJson(readerToUse.reset()); + } else if ("function".equals(discriminatorValue)) { + return ToolChoiceFunction.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static ToolChoiceParam fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ToolChoiceParam deserializedToolChoiceParam = new ToolChoiceParam(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedToolChoiceParam.type = ToolChoiceParamType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedToolChoiceParam; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.java new file mode 100644 index 0000000000000..bfece252c8ace --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParamType.java @@ -0,0 +1,135 @@ +// 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; + +/** + * Defines values for ToolChoiceParamType. + */ +public final class ToolChoiceParamType extends ExpandableStringEnum { + + /** + * Static value allowed_tools for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType ALLOWED_TOOLS = fromString("allowed_tools"); + + /** + * Static value function for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType FUNCTION = fromString("function"); + + /** + * Static value mcp for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType MCP = fromString("mcp"); + + /** + * Static value custom for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType CUSTOM = fromString("custom"); + + /** + * Static value programmatic_tool_calling for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType PROGRAMMATIC_TOOL_CALLING = fromString("programmatic_tool_calling"); + + /** + * Static value apply_patch for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType APPLY_PATCH = fromString("apply_patch"); + + /** + * Static value shell for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType SHELL = fromString("shell"); + + /** + * Static value file_search for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType FILE_SEARCH = fromString("file_search"); + + /** + * Static value web_search_preview for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType WEB_SEARCH_PREVIEW = fromString("web_search_preview"); + + /** + * Static value computer_use_preview for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType COMPUTER_USE_PREVIEW = fromString("computer_use_preview"); + + /** + * Static value web_search_preview_2025_03_11 for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType WEB_SEARCH_PREVIEW_2025_03_11 = fromString("web_search_preview_2025_03_11"); + + /** + * Static value image_generation for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType IMAGE_GENERATION = fromString("image_generation"); + + /** + * Static value code_interpreter for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType CODE_INTERPRETER = fromString("code_interpreter"); + + /** + * Static value computer for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType COMPUTER = fromString("computer"); + + /** + * Static value computer_use for ToolChoiceParamType. + */ + @Generated + public static final ToolChoiceParamType COMPUTER_USE = fromString("computer_use"); + + /** + * Creates a new instance of ToolChoiceParamType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public ToolChoiceParamType() { + } + + /** + * Creates or finds a ToolChoiceParamType from its string representation. + * + * @param name a name to look for. + * @return the corresponding ToolChoiceParamType. + */ + @Generated + public static ToolChoiceParamType fromString(String name) { + return fromString(name, ToolChoiceParamType.class); + } + + /** + * Gets known ToolChoiceParamType values. + * + * @return known ToolChoiceParamType values. + */ + @Generated + public static Collection values() { + return values(ToolChoiceParamType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java new file mode 100644 index 0000000000000..785be887c73b0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java @@ -0,0 +1,112 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * Duration Usage + * + * Usage statistics for models billed by audio input duration. + */ +@Immutable +public final class TranscriptTextUsageDuration extends CreateTranscriptionResponseJsonUsage { + + /* + * The type property. + */ + @Generated + private CreateTranscriptionResponseJsonUsageType type = CreateTranscriptionResponseJsonUsageType.DURATION; + + /* + * Duration of the input audio in seconds. + */ + @Generated + private final long seconds; + + /** + * Creates an instance of TranscriptTextUsageDuration class. + * + * @param seconds the seconds value to set. + */ + @Generated + private TranscriptTextUsageDuration(Duration seconds) { + if (seconds == null) { + this.seconds = 0L; + } else { + this.seconds = seconds.getSeconds(); + } + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public CreateTranscriptionResponseJsonUsageType getType() { + return this.type; + } + + /** + * Get the seconds property: Duration of the input audio in seconds. + * + * @return the seconds value. + */ + @Generated + public Duration getSeconds() { + return Duration.ofSeconds(this.seconds); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("seconds", this.seconds); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TranscriptTextUsageDuration from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TranscriptTextUsageDuration 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 TranscriptTextUsageDuration. + */ + @Generated + public static TranscriptTextUsageDuration fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Duration seconds = null; + CreateTranscriptionResponseJsonUsageType type = CreateTranscriptionResponseJsonUsageType.DURATION; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("seconds".equals(fieldName)) { + seconds = Duration.ofSeconds(reader.getLong()); + } else if ("type".equals(fieldName)) { + type = CreateTranscriptionResponseJsonUsageType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TranscriptTextUsageDuration deserializedTranscriptTextUsageDuration + = new TranscriptTextUsageDuration(seconds); + deserializedTranscriptTextUsageDuration.type = type; + return deserializedTranscriptTextUsageDuration; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java new file mode 100644 index 0000000000000..031f7253d1312 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java @@ -0,0 +1,172 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Token Usage + * + * Usage statistics for models billed by token usage. + */ +@Immutable +public final class TranscriptTextUsageTokens extends CreateTranscriptionResponseJsonUsage { + + /* + * The type property. + */ + @Generated + private CreateTranscriptionResponseJsonUsageType type = CreateTranscriptionResponseJsonUsageType.TOKENS; + + /* + * Number of input tokens billed for this request. + */ + @Generated + private final long inputTokens; + + /* + * Details about the input tokens billed for this request. + */ + @Generated + private TranscriptTextUsageTokensInputTokenDetails inputTokenDetails; + + /* + * Number of output tokens generated. + */ + @Generated + private final long outputTokens; + + /* + * Total number of tokens used (input + output). + */ + @Generated + private final long totalTokens; + + /** + * Creates an instance of TranscriptTextUsageTokens class. + * + * @param inputTokens the inputTokens value to set. + * @param outputTokens the outputTokens value to set. + * @param totalTokens the totalTokens value to set. + */ + @Generated + private TranscriptTextUsageTokens(long inputTokens, long outputTokens, long totalTokens) { + this.inputTokens = inputTokens; + this.outputTokens = outputTokens; + this.totalTokens = totalTokens; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public CreateTranscriptionResponseJsonUsageType getType() { + return this.type; + } + + /** + * Get the inputTokens property: Number of input tokens billed for this request. + * + * @return the inputTokens value. + */ + @Generated + public long getInputTokens() { + return this.inputTokens; + } + + /** + * Get the inputTokenDetails property: Details about the input tokens billed for this request. + * + * @return the inputTokenDetails value. + */ + @Generated + public TranscriptTextUsageTokensInputTokenDetails getInputTokenDetails() { + return this.inputTokenDetails; + } + + /** + * Get the outputTokens property: Number of output tokens generated. + * + * @return the outputTokens value. + */ + @Generated + public long getOutputTokens() { + return this.outputTokens; + } + + /** + * Get the totalTokens property: Total number of tokens used (input + output). + * + * @return the totalTokens value. + */ + @Generated + public long getTotalTokens() { + return this.totalTokens; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("input_tokens", this.inputTokens); + jsonWriter.writeLongField("output_tokens", this.outputTokens); + jsonWriter.writeLongField("total_tokens", this.totalTokens); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeJsonField("input_token_details", this.inputTokenDetails); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TranscriptTextUsageTokens from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TranscriptTextUsageTokens 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 TranscriptTextUsageTokens. + */ + @Generated + public static TranscriptTextUsageTokens fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + long inputTokens = 0L; + long outputTokens = 0L; + long totalTokens = 0L; + CreateTranscriptionResponseJsonUsageType type = CreateTranscriptionResponseJsonUsageType.TOKENS; + TranscriptTextUsageTokensInputTokenDetails inputTokenDetails = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("input_tokens".equals(fieldName)) { + inputTokens = reader.getLong(); + } else if ("output_tokens".equals(fieldName)) { + outputTokens = reader.getLong(); + } else if ("total_tokens".equals(fieldName)) { + totalTokens = reader.getLong(); + } else if ("type".equals(fieldName)) { + type = CreateTranscriptionResponseJsonUsageType.fromString(reader.getString()); + } else if ("input_token_details".equals(fieldName)) { + inputTokenDetails = TranscriptTextUsageTokensInputTokenDetails.fromJson(reader); + } else { + reader.skipChildren(); + } + } + TranscriptTextUsageTokens deserializedTranscriptTextUsageTokens + = new TranscriptTextUsageTokens(inputTokens, outputTokens, totalTokens); + deserializedTranscriptTextUsageTokens.type = type; + deserializedTranscriptTextUsageTokens.inputTokenDetails = inputTokenDetails; + return deserializedTranscriptTextUsageTokens; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java new file mode 100644 index 0000000000000..b25e09126582b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java @@ -0,0 +1,101 @@ +// 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; + +/** + * The TranscriptTextUsageTokensInputTokenDetails model. + */ +@Immutable +public final class TranscriptTextUsageTokensInputTokenDetails + implements JsonSerializable { + + /* + * The text_tokens property. + */ + @Generated + private Long textTokens; + + /* + * The audio_tokens property. + */ + @Generated + private Long audioTokens; + + /** + * Creates an instance of TranscriptTextUsageTokensInputTokenDetails class. + */ + @Generated + private TranscriptTextUsageTokensInputTokenDetails() { + } + + /** + * Get the textTokens property: The text_tokens property. + * + * @return the textTokens value. + */ + @Generated + public Long getTextTokens() { + return this.textTokens; + } + + /** + * Get the audioTokens property: The audio_tokens property. + * + * @return the audioTokens value. + */ + @Generated + public Long getAudioTokens() { + return this.audioTokens; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("text_tokens", this.textTokens); + jsonWriter.writeNumberField("audio_tokens", this.audioTokens); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TranscriptTextUsageTokensInputTokenDetails from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TranscriptTextUsageTokensInputTokenDetails 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 TranscriptTextUsageTokensInputTokenDetails. + */ + @Generated + public static TranscriptTextUsageTokensInputTokenDetails fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + TranscriptTextUsageTokensInputTokenDetails deserializedTranscriptTextUsageTokensInputTokenDetails + = new TranscriptTextUsageTokensInputTokenDetails(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("text_tokens".equals(fieldName)) { + deserializedTranscriptTextUsageTokensInputTokenDetails.textTokens + = reader.getNullable(JsonReader::getLong); + } else if ("audio_tokens".equals(fieldName)) { + deserializedTranscriptTextUsageTokensInputTokenDetails.audioTokens + = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedTranscriptTextUsageTokensInputTokenDetails; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java new file mode 100644 index 0000000000000..2cd91fab3cc30 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java @@ -0,0 +1,82 @@ +// 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 language detected in transcribed audio. + */ +@Immutable +public final class TranscriptionLanguage implements JsonSerializable { + + /* + * The code of a language detected in the audio. + */ + @Generated + private final String code; + + /** + * Creates an instance of TranscriptionLanguage class. + * + * @param code the code value to set. + */ + @Generated + private TranscriptionLanguage(String code) { + this.code = code; + } + + /** + * Get the code property: The code of a language detected in the audio. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("code", this.code); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TranscriptionLanguage from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TranscriptionLanguage 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 TranscriptionLanguage. + */ + @Generated + public static TranscriptionLanguage fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String code = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("code".equals(fieldName)) { + code = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new TranscriptionLanguage(code); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.java new file mode 100644 index 0000000000000..ad6ea0054400d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.java @@ -0,0 +1,134 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A Twilio binding owned by a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TwilioTelephonyBinding extends TelephonyBinding { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.TWILIO; + + /* + * The Twilio E.164 phone number. + */ + @Generated + private final String phoneNumber; + + /** + * Creates an instance of TwilioTelephonyBinding class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + * @param phoneNumber the phoneNumber value to set. + */ + @Generated + private TwilioTelephonyBinding(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl, String phoneNumber) { + super(id, connectionName, status, incomingCallUrl); + this.phoneNumber = phoneNumber; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + @Override + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the phoneNumber property: The Twilio E.164 phone number. + * + * @return the phoneNumber value. + */ + @Generated + public String getPhoneNumber() { + return this.phoneNumber; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeStringField("connection_name", getConnectionName()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + jsonWriter.writeStringField("incoming_call_url", getIncomingCallUrl()); + jsonWriter.writeStringField("label", getLabel()); + jsonWriter.writeStringField("phone_number", this.phoneNumber); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of TwilioTelephonyBinding from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of TwilioTelephonyBinding 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 TwilioTelephonyBinding. + */ + @Generated + public static TwilioTelephonyBinding fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + String label = null; + String phoneNumber = null; + TelephonyProvider provider = TelephonyProvider.TWILIO; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = reader.getString(); + } else if ("status".equals(fieldName)) { + status = TelephonyBindingStatus.fromString(reader.getString()); + } else if ("incoming_call_url".equals(fieldName)) { + incomingCallUrl = reader.getString(); + } else if ("label".equals(fieldName)) { + label = reader.getString(); + } else if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TwilioTelephonyBinding deserializedTwilioTelephonyBinding + = new TwilioTelephonyBinding(id, connectionName, status, incomingCallUrl, phoneNumber); + deserializedTwilioTelephonyBinding.setLabel(label); + deserializedTwilioTelephonyBinding.provider = provider; + return deserializedTwilioTelephonyBinding; + }); + } +} 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 0000000000000..26f1823862921 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TwilioTelephonyBindingListItem.java @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A Twilio binding returned in a list, including its entity tag. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class TwilioTelephonyBindingListItem extends TelephonyBindingListItem { + + /* + * The telephony provider. + */ + @Generated + private TelephonyProvider provider = TelephonyProvider.TWILIO; + + /* + * The Twilio E.164 phone number. + */ + @Generated + private final String phoneNumber; + + /** + * Creates an instance of TwilioTelephonyBindingListItem class. + * + * @param id the id value to set. + * @param connectionName the connectionName value to set. + * @param status the status value to set. + * @param incomingCallUrl the incomingCallUrl value to set. + * @param phoneNumber the phoneNumber value to set. + */ + @Generated + private TwilioTelephonyBindingListItem(String id, String connectionName, TelephonyBindingStatus status, + String incomingCallUrl, String phoneNumber) { + super(id, connectionName, status, incomingCallUrl); + this.phoneNumber = phoneNumber; + } + + /** + * Get the provider property: The telephony provider. + * + * @return the provider value. + */ + @Generated + @Override + public TelephonyProvider getProvider() { + return this.provider; + } + + /** + * Get the phoneNumber property: The Twilio E.164 phone number. + * + * @return the phoneNumber value. + */ + @Generated + public String getPhoneNumber() { + return this.phoneNumber; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeStringField("connection_name", getConnectionName()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + jsonWriter.writeStringField("incoming_call_url", getIncomingCallUrl()); + jsonWriter.writeStringField("label", getLabel()); + jsonWriter.writeStringField("phone_number", this.phoneNumber); + jsonWriter.writeStringField("provider", this.provider == null ? null : this.provider.toString()); + 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 connectionName = null; + TelephonyBindingStatus status = null; + String incomingCallUrl = null; + String etag = null; + String label = null; + String phoneNumber = null; + TelephonyProvider provider = TelephonyProvider.TWILIO; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("connection_name".equals(fieldName)) { + connectionName = 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 if ("phone_number".equals(fieldName)) { + phoneNumber = reader.getString(); + } else if ("provider".equals(fieldName)) { + provider = TelephonyProvider.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + TwilioTelephonyBindingListItem deserializedTwilioTelephonyBindingListItem + = new TwilioTelephonyBindingListItem(id, connectionName, status, incomingCallUrl, phoneNumber); + deserializedTwilioTelephonyBindingListItem.setEtag(etag); + deserializedTwilioTelephonyBindingListItem.setLabel(label); + deserializedTwilioTelephonyBindingListItem.provider = provider; + 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 0000000000000..8cec966b929e5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/UpdateTelephonyBindingRequest.java @@ -0,0 +1,273 @@ +// 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.ai.agents.implementation.utils.Beta; +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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 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 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_name", this.connectionName); + 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("connectionName")) { + if (this.connectionName == null) { + jsonWriter.writeNullField("connection_name"); + } else { + jsonWriter.writeStringField("connection_name", this.connectionName); + } + } + 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_name".equals(fieldName)) { + deserializedUpdateTelephonyBindingRequest.connectionName = reader.getString(); + } else if ("phone_number".equals(fieldName)) { + deserializedUpdateTelephonyBindingRequest.phoneNumber = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedUpdateTelephonyBindingRequest; + }); + } + + /* + * 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 connectionName; + + /** + * Get the connectionName 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 connectionName value. + */ + @Generated + public String getConnectionName() { + return this.connectionName; + } + + /** + * Set the connectionName 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 connectionName the connectionName value to set. + * @return the UpdateTelephonyBindingRequest object itself. + */ + @Generated + public UpdateTelephonyBindingRequest setConnectionName(String connectionName) { + this.connectionName = connectionName; + this.updatedProperties.add("connectionName"); + return this; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationConfig.java new file mode 100644 index 0000000000000..4cc3e0f7ad752 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationConfig.java @@ -0,0 +1,127 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * Animation settings for a voice-agent session. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAnimationConfig implements JsonSerializable { + + /* + * The animation model name. + */ + @Generated + private String modelName; + + /* + * The requested animation output kinds. + */ + @Generated + private List outputs; + + /** + * Creates an instance of VoiceAgentAnimationConfig class. + */ + @Generated + public VoiceAgentAnimationConfig() { + } + + /** + * Get the modelName property: The animation model name. + * + * @return the modelName value. + */ + @Generated + public String getModelName() { + return this.modelName; + } + + /** + * Set the modelName property: The animation model name. + * + * @param modelName the modelName value to set. + * @return the VoiceAgentAnimationConfig object itself. + */ + @Generated + public VoiceAgentAnimationConfig setModelName(String modelName) { + this.modelName = modelName; + return this; + } + + /** + * Get the outputs property: The requested animation output kinds. + * + * @return the outputs value. + */ + @Generated + public List getOutputs() { + return this.outputs; + } + + /** + * Set the outputs property: The requested animation output kinds. + * + * @param outputs the outputs value to set. + * @return the VoiceAgentAnimationConfig object itself. + */ + @Generated + public VoiceAgentAnimationConfig setOutputs(List outputs) { + this.outputs = outputs; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("model_name", this.modelName); + jsonWriter.writeArrayField("outputs", this.outputs, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAnimationConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAnimationConfig 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 VoiceAgentAnimationConfig. + */ + @Generated + public static VoiceAgentAnimationConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAnimationConfig deserializedVoiceAgentAnimationConfig = new VoiceAgentAnimationConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("model_name".equals(fieldName)) { + deserializedVoiceAgentAnimationConfig.modelName = reader.getString(); + } else if ("outputs".equals(fieldName)) { + List outputs + = reader.readArray(reader1 -> VoiceAgentAnimationOutputType.fromString(reader1.getString())); + deserializedVoiceAgentAnimationConfig.outputs = outputs; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAnimationConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.java new file mode 100644 index 0000000000000..895957f2d81c5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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.ai.agents.implementation.utils.Beta; + +/** + * An animation output produced by a voice-agent session. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public enum VoiceAgentAnimationOutputType { + + /** + * Enum value blendshapes. + */ + BLENDSHAPES("blendshapes"), + /** + * Enum value viseme_id. + */ + VISEME_ID("viseme_id"); + + /** + * The actual serialized value for a VoiceAgentAnimationOutputType instance. + */ + private final String value; + + VoiceAgentAnimationOutputType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentAnimationOutputType instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentAnimationOutputType object, or null if unable to parse. + */ + public static VoiceAgentAnimationOutputType fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentAnimationOutputType[] items = VoiceAgentAnimationOutputType.values(); + for (VoiceAgentAnimationOutputType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioConfig.java new file mode 100644 index 0000000000000..8ad200542b6f0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioConfig.java @@ -0,0 +1,123 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The audio configuration for a voice agent. These values are session defaults and may be overridden when connecting. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAudioConfig implements JsonSerializable { + + /* + * Input (microphone) audio configuration. + */ + @Generated + private VoiceAgentAudioInputConfig input; + + /* + * Output (agent speech) audio configuration. + */ + @Generated + private VoiceAgentAudioOutputConfig output; + + /** + * Creates an instance of VoiceAgentAudioConfig class. + */ + @Generated + public VoiceAgentAudioConfig() { + } + + /** + * Get the input property: Input (microphone) audio configuration. + * + * @return the input value. + */ + @Generated + public VoiceAgentAudioInputConfig getInput() { + return this.input; + } + + /** + * Set the input property: Input (microphone) audio configuration. + * + * @param input the input value to set. + * @return the VoiceAgentAudioConfig object itself. + */ + @Generated + public VoiceAgentAudioConfig setInput(VoiceAgentAudioInputConfig input) { + this.input = input; + return this; + } + + /** + * Get the output property: Output (agent speech) audio configuration. + * + * @return the output value. + */ + @Generated + public VoiceAgentAudioOutputConfig getOutput() { + return this.output; + } + + /** + * Set the output property: Output (agent speech) audio configuration. + * + * @param output the output value to set. + * @return the VoiceAgentAudioConfig object itself. + */ + @Generated + public VoiceAgentAudioConfig setOutput(VoiceAgentAudioOutputConfig output) { + this.output = output; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("input", this.input); + jsonWriter.writeJsonField("output", this.output); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAudioConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAudioConfig 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 VoiceAgentAudioConfig. + */ + @Generated + public static VoiceAgentAudioConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAudioConfig deserializedVoiceAgentAudioConfig = new VoiceAgentAudioConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("input".equals(fieldName)) { + deserializedVoiceAgentAudioConfig.input = VoiceAgentAudioInputConfig.fromJson(reader); + } else if ("output".equals(fieldName)) { + deserializedVoiceAgentAudioConfig.output = VoiceAgentAudioOutputConfig.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAudioConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java new file mode 100644 index 0000000000000..8c509b46bf735 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfig.java @@ -0,0 +1,222 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Input audio configuration for a voice agent. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAudioInputConfig implements JsonSerializable { + + /* + * The input audio format. + */ + @Generated + private RealtimeAudioFormats format; + + /* + * Input noise reduction. Set to null to disable. + */ + @Generated + private VoiceAgentNoiseReduction noiseReduction; + + /* + * Turn (end-of-speech) detection. Server-side turn detection is enabled by default; set to null to disable it, in + * which case the client must trigger responses manually. + */ + @Generated + private VoiceAgentTurnDetectionConfig turnDetection; + + /* + * Optional server-side echo cancellation settings. + */ + @Generated + private VoiceAgentEchoCancellation echoCancellation; + + /* + * Asynchronous input-audio transcription. Set to null to disable transcription. + */ + @Generated + private VoiceAgentInputTranscription transcription; + + /** + * Creates an instance of VoiceAgentAudioInputConfig class. + */ + @Generated + public VoiceAgentAudioInputConfig() { + } + + /** + * Get the format property: The input audio format. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * Set the format property: The input audio format. + * + * @param format the format value to set. + * @return the VoiceAgentAudioInputConfig object itself. + */ + @Generated + public VoiceAgentAudioInputConfig setFormat(RealtimeAudioFormats format) { + this.format = format; + return this; + } + + /** + * Get the noiseReduction property: Input noise reduction. Set to null to disable. + * + * @return the noiseReduction value. + */ + @Generated + public VoiceAgentNoiseReduction getNoiseReduction() { + return this.noiseReduction; + } + + /** + * Set the noiseReduction property: Input noise reduction. Set to null to disable. + * + * @param noiseReduction the noiseReduction value to set. + * @return the VoiceAgentAudioInputConfig object itself. + */ + @Generated + public VoiceAgentAudioInputConfig setNoiseReduction(VoiceAgentNoiseReduction noiseReduction) { + this.noiseReduction = noiseReduction; + return this; + } + + /** + * Get the turnDetection property: Turn (end-of-speech) detection. Server-side turn detection is enabled by default; + * set to null to disable it, in which case the client must trigger responses manually. + * + * @return the turnDetection value. + */ + @Generated + public VoiceAgentTurnDetectionConfig getTurnDetection() { + return this.turnDetection; + } + + /** + * Set the turnDetection property: Turn (end-of-speech) detection. Server-side turn detection is enabled by default; + * set to null to disable it, in which case the client must trigger responses manually. + * + * @param turnDetection the turnDetection value to set. + * @return the VoiceAgentAudioInputConfig object itself. + */ + @Generated + public VoiceAgentAudioInputConfig setTurnDetection(VoiceAgentTurnDetectionConfig turnDetection) { + this.turnDetection = turnDetection; + return this; + } + + /** + * Get the echoCancellation property: Optional server-side echo cancellation settings. + * + * @return the echoCancellation value. + */ + @Generated + public VoiceAgentEchoCancellation getEchoCancellation() { + return this.echoCancellation; + } + + /** + * Set the echoCancellation property: Optional server-side echo cancellation settings. + * + * @param echoCancellation the echoCancellation value to set. + * @return the VoiceAgentAudioInputConfig object itself. + */ + @Generated + public VoiceAgentAudioInputConfig setEchoCancellation(VoiceAgentEchoCancellation echoCancellation) { + this.echoCancellation = echoCancellation; + return this; + } + + /** + * Get the transcription property: Asynchronous input-audio transcription. Set to null to disable transcription. + * + * @return the transcription value. + */ + @Generated + public VoiceAgentInputTranscription getTranscription() { + return this.transcription; + } + + /** + * Set the transcription property: Asynchronous input-audio transcription. Set to null to disable transcription. + * + * @param transcription the transcription value to set. + * @return the VoiceAgentAudioInputConfig object itself. + */ + @Generated + public VoiceAgentAudioInputConfig setTranscription(VoiceAgentInputTranscription transcription) { + this.transcription = transcription; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("format", this.format); + jsonWriter.writeJsonField("noise_reduction", this.noiseReduction); + jsonWriter.writeJsonField("turn_detection", this.turnDetection); + jsonWriter.writeJsonField("echo_cancellation", this.echoCancellation); + jsonWriter.writeJsonField("transcription", this.transcription); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAudioInputConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAudioInputConfig 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 VoiceAgentAudioInputConfig. + */ + @Generated + public static VoiceAgentAudioInputConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAudioInputConfig deserializedVoiceAgentAudioInputConfig = new VoiceAgentAudioInputConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("format".equals(fieldName)) { + deserializedVoiceAgentAudioInputConfig.format = RealtimeAudioFormats.fromJson(reader); + } else if ("noise_reduction".equals(fieldName)) { + deserializedVoiceAgentAudioInputConfig.noiseReduction = VoiceAgentNoiseReduction.fromJson(reader); + } else if ("turn_detection".equals(fieldName)) { + deserializedVoiceAgentAudioInputConfig.turnDetection + = VoiceAgentTurnDetectionConfig.fromJson(reader); + } else if ("echo_cancellation".equals(fieldName)) { + deserializedVoiceAgentAudioInputConfig.echoCancellation + = VoiceAgentEchoCancellation.fromJson(reader); + } else if ("transcription".equals(fieldName)) { + deserializedVoiceAgentAudioInputConfig.transcription + = VoiceAgentInputTranscription.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAudioInputConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java new file mode 100644 index 0000000000000..bbce63e172c73 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioInputConfigTranscriptionDelay.java @@ -0,0 +1,71 @@ +// 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; + +/** + * Defines values for VoiceAgentAudioInputConfigTranscriptionDelay. + */ +public enum VoiceAgentAudioInputConfigTranscriptionDelay { + /** + * Enum value minimal. + */ + MINIMAL("minimal"), + + /** + * Enum value low. + */ + LOW("low"), + + /** + * Enum value medium. + */ + MEDIUM("medium"), + + /** + * Enum value high. + */ + HIGH("high"), + + /** + * Enum value xhigh. + */ + XHIGH("xhigh"); + + /** + * The actual serialized value for a VoiceAgentAudioInputConfigTranscriptionDelay instance. + */ + private final String value; + + VoiceAgentAudioInputConfigTranscriptionDelay(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentAudioInputConfigTranscriptionDelay instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentAudioInputConfigTranscriptionDelay object, or null if unable to parse. + */ + public static VoiceAgentAudioInputConfigTranscriptionDelay fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentAudioInputConfigTranscriptionDelay[] items = VoiceAgentAudioInputConfigTranscriptionDelay.values(); + for (VoiceAgentAudioInputConfigTranscriptionDelay item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java new file mode 100644 index 0000000000000..3a1f5d8827fcd --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioOutputConfig.java @@ -0,0 +1,579 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * Output audio configuration for a voice agent. + * Provider-specific fields are selected by `voice_type`: + * - `openai`: `voice` and `speed`. + * - `azure-standard`: `voice`, `voice_locale`, `speed`, `voice_temperature`, `custom_lexicon_url`, + * `custom_text_normalization_url`, `prefer_locales`, `style`, `pitch`, and `volume`. + * - `azure-custom`: all `azure-standard` fields except `style`, plus `custom_voice_endpoint_id`. + * - `azure-personal`: all `azure-standard` fields except `style`, plus `personal_voice_model`. + * - `avatar-voice-sync`: all `azure-standard` fields except `voice` and `style`, plus `personal_voice_model`; the voice + * name is derived from the avatar. + * - `azure-realtime-native`: `voice` and `speed`. + * `format` and `output_audio_timestamp_types` apply to every voice type. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAudioOutputConfig implements JsonSerializable { + + /* + * The output audio format. Applies to every `voice_type` and defaults to 24 kHz PCM. + */ + @Generated + private RealtimeAudioFormats format; + + /* + * The voice name or identifier. Applies to `openai`, `azure-standard`, `azure-custom`, `azure-personal`, and + * `azure-realtime-native`. It does not apply to `avatar-voice-sync`, which derives the voice name from the avatar. + */ + @Generated + private String voice; + + /* + * The voice implementation. + */ + @Generated + private VoiceType voiceType; + + /* + * The enforced BCP-47 output locale. Applies to `azure-standard`, `azure-custom`, `azure-personal`, and + * `avatar-voice-sync`. + */ + @Generated + private String voiceLocale; + + /* + * The numeric output speed multiplier. Applies to all known `voice_type` values and defaults to 1. + */ + @Generated + private Double speed; + + /* + * The voice variation temperature. Applies to `azure-standard`, `azure-custom`, `azure-personal`, and + * `avatar-voice-sync`. + */ + @Generated + private Double voiceTemperature; + + /* + * The URL of a custom pronunciation lexicon. Applies to `azure-standard`, `azure-custom`, `azure-personal`, and + * `avatar-voice-sync`. + */ + @Generated + private String customLexiconUrl; + + /* + * The URL of a custom text-normalization configuration. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + */ + @Generated + private String customTextNormalizationUrl; + + /* + * Preferred BCP-47 locales for multilingual synthesis. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + */ + @Generated + private List preferLocales; + + /* + * The voice speaking style. Applies only when `voice_type` is `azure-standard`. + */ + @Generated + private String style; + + /* + * The voice pitch adjustment. Applies to `azure-standard`, `azure-custom`, `azure-personal`, and + * `avatar-voice-sync`. + */ + @Generated + private String pitch; + + /* + * The voice volume adjustment. Applies to `azure-standard`, `azure-custom`, `azure-personal`, and + * `avatar-voice-sync`. + */ + @Generated + private String volume; + + /* + * The Azure custom-voice deployment endpoint identifier. Applies only when `voice_type` is `azure-custom`. + */ + @Generated + private String customVoiceEndpointId; + + /* + * The Azure personal or avatar voice model. Applies only when `voice_type` is `azure-personal` or + * `avatar-voice-sync`. + */ + @Generated + private String personalVoiceModel; + + /* + * Timestamp kinds to include with output audio. Applies to every `voice_type`. + */ + @Generated + private List outputAudioTimestampTypes; + + /** + * Creates an instance of VoiceAgentAudioOutputConfig class. + */ + @Generated + public VoiceAgentAudioOutputConfig() { + } + + /** + * Get the format property: The output audio format. Applies to every `voice_type` and defaults to 24 kHz PCM. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * Set the format property: The output audio format. Applies to every `voice_type` and defaults to 24 kHz PCM. + * + * @param format the format value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setFormat(RealtimeAudioFormats format) { + this.format = format; + return this; + } + + /** + * Get the voice property: The voice name or identifier. Applies to `openai`, `azure-standard`, `azure-custom`, + * `azure-personal`, and `azure-realtime-native`. It does not apply to `avatar-voice-sync`, which derives the voice + * name from the avatar. + * + * @return the voice value. + */ + @Generated + public String getVoice() { + return this.voice; + } + + /** + * Set the voice property: The voice name or identifier. Applies to `openai`, `azure-standard`, `azure-custom`, + * `azure-personal`, and `azure-realtime-native`. It does not apply to `avatar-voice-sync`, which derives the voice + * name from the avatar. + * + * @param voice the voice value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setVoice(String voice) { + this.voice = voice; + return this; + } + + /** + * Get the voiceType property: The voice implementation. + * + * @return the voiceType value. + */ + @Generated + public VoiceType getVoiceType() { + return this.voiceType; + } + + /** + * Set the voiceType property: The voice implementation. + * + * @param voiceType the voiceType value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setVoiceType(VoiceType voiceType) { + this.voiceType = voiceType; + return this; + } + + /** + * Get the voiceLocale property: The enforced BCP-47 output locale. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @return the voiceLocale value. + */ + @Generated + public String getVoiceLocale() { + return this.voiceLocale; + } + + /** + * Set the voiceLocale property: The enforced BCP-47 output locale. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @param voiceLocale the voiceLocale value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setVoiceLocale(String voiceLocale) { + this.voiceLocale = voiceLocale; + return this; + } + + /** + * Get the speed property: The numeric output speed multiplier. Applies to all known `voice_type` values and + * defaults to 1. + * + * @return the speed value. + */ + @Generated + public Double getSpeed() { + return this.speed; + } + + /** + * Set the speed property: The numeric output speed multiplier. Applies to all known `voice_type` values and + * defaults to 1. + * + * @param speed the speed value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setSpeed(Double speed) { + this.speed = speed; + return this; + } + + /** + * Get the voiceTemperature property: The voice variation temperature. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @return the voiceTemperature value. + */ + @Generated + public Double getVoiceTemperature() { + return this.voiceTemperature; + } + + /** + * Set the voiceTemperature property: The voice variation temperature. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @param voiceTemperature the voiceTemperature value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setVoiceTemperature(Double voiceTemperature) { + this.voiceTemperature = voiceTemperature; + return this; + } + + /** + * Get the customLexiconUrl property: The URL of a custom pronunciation lexicon. Applies to `azure-standard`, + * `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @return the customLexiconUrl value. + */ + @Generated + public String getCustomLexiconUrl() { + return this.customLexiconUrl; + } + + /** + * Set the customLexiconUrl property: The URL of a custom pronunciation lexicon. Applies to `azure-standard`, + * `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @param customLexiconUrl the customLexiconUrl value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setCustomLexiconUrl(String customLexiconUrl) { + this.customLexiconUrl = customLexiconUrl; + return this; + } + + /** + * Get the customTextNormalizationUrl property: The URL of a custom text-normalization configuration. Applies to + * `azure-standard`, `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @return the customTextNormalizationUrl value. + */ + @Generated + public String getCustomTextNormalizationUrl() { + return this.customTextNormalizationUrl; + } + + /** + * Set the customTextNormalizationUrl property: The URL of a custom text-normalization configuration. Applies to + * `azure-standard`, `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @param customTextNormalizationUrl the customTextNormalizationUrl value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setCustomTextNormalizationUrl(String customTextNormalizationUrl) { + this.customTextNormalizationUrl = customTextNormalizationUrl; + return this; + } + + /** + * Get the preferLocales property: Preferred BCP-47 locales for multilingual synthesis. Applies to `azure-standard`, + * `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @return the preferLocales value. + */ + @Generated + public List getPreferLocales() { + return this.preferLocales; + } + + /** + * Set the preferLocales property: Preferred BCP-47 locales for multilingual synthesis. Applies to `azure-standard`, + * `azure-custom`, `azure-personal`, and `avatar-voice-sync`. + * + * @param preferLocales the preferLocales value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setPreferLocales(List preferLocales) { + this.preferLocales = preferLocales; + return this; + } + + /** + * Get the style property: The voice speaking style. Applies only when `voice_type` is `azure-standard`. + * + * @return the style value. + */ + @Generated + public String getStyle() { + return this.style; + } + + /** + * Set the style property: The voice speaking style. Applies only when `voice_type` is `azure-standard`. + * + * @param style the style value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setStyle(String style) { + this.style = style; + return this; + } + + /** + * Get the pitch property: The voice pitch adjustment. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @return the pitch value. + */ + @Generated + public String getPitch() { + return this.pitch; + } + + /** + * Set the pitch property: The voice pitch adjustment. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @param pitch the pitch value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setPitch(String pitch) { + this.pitch = pitch; + return this; + } + + /** + * Get the volume property: The voice volume adjustment. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @return the volume value. + */ + @Generated + public String getVolume() { + return this.volume; + } + + /** + * Set the volume property: The voice volume adjustment. Applies to `azure-standard`, `azure-custom`, + * `azure-personal`, and `avatar-voice-sync`. + * + * @param volume the volume value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setVolume(String volume) { + this.volume = volume; + return this; + } + + /** + * Get the customVoiceEndpointId property: The Azure custom-voice deployment endpoint identifier. Applies only when + * `voice_type` is `azure-custom`. + * + * @return the customVoiceEndpointId value. + */ + @Generated + public String getCustomVoiceEndpointId() { + return this.customVoiceEndpointId; + } + + /** + * Set the customVoiceEndpointId property: The Azure custom-voice deployment endpoint identifier. Applies only when + * `voice_type` is `azure-custom`. + * + * @param customVoiceEndpointId the customVoiceEndpointId value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setCustomVoiceEndpointId(String customVoiceEndpointId) { + this.customVoiceEndpointId = customVoiceEndpointId; + return this; + } + + /** + * Get the personalVoiceModel property: The Azure personal or avatar voice model. Applies only when `voice_type` is + * `azure-personal` or `avatar-voice-sync`. + * + * @return the personalVoiceModel value. + */ + @Generated + public String getPersonalVoiceModel() { + return this.personalVoiceModel; + } + + /** + * Set the personalVoiceModel property: The Azure personal or avatar voice model. Applies only when `voice_type` is + * `azure-personal` or `avatar-voice-sync`. + * + * @param personalVoiceModel the personalVoiceModel value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig setPersonalVoiceModel(String personalVoiceModel) { + this.personalVoiceModel = personalVoiceModel; + return this; + } + + /** + * Get the outputAudioTimestampTypes property: Timestamp kinds to include with output audio. Applies to every + * `voice_type`. + * + * @return the outputAudioTimestampTypes value. + */ + @Generated + public List getOutputAudioTimestampTypes() { + return this.outputAudioTimestampTypes; + } + + /** + * Set the outputAudioTimestampTypes property: Timestamp kinds to include with output audio. Applies to every + * `voice_type`. + * + * @param outputAudioTimestampTypes the outputAudioTimestampTypes value to set. + * @return the VoiceAgentAudioOutputConfig object itself. + */ + @Generated + public VoiceAgentAudioOutputConfig + setOutputAudioTimestampTypes(List outputAudioTimestampTypes) { + this.outputAudioTimestampTypes = outputAudioTimestampTypes; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("format", this.format); + jsonWriter.writeStringField("voice", this.voice); + jsonWriter.writeStringField("voice_type", this.voiceType == null ? null : this.voiceType.toString()); + jsonWriter.writeStringField("voice_locale", this.voiceLocale); + jsonWriter.writeNumberField("speed", this.speed); + jsonWriter.writeNumberField("voice_temperature", this.voiceTemperature); + jsonWriter.writeStringField("custom_lexicon_url", this.customLexiconUrl); + jsonWriter.writeStringField("custom_text_normalization_url", this.customTextNormalizationUrl); + jsonWriter.writeArrayField("prefer_locales", this.preferLocales, + (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("style", this.style); + jsonWriter.writeStringField("pitch", this.pitch); + jsonWriter.writeStringField("volume", this.volume); + jsonWriter.writeStringField("custom_voice_endpoint_id", this.customVoiceEndpointId); + jsonWriter.writeStringField("personal_voice_model", this.personalVoiceModel); + jsonWriter.writeArrayField("output_audio_timestamp_types", this.outputAudioTimestampTypes, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAudioOutputConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAudioOutputConfig 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 VoiceAgentAudioOutputConfig. + */ + @Generated + public static VoiceAgentAudioOutputConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAudioOutputConfig deserializedVoiceAgentAudioOutputConfig = new VoiceAgentAudioOutputConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("format".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.format = RealtimeAudioFormats.fromJson(reader); + } else if ("voice".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.voice = reader.getString(); + } else if ("voice_type".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.voiceType = VoiceType.fromString(reader.getString()); + } else if ("voice_locale".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.voiceLocale = reader.getString(); + } else if ("speed".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.speed = reader.getNullable(JsonReader::getDouble); + } else if ("voice_temperature".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.voiceTemperature + = reader.getNullable(JsonReader::getDouble); + } else if ("custom_lexicon_url".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.customLexiconUrl = reader.getString(); + } else if ("custom_text_normalization_url".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.customTextNormalizationUrl = reader.getString(); + } else if ("prefer_locales".equals(fieldName)) { + List preferLocales = reader.readArray(reader1 -> reader1.getString()); + deserializedVoiceAgentAudioOutputConfig.preferLocales = preferLocales; + } else if ("style".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.style = reader.getString(); + } else if ("pitch".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.pitch = reader.getString(); + } else if ("volume".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.volume = reader.getString(); + } else if ("custom_voice_endpoint_id".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.customVoiceEndpointId = reader.getString(); + } else if ("personal_voice_model".equals(fieldName)) { + deserializedVoiceAgentAudioOutputConfig.personalVoiceModel = reader.getString(); + } else if ("output_audio_timestamp_types".equals(fieldName)) { + List outputAudioTimestampTypes + = reader.readArray(reader1 -> VoiceAgentAudioTimestampType.fromString(reader1.getString())); + deserializedVoiceAgentAudioOutputConfig.outputAudioTimestampTypes = outputAudioTimestampTypes; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAudioOutputConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java new file mode 100644 index 0000000000000..e607d50d68784 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAudioTimestampType.java @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; + +/** + * An output-audio timestamp kind supported by a voice agent. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public enum VoiceAgentAudioTimestampType { + + /** + * Word-level timestamps. + */ + WORD("word"); + + /** + * The actual serialized value for a VoiceAgentAudioTimestampType instance. + */ + private final String value; + + VoiceAgentAudioTimestampType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentAudioTimestampType instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentAudioTimestampType object, or null if unable to parse. + */ + public static VoiceAgentAudioTimestampType fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentAudioTimestampType[] items = VoiceAgentAudioTimestampType.values(); + for (VoiceAgentAudioTimestampType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java new file mode 100644 index 0000000000000..68574eb5a0cce --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarConfig.java @@ -0,0 +1,339 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Avatar configuration for a voice agent. These values are session defaults and may be overridden when connecting. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentAvatarConfig implements JsonSerializable { + + /* + * The avatar type. + */ + @Generated + private final VoiceAgentAvatarType type; + + /* + * The avatar character identifier, e.g. 'lisa'. + */ + @Generated + private final String character; + + /* + * The avatar style, e.g. 'casual-sitting'. + */ + @Generated + private String style; + + /* + * Whether the avatar is a customer-customized avatar. Defaults to false. + */ + @Generated + private Boolean customized; + + /* + * The transport used to deliver the avatar video stream. + */ + @Generated + private VoiceAgentAvatarOutputProtocol outputProtocol; + + /* + * The avatar model identifier. + */ + @Generated + private String model; + + /* + * Avatar video encoder and presentation settings. + */ + @Generated + private VoiceAgentAvatarVideoParams video; + + /* + * Avatar placement and motion settings. + */ + @Generated + private VoiceAgentAvatarScene scene; + + /* + * Whether audit audio is emitted with avatar output. Defaults to false. + */ + @Generated + private Boolean outputAuditAudio; + + /** + * Creates an instance of VoiceAgentAvatarConfig class. + * + * @param type the type value to set. + * @param character the character value to set. + */ + @Generated + public VoiceAgentAvatarConfig(VoiceAgentAvatarType type, String character) { + this.type = type; + this.character = character; + } + + /** + * Get the type property: The avatar type. + * + * @return the type value. + */ + @Generated + public VoiceAgentAvatarType getType() { + return this.type; + } + + /** + * Get the character property: The avatar character identifier, e.g. 'lisa'. + * + * @return the character value. + */ + @Generated + public String getCharacter() { + return this.character; + } + + /** + * Get the style property: The avatar style, e.g. 'casual-sitting'. + * + * @return the style value. + */ + @Generated + public String getStyle() { + return this.style; + } + + /** + * Set the style property: The avatar style, e.g. 'casual-sitting'. + * + * @param style the style value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setStyle(String style) { + this.style = style; + return this; + } + + /** + * Get the customized property: Whether the avatar is a customer-customized avatar. Defaults to false. + * + * @return the customized value. + */ + @Generated + public Boolean isCustomized() { + return this.customized; + } + + /** + * Set the customized property: Whether the avatar is a customer-customized avatar. Defaults to false. + * + * @param customized the customized value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setCustomized(Boolean customized) { + this.customized = customized; + return this; + } + + /** + * Get the outputProtocol property: The transport used to deliver the avatar video stream. + * + * @return the outputProtocol value. + */ + @Generated + public VoiceAgentAvatarOutputProtocol getOutputProtocol() { + return this.outputProtocol; + } + + /** + * Set the outputProtocol property: The transport used to deliver the avatar video stream. + * + * @param outputProtocol the outputProtocol value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setOutputProtocol(VoiceAgentAvatarOutputProtocol outputProtocol) { + this.outputProtocol = outputProtocol; + return this; + } + + /** + * Get the model property: The avatar model identifier. + * + * @return the model value. + */ + @Generated + public String getModel() { + return this.model; + } + + /** + * Set the model property: The avatar model identifier. + * + * @param model the model value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setModel(String model) { + this.model = model; + return this; + } + + /** + * Get the video property: Avatar video encoder and presentation settings. + * + * @return the video value. + */ + @Generated + public VoiceAgentAvatarVideoParams getVideo() { + return this.video; + } + + /** + * Set the video property: Avatar video encoder and presentation settings. + * + * @param video the video value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setVideo(VoiceAgentAvatarVideoParams video) { + this.video = video; + return this; + } + + /** + * Get the scene property: Avatar placement and motion settings. + * + * @return the scene value. + */ + @Generated + public VoiceAgentAvatarScene getScene() { + return this.scene; + } + + /** + * Set the scene property: Avatar placement and motion settings. + * + * @param scene the scene value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setScene(VoiceAgentAvatarScene scene) { + this.scene = scene; + return this; + } + + /** + * Get the outputAuditAudio property: Whether audit audio is emitted with avatar output. Defaults to false. + * + * @return the outputAuditAudio value. + */ + @Generated + public Boolean isOutputAuditAudio() { + return this.outputAuditAudio; + } + + /** + * Set the outputAuditAudio property: Whether audit audio is emitted with avatar output. Defaults to false. + * + * @param outputAuditAudio the outputAuditAudio value to set. + * @return the VoiceAgentAvatarConfig object itself. + */ + @Generated + public VoiceAgentAvatarConfig setOutputAuditAudio(Boolean outputAuditAudio) { + this.outputAuditAudio = outputAuditAudio; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("character", this.character); + jsonWriter.writeStringField("style", this.style); + jsonWriter.writeBooleanField("customized", this.customized); + jsonWriter.writeStringField("output_protocol", + this.outputProtocol == null ? null : this.outputProtocol.toString()); + jsonWriter.writeStringField("model", this.model); + jsonWriter.writeJsonField("video", this.video); + jsonWriter.writeJsonField("scene", this.scene); + jsonWriter.writeBooleanField("output_audit_audio", this.outputAuditAudio); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarConfig 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 VoiceAgentAvatarConfig. + */ + @Generated + public static VoiceAgentAvatarConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAvatarType type = null; + String character = null; + String style = null; + Boolean customized = null; + VoiceAgentAvatarOutputProtocol outputProtocol = null; + String model = null; + VoiceAgentAvatarVideoParams video = null; + VoiceAgentAvatarScene scene = null; + Boolean outputAuditAudio = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = VoiceAgentAvatarType.fromString(reader.getString()); + } else if ("character".equals(fieldName)) { + character = reader.getString(); + } else if ("style".equals(fieldName)) { + style = reader.getString(); + } else if ("customized".equals(fieldName)) { + customized = reader.getNullable(JsonReader::getBoolean); + } else if ("output_protocol".equals(fieldName)) { + outputProtocol = VoiceAgentAvatarOutputProtocol.fromString(reader.getString()); + } else if ("model".equals(fieldName)) { + model = reader.getString(); + } else if ("video".equals(fieldName)) { + video = VoiceAgentAvatarVideoParams.fromJson(reader); + } else if ("scene".equals(fieldName)) { + scene = VoiceAgentAvatarScene.fromJson(reader); + } else if ("output_audit_audio".equals(fieldName)) { + outputAuditAudio = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + VoiceAgentAvatarConfig deserializedVoiceAgentAvatarConfig = new VoiceAgentAvatarConfig(type, character); + deserializedVoiceAgentAvatarConfig.style = style; + deserializedVoiceAgentAvatarConfig.customized = customized; + deserializedVoiceAgentAvatarConfig.outputProtocol = outputProtocol; + deserializedVoiceAgentAvatarConfig.model = model; + deserializedVoiceAgentAvatarConfig.video = video; + deserializedVoiceAgentAvatarConfig.scene = scene; + deserializedVoiceAgentAvatarConfig.outputAuditAudio = outputAuditAudio; + return deserializedVoiceAgentAvatarConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarIceServer.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarIceServer.java new file mode 100644 index 0000000000000..ad2bc94486fcd --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarIceServer.java @@ -0,0 +1,152 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * An ICE server used for avatar WebRTC negotiation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarIceServer implements JsonSerializable { + + /* + * The urls property. + */ + @Generated + private final List urls; + + /* + * The username property. + */ + @Generated + private String username; + + /* + * The credential property. + */ + @Generated + private String credential; + + /** + * Creates an instance of VoiceAgentAvatarIceServer class. + * + * @param urls the urls value to set. + */ + @Generated + public VoiceAgentAvatarIceServer(List urls) { + this.urls = urls; + } + + /** + * Get the urls property: The urls property. + * + * @return the urls value. + */ + @Generated + public List getUrls() { + return this.urls; + } + + /** + * Get the username property: The username property. + * + * @return the username value. + */ + @Generated + public String getUsername() { + return this.username; + } + + /** + * Set the username property: The username property. + * + * @param username the username value to set. + * @return the VoiceAgentAvatarIceServer object itself. + */ + @Generated + public VoiceAgentAvatarIceServer setUsername(String username) { + this.username = username; + return this; + } + + /** + * Get the credential property: The credential property. + * + * @return the credential value. + */ + @Generated + public String getCredential() { + return this.credential; + } + + /** + * Set the credential property: The credential property. + * + * @param credential the credential value to set. + * @return the VoiceAgentAvatarIceServer object itself. + */ + @Generated + public VoiceAgentAvatarIceServer setCredential(String credential) { + this.credential = credential; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("urls", this.urls, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("username", this.username); + jsonWriter.writeStringField("credential", this.credential); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarIceServer from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarIceServer 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 VoiceAgentAvatarIceServer. + */ + @Generated + public static VoiceAgentAvatarIceServer fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List urls = null; + String username = null; + String credential = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("urls".equals(fieldName)) { + urls = reader.readArray(reader1 -> reader1.getString()); + } else if ("username".equals(fieldName)) { + username = reader.getString(); + } else if ("credential".equals(fieldName)) { + credential = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentAvatarIceServer deserializedVoiceAgentAvatarIceServer = new VoiceAgentAvatarIceServer(urls); + deserializedVoiceAgentAvatarIceServer.username = username; + deserializedVoiceAgentAvatarIceServer.credential = credential; + return deserializedVoiceAgentAvatarIceServer; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java new file mode 100644 index 0000000000000..36e0eedba01d7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarOutputProtocol.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The transport used to deliver the avatar video stream. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarOutputProtocol extends ExpandableStringEnum { + + /** + * Static value webrtc for VoiceAgentAvatarOutputProtocol. + */ + @Generated + public static final VoiceAgentAvatarOutputProtocol WEBRTC = fromString("webrtc"); + + /** + * Static value websocket for VoiceAgentAvatarOutputProtocol. + */ + @Generated + public static final VoiceAgentAvatarOutputProtocol WEBSOCKET = fromString("websocket"); + + /** + * Creates a new instance of VoiceAgentAvatarOutputProtocol value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentAvatarOutputProtocol() { + } + + /** + * Creates or finds a VoiceAgentAvatarOutputProtocol from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentAvatarOutputProtocol. + */ + @Generated + public static VoiceAgentAvatarOutputProtocol fromString(String name) { + return fromString(name, VoiceAgentAvatarOutputProtocol.class); + } + + /** + * Gets known VoiceAgentAvatarOutputProtocol values. + * + * @return known VoiceAgentAvatarOutputProtocol values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentAvatarOutputProtocol.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java new file mode 100644 index 0000000000000..eca64424dcac7 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarScene.java @@ -0,0 +1,278 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Avatar placement and motion settings. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarScene implements JsonSerializable { + + /* + * The zoom property. + */ + @Generated + private Double zoom; + + /* + * The position_x property. + */ + @Generated + private Double positionX; + + /* + * The position_y property. + */ + @Generated + private Double positionY; + + /* + * The rotation_x property. + */ + @Generated + private Double rotationX; + + /* + * The rotation_y property. + */ + @Generated + private Double rotationY; + + /* + * The rotation_z property. + */ + @Generated + private Double rotationZ; + + /* + * The amplitude property. + */ + @Generated + private Double amplitude; + + /** + * Creates an instance of VoiceAgentAvatarScene class. + */ + @Generated + public VoiceAgentAvatarScene() { + } + + /** + * Get the zoom property: The zoom property. + * + * @return the zoom value. + */ + @Generated + public Double getZoom() { + return this.zoom; + } + + /** + * Set the zoom property: The zoom property. + * + * @param zoom the zoom value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setZoom(Double zoom) { + this.zoom = zoom; + return this; + } + + /** + * Get the positionX property: The position_x property. + * + * @return the positionX value. + */ + @Generated + public Double getPositionX() { + return this.positionX; + } + + /** + * Set the positionX property: The position_x property. + * + * @param positionX the positionX value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setPositionX(Double positionX) { + this.positionX = positionX; + return this; + } + + /** + * Get the positionY property: The position_y property. + * + * @return the positionY value. + */ + @Generated + public Double getPositionY() { + return this.positionY; + } + + /** + * Set the positionY property: The position_y property. + * + * @param positionY the positionY value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setPositionY(Double positionY) { + this.positionY = positionY; + return this; + } + + /** + * Get the rotationX property: The rotation_x property. + * + * @return the rotationX value. + */ + @Generated + public Double getRotationX() { + return this.rotationX; + } + + /** + * Set the rotationX property: The rotation_x property. + * + * @param rotationX the rotationX value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setRotationX(Double rotationX) { + this.rotationX = rotationX; + return this; + } + + /** + * Get the rotationY property: The rotation_y property. + * + * @return the rotationY value. + */ + @Generated + public Double getRotationY() { + return this.rotationY; + } + + /** + * Set the rotationY property: The rotation_y property. + * + * @param rotationY the rotationY value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setRotationY(Double rotationY) { + this.rotationY = rotationY; + return this; + } + + /** + * Get the rotationZ property: The rotation_z property. + * + * @return the rotationZ value. + */ + @Generated + public Double getRotationZ() { + return this.rotationZ; + } + + /** + * Set the rotationZ property: The rotation_z property. + * + * @param rotationZ the rotationZ value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setRotationZ(Double rotationZ) { + this.rotationZ = rotationZ; + return this; + } + + /** + * Get the amplitude property: The amplitude property. + * + * @return the amplitude value. + */ + @Generated + public Double getAmplitude() { + return this.amplitude; + } + + /** + * Set the amplitude property: The amplitude property. + * + * @param amplitude the amplitude value to set. + * @return the VoiceAgentAvatarScene object itself. + */ + @Generated + public VoiceAgentAvatarScene setAmplitude(Double amplitude) { + this.amplitude = amplitude; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("zoom", this.zoom); + jsonWriter.writeNumberField("position_x", this.positionX); + jsonWriter.writeNumberField("position_y", this.positionY); + jsonWriter.writeNumberField("rotation_x", this.rotationX); + jsonWriter.writeNumberField("rotation_y", this.rotationY); + jsonWriter.writeNumberField("rotation_z", this.rotationZ); + jsonWriter.writeNumberField("amplitude", this.amplitude); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarScene from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarScene 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 VoiceAgentAvatarScene. + */ + @Generated + public static VoiceAgentAvatarScene fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAvatarScene deserializedVoiceAgentAvatarScene = new VoiceAgentAvatarScene(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("zoom".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.zoom = reader.getNullable(JsonReader::getDouble); + } else if ("position_x".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.positionX = reader.getNullable(JsonReader::getDouble); + } else if ("position_y".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.positionY = reader.getNullable(JsonReader::getDouble); + } else if ("rotation_x".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.rotationX = reader.getNullable(JsonReader::getDouble); + } else if ("rotation_y".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.rotationY = reader.getNullable(JsonReader::getDouble); + } else if ("rotation_z".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.rotationZ = reader.getNullable(JsonReader::getDouble); + } else if ("amplitude".equals(fieldName)) { + deserializedVoiceAgentAvatarScene.amplitude = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAvatarScene; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java new file mode 100644 index 0000000000000..43009e8b7a972 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarType.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The avatar type. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarType extends ExpandableStringEnum { + + /** + * Static value video_avatar for VoiceAgentAvatarType. + */ + @Generated + public static final VoiceAgentAvatarType VIDEO_AVATAR = fromString("video_avatar"); + + /** + * Static value photo_avatar for VoiceAgentAvatarType. + */ + @Generated + public static final VoiceAgentAvatarType PHOTO_AVATAR = fromString("photo_avatar"); + + /** + * Creates a new instance of VoiceAgentAvatarType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentAvatarType() { + } + + /** + * Creates or finds a VoiceAgentAvatarType from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentAvatarType. + */ + @Generated + public static VoiceAgentAvatarType fromString(String name) { + return fromString(name, VoiceAgentAvatarType.class); + } + + /** + * Gets known VoiceAgentAvatarType values. + * + * @return known VoiceAgentAvatarType values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentAvatarType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java new file mode 100644 index 0000000000000..6ed15e234eefa --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoBackground.java @@ -0,0 +1,124 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The avatar video background. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarVideoBackground implements JsonSerializable { + + /* + * The image_url property. + */ + @Generated + private String imageUrl; + + /* + * The color property. + */ + @Generated + private String color; + + /** + * Creates an instance of VoiceAgentAvatarVideoBackground class. + */ + @Generated + public VoiceAgentAvatarVideoBackground() { + } + + /** + * Get the imageUrl property: The image_url property. + * + * @return the imageUrl value. + */ + @Generated + public String getImageUrl() { + return this.imageUrl; + } + + /** + * Set the imageUrl property: The image_url property. + * + * @param imageUrl the imageUrl value to set. + * @return the VoiceAgentAvatarVideoBackground object itself. + */ + @Generated + public VoiceAgentAvatarVideoBackground setImageUrl(String imageUrl) { + this.imageUrl = imageUrl; + return this; + } + + /** + * Get the color property: The color property. + * + * @return the color value. + */ + @Generated + public String getColor() { + return this.color; + } + + /** + * Set the color property: The color property. + * + * @param color the color value to set. + * @return the VoiceAgentAvatarVideoBackground object itself. + */ + @Generated + public VoiceAgentAvatarVideoBackground setColor(String color) { + this.color = color; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("image_url", this.imageUrl); + jsonWriter.writeStringField("color", this.color); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarVideoBackground from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarVideoBackground 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 VoiceAgentAvatarVideoBackground. + */ + @Generated + public static VoiceAgentAvatarVideoBackground fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAvatarVideoBackground deserializedVoiceAgentAvatarVideoBackground + = new VoiceAgentAvatarVideoBackground(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("image_url".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoBackground.imageUrl = reader.getString(); + } else if ("color".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoBackground.color = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAvatarVideoBackground; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java new file mode 100644 index 0000000000000..08662bc01b6c1 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoCrop.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * The rectangular crop applied to avatar video. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarVideoCrop implements JsonSerializable { + + /* + * The bottom_right property. + */ + @Generated + private final List bottomRight; + + /* + * The top_left property. + */ + @Generated + private final List topLeft; + + /** + * Creates an instance of VoiceAgentAvatarVideoCrop class. + * + * @param bottomRight the bottomRight value to set. + * @param topLeft the topLeft value to set. + */ + @Generated + public VoiceAgentAvatarVideoCrop(List bottomRight, List topLeft) { + this.bottomRight = bottomRight; + this.topLeft = topLeft; + } + + /** + * Get the bottomRight property: The bottom_right property. + * + * @return the bottomRight value. + */ + @Generated + public List getBottomRight() { + return this.bottomRight; + } + + /** + * Get the topLeft property: The top_left property. + * + * @return the topLeft value. + */ + @Generated + public List getTopLeft() { + return this.topLeft; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("bottom_right", this.bottomRight, (writer, element) -> writer.writeInt(element)); + jsonWriter.writeArrayField("top_left", this.topLeft, (writer, element) -> writer.writeInt(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarVideoCrop from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarVideoCrop 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 VoiceAgentAvatarVideoCrop. + */ + @Generated + public static VoiceAgentAvatarVideoCrop fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List bottomRight = null; + List topLeft = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("bottom_right".equals(fieldName)) { + bottomRight = reader.readArray(reader1 -> reader1.getInt()); + } else if ("top_left".equals(fieldName)) { + topLeft = reader.readArray(reader1 -> reader1.getInt()); + } else { + reader.skipChildren(); + } + } + return new VoiceAgentAvatarVideoCrop(bottomRight, topLeft); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java new file mode 100644 index 0000000000000..7dfec7021f031 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoParams.java @@ -0,0 +1,218 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Avatar video encoder and presentation settings. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarVideoParams implements JsonSerializable { + + /* + * The target video bitrate in bits per second. + */ + @Generated + private Integer bitrate; + + /* + * The crop property. + */ + @Generated + private VoiceAgentAvatarVideoCrop crop; + + /* + * The resolution property. + */ + @Generated + private VoiceAgentAvatarVideoResolution resolution; + + /* + * The background property. + */ + @Generated + private VoiceAgentAvatarVideoBackground background; + + /* + * The gop_size property. + */ + @Generated + private Integer gopSize; + + /** + * Creates an instance of VoiceAgentAvatarVideoParams class. + */ + @Generated + public VoiceAgentAvatarVideoParams() { + } + + /** + * Get the bitrate property: The target video bitrate in bits per second. + * + * @return the bitrate value. + */ + @Generated + public Integer getBitrate() { + return this.bitrate; + } + + /** + * Set the bitrate property: The target video bitrate in bits per second. + * + * @param bitrate the bitrate value to set. + * @return the VoiceAgentAvatarVideoParams object itself. + */ + @Generated + public VoiceAgentAvatarVideoParams setBitrate(Integer bitrate) { + this.bitrate = bitrate; + return this; + } + + /** + * Get the crop property: The crop property. + * + * @return the crop value. + */ + @Generated + public VoiceAgentAvatarVideoCrop getCrop() { + return this.crop; + } + + /** + * Set the crop property: The crop property. + * + * @param crop the crop value to set. + * @return the VoiceAgentAvatarVideoParams object itself. + */ + @Generated + public VoiceAgentAvatarVideoParams setCrop(VoiceAgentAvatarVideoCrop crop) { + this.crop = crop; + return this; + } + + /** + * Get the resolution property: The resolution property. + * + * @return the resolution value. + */ + @Generated + public VoiceAgentAvatarVideoResolution getResolution() { + return this.resolution; + } + + /** + * Set the resolution property: The resolution property. + * + * @param resolution the resolution value to set. + * @return the VoiceAgentAvatarVideoParams object itself. + */ + @Generated + public VoiceAgentAvatarVideoParams setResolution(VoiceAgentAvatarVideoResolution resolution) { + this.resolution = resolution; + return this; + } + + /** + * Get the background property: The background property. + * + * @return the background value. + */ + @Generated + public VoiceAgentAvatarVideoBackground getBackground() { + return this.background; + } + + /** + * Set the background property: The background property. + * + * @param background the background value to set. + * @return the VoiceAgentAvatarVideoParams object itself. + */ + @Generated + public VoiceAgentAvatarVideoParams setBackground(VoiceAgentAvatarVideoBackground background) { + this.background = background; + return this; + } + + /** + * Get the gopSize property: The gop_size property. + * + * @return the gopSize value. + */ + @Generated + public Integer getGopSize() { + return this.gopSize; + } + + /** + * Set the gopSize property: The gop_size property. + * + * @param gopSize the gopSize value to set. + * @return the VoiceAgentAvatarVideoParams object itself. + */ + @Generated + public VoiceAgentAvatarVideoParams setGopSize(Integer gopSize) { + this.gopSize = gopSize; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("bitrate", this.bitrate); + jsonWriter.writeJsonField("crop", this.crop); + jsonWriter.writeJsonField("resolution", this.resolution); + jsonWriter.writeJsonField("background", this.background); + jsonWriter.writeNumberField("gop_size", this.gopSize); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarVideoParams from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarVideoParams 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 VoiceAgentAvatarVideoParams. + */ + @Generated + public static VoiceAgentAvatarVideoParams fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAvatarVideoParams deserializedVoiceAgentAvatarVideoParams = new VoiceAgentAvatarVideoParams(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("bitrate".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoParams.bitrate = reader.getNullable(JsonReader::getInt); + } else if ("crop".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoParams.crop = VoiceAgentAvatarVideoCrop.fromJson(reader); + } else if ("resolution".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoParams.resolution + = VoiceAgentAvatarVideoResolution.fromJson(reader); + } else if ("background".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoParams.background + = VoiceAgentAvatarVideoBackground.fromJson(reader); + } else if ("gop_size".equals(fieldName)) { + deserializedVoiceAgentAvatarVideoParams.gopSize = reader.getNullable(JsonReader::getInt); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAvatarVideoParams; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java new file mode 100644 index 0000000000000..a1863d215dbb1 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAvatarVideoResolution.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The avatar video resolution. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAvatarVideoResolution implements JsonSerializable { + + /* + * The width property. + */ + @Generated + private final int width; + + /* + * The height property. + */ + @Generated + private final int height; + + /** + * Creates an instance of VoiceAgentAvatarVideoResolution class. + * + * @param width the width value to set. + * @param height the height value to set. + */ + @Generated + public VoiceAgentAvatarVideoResolution(int width, int height) { + this.width = width; + this.height = height; + } + + /** + * Get the width property: The width property. + * + * @return the width value. + */ + @Generated + public int getWidth() { + return this.width; + } + + /** + * Get the height property: The height property. + * + * @return the height value. + */ + @Generated + public int getHeight() { + return this.height; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeIntField("width", this.width); + jsonWriter.writeIntField("height", this.height); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAvatarVideoResolution from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAvatarVideoResolution 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 VoiceAgentAvatarVideoResolution. + */ + @Generated + public static VoiceAgentAvatarVideoResolution fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + int width = 0; + int height = 0; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("width".equals(fieldName)) { + width = reader.getInt(); + } else if ("height".equals(fieldName)) { + height = reader.getInt(); + } else { + reader.skipChildren(); + } + } + return new VoiceAgentAvatarVideoResolution(width, height); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java new file mode 100644 index 0000000000000..99241881bc085 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadEnTurnDetection.java @@ -0,0 +1,416 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * English-optimized Azure semantic voice activity detection. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAzureSemanticVadEnTurnDetection extends VoiceAgentTurnDetectionConfig { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.AZURE_SEMANTIC_VAD_EN; + + /* + * Activation threshold for voice activity detection, from 0 to 1. + */ + @Generated + private Double threshold; + + /* + * Audio to include before detected speech, in milliseconds. + */ + @Generated + private Long prefixPaddingMs; + + /* + * Silence required to end speech detection, in milliseconds. + */ + @Generated + private Long silenceDurationMs; + + /* + * Maximum idle time before the detector ends the turn, in milliseconds. + */ + @Generated + private Long idleTimeoutMs; + + /* + * Semantic end-of-utterance detection configuration. Set to null to disable it. + */ + @Generated + private VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection; + + /* + * Minimum speech duration required to trigger detection, in milliseconds. + */ + @Generated + private Long speechDurationMs; + + /* + * Whether filler words are removed from transcription. + */ + @Generated + private Boolean removeFillerWords; + + /* + * Whether a response is created automatically when speech stops. + */ + @Generated + private Boolean createResponse; + + /* + * Whether user speech may interrupt the agent's response. + */ + @Generated + private Boolean interruptResponse; + + /** + * Creates an instance of VoiceAgentAzureSemanticVadEnTurnDetection class. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + @Override + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @return the threshold value. + */ + @Generated + public Double getThreshold() { + return this.threshold; + } + + /** + * Set the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @param threshold the threshold value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setThreshold(Double threshold) { + this.threshold = threshold; + return this; + } + + /** + * Get the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @return the prefixPaddingMs value. + */ + @Generated + public Duration getPrefixPaddingMs() { + if (this.prefixPaddingMs == null) { + return null; + } + return Duration.ofMillis(this.prefixPaddingMs); + } + + /** + * Set the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @param prefixPaddingMs the prefixPaddingMs value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setPrefixPaddingMs(Duration prefixPaddingMs) { + if (prefixPaddingMs == null) { + this.prefixPaddingMs = null; + } else { + this.prefixPaddingMs = prefixPaddingMs.toMillis(); + } + return this; + } + + /** + * Get the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @return the silenceDurationMs value. + */ + @Generated + public Duration getSilenceDurationMs() { + if (this.silenceDurationMs == null) { + return null; + } + return Duration.ofMillis(this.silenceDurationMs); + } + + /** + * Set the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @param silenceDurationMs the silenceDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setSilenceDurationMs(Duration silenceDurationMs) { + if (silenceDurationMs == null) { + this.silenceDurationMs = null; + } else { + this.silenceDurationMs = silenceDurationMs.toMillis(); + } + return this; + } + + /** + * Get the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @return the idleTimeoutMs value. + */ + @Generated + public Duration getIdleTimeoutMs() { + if (this.idleTimeoutMs == null) { + return null; + } + return Duration.ofMillis(this.idleTimeoutMs); + } + + /** + * Set the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @param idleTimeoutMs the idleTimeoutMs value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setIdleTimeoutMs(Duration idleTimeoutMs) { + if (idleTimeoutMs == null) { + this.idleTimeoutMs = null; + } else { + this.idleTimeoutMs = idleTimeoutMs.toMillis(); + } + return this; + } + + /** + * Get the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @return the endOfUtteranceDetection value. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection getEndOfUtteranceDetection() { + return this.endOfUtteranceDetection; + } + + /** + * Set the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @param endOfUtteranceDetection the endOfUtteranceDetection value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection + setEndOfUtteranceDetection(VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection) { + this.endOfUtteranceDetection = endOfUtteranceDetection; + return this; + } + + /** + * Get the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @return the speechDurationMs value. + */ + @Generated + public Duration getSpeechDurationMs() { + if (this.speechDurationMs == null) { + return null; + } + return Duration.ofMillis(this.speechDurationMs); + } + + /** + * Set the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @param speechDurationMs the speechDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setSpeechDurationMs(Duration speechDurationMs) { + if (speechDurationMs == null) { + this.speechDurationMs = null; + } else { + this.speechDurationMs = speechDurationMs.toMillis(); + } + return this; + } + + /** + * Get the removeFillerWords property: Whether filler words are removed from transcription. + * + * @return the removeFillerWords value. + */ + @Generated + public Boolean isRemoveFillerWords() { + return this.removeFillerWords; + } + + /** + * Set the removeFillerWords property: Whether filler words are removed from transcription. + * + * @param removeFillerWords the removeFillerWords value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setRemoveFillerWords(Boolean removeFillerWords) { + this.removeFillerWords = removeFillerWords; + return this; + } + + /** + * Get the createResponse property: Whether a response is created automatically when speech stops. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: Whether a response is created automatically when speech stops. + * + * @param createResponse the createResponse value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @param interruptResponse the interruptResponse value to set. + * @return the VoiceAgentAzureSemanticVadEnTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadEnTurnDetection setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentAzureSemanticVadEnTurnDetection setAutoTruncate(Boolean autoTruncate) { + super.setAutoTruncate(autoTruncate); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("auto_truncate", isAutoTruncate()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("threshold", this.threshold); + jsonWriter.writeNumberField("prefix_padding_ms", this.prefixPaddingMs); + jsonWriter.writeNumberField("silence_duration_ms", this.silenceDurationMs); + jsonWriter.writeNumberField("idle_timeout_ms", this.idleTimeoutMs); + jsonWriter.writeJsonField("end_of_utterance_detection", this.endOfUtteranceDetection); + jsonWriter.writeNumberField("speech_duration_ms", this.speechDurationMs); + jsonWriter.writeBooleanField("remove_filler_words", this.removeFillerWords); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAzureSemanticVadEnTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAzureSemanticVadEnTurnDetection 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 VoiceAgentAzureSemanticVadEnTurnDetection. + */ + @Generated + public static VoiceAgentAzureSemanticVadEnTurnDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAzureSemanticVadEnTurnDetection deserializedVoiceAgentAzureSemanticVadEnTurnDetection + = new VoiceAgentAzureSemanticVadEnTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection + .setAutoTruncate(reader.getNullable(JsonReader::getBoolean)); + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("threshold".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.threshold + = reader.getNullable(JsonReader::getDouble); + } else if ("prefix_padding_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.prefixPaddingMs + = reader.getNullable(JsonReader::getLong); + } else if ("silence_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.silenceDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("idle_timeout_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.idleTimeoutMs + = reader.getNullable(JsonReader::getLong); + } else if ("end_of_utterance_detection".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.endOfUtteranceDetection + = VoiceAgentEndOfUtteranceDetection.fromJson(reader); + } else if ("speech_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.speechDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("remove_filler_words".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.removeFillerWords + = reader.getNullable(JsonReader::getBoolean); + } else if ("create_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadEnTurnDetection.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAzureSemanticVadEnTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java new file mode 100644 index 0000000000000..b9a2c6a1d19a5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadMultilingualTurnDetection.java @@ -0,0 +1,450 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * Multilingual Azure semantic voice activity detection. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAzureSemanticVadMultilingualTurnDetection extends VoiceAgentTurnDetectionConfig { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.AZURE_SEMANTIC_VAD_MULTILINGUAL; + + /* + * Activation threshold for voice activity detection, from 0 to 1. + */ + @Generated + private Double threshold; + + /* + * Audio to include before detected speech, in milliseconds. + */ + @Generated + private Long prefixPaddingMs; + + /* + * Silence required to end speech detection, in milliseconds. + */ + @Generated + private Long silenceDurationMs; + + /* + * Maximum idle time before the detector ends the turn, in milliseconds. + */ + @Generated + private Long idleTimeoutMs; + + /* + * Semantic end-of-utterance detection configuration. Set to null to disable it. + */ + @Generated + private VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection; + + /* + * Minimum speech duration required to trigger detection, in milliseconds. + */ + @Generated + private Long speechDurationMs; + + /* + * Whether filler words are removed from transcription. + */ + @Generated + private Boolean removeFillerWords; + + /* + * Whether a response is created automatically when speech stops. + */ + @Generated + private Boolean createResponse; + + /* + * Whether user speech may interrupt the agent's response. + */ + @Generated + private Boolean interruptResponse; + + /* + * BCP-47 language codes used for speech detection. + */ + @Generated + private List languages; + + /** + * Creates an instance of VoiceAgentAzureSemanticVadMultilingualTurnDetection class. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + @Override + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @return the threshold value. + */ + @Generated + public Double getThreshold() { + return this.threshold; + } + + /** + * Set the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @param threshold the threshold value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setThreshold(Double threshold) { + this.threshold = threshold; + return this; + } + + /** + * Get the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @return the prefixPaddingMs value. + */ + @Generated + public Duration getPrefixPaddingMs() { + if (this.prefixPaddingMs == null) { + return null; + } + return Duration.ofMillis(this.prefixPaddingMs); + } + + /** + * Set the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @param prefixPaddingMs the prefixPaddingMs value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setPrefixPaddingMs(Duration prefixPaddingMs) { + if (prefixPaddingMs == null) { + this.prefixPaddingMs = null; + } else { + this.prefixPaddingMs = prefixPaddingMs.toMillis(); + } + return this; + } + + /** + * Get the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @return the silenceDurationMs value. + */ + @Generated + public Duration getSilenceDurationMs() { + if (this.silenceDurationMs == null) { + return null; + } + return Duration.ofMillis(this.silenceDurationMs); + } + + /** + * Set the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @param silenceDurationMs the silenceDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setSilenceDurationMs(Duration silenceDurationMs) { + if (silenceDurationMs == null) { + this.silenceDurationMs = null; + } else { + this.silenceDurationMs = silenceDurationMs.toMillis(); + } + return this; + } + + /** + * Get the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @return the idleTimeoutMs value. + */ + @Generated + public Duration getIdleTimeoutMs() { + if (this.idleTimeoutMs == null) { + return null; + } + return Duration.ofMillis(this.idleTimeoutMs); + } + + /** + * Set the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @param idleTimeoutMs the idleTimeoutMs value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setIdleTimeoutMs(Duration idleTimeoutMs) { + if (idleTimeoutMs == null) { + this.idleTimeoutMs = null; + } else { + this.idleTimeoutMs = idleTimeoutMs.toMillis(); + } + return this; + } + + /** + * Get the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @return the endOfUtteranceDetection value. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection getEndOfUtteranceDetection() { + return this.endOfUtteranceDetection; + } + + /** + * Set the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @param endOfUtteranceDetection the endOfUtteranceDetection value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection + setEndOfUtteranceDetection(VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection) { + this.endOfUtteranceDetection = endOfUtteranceDetection; + return this; + } + + /** + * Get the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @return the speechDurationMs value. + */ + @Generated + public Duration getSpeechDurationMs() { + if (this.speechDurationMs == null) { + return null; + } + return Duration.ofMillis(this.speechDurationMs); + } + + /** + * Set the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @param speechDurationMs the speechDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setSpeechDurationMs(Duration speechDurationMs) { + if (speechDurationMs == null) { + this.speechDurationMs = null; + } else { + this.speechDurationMs = speechDurationMs.toMillis(); + } + return this; + } + + /** + * Get the removeFillerWords property: Whether filler words are removed from transcription. + * + * @return the removeFillerWords value. + */ + @Generated + public Boolean isRemoveFillerWords() { + return this.removeFillerWords; + } + + /** + * Set the removeFillerWords property: Whether filler words are removed from transcription. + * + * @param removeFillerWords the removeFillerWords value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setRemoveFillerWords(Boolean removeFillerWords) { + this.removeFillerWords = removeFillerWords; + return this; + } + + /** + * Get the createResponse property: Whether a response is created automatically when speech stops. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: Whether a response is created automatically when speech stops. + * + * @param createResponse the createResponse value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @param interruptResponse the interruptResponse value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * Get the languages property: BCP-47 language codes used for speech detection. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Set the languages property: BCP-47 language codes used for speech detection. + * + * @param languages the languages value to set. + * @return the VoiceAgentAzureSemanticVadMultilingualTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setLanguages(List languages) { + this.languages = languages; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentAzureSemanticVadMultilingualTurnDetection setAutoTruncate(Boolean autoTruncate) { + super.setAutoTruncate(autoTruncate); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("auto_truncate", isAutoTruncate()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("threshold", this.threshold); + jsonWriter.writeNumberField("prefix_padding_ms", this.prefixPaddingMs); + jsonWriter.writeNumberField("silence_duration_ms", this.silenceDurationMs); + jsonWriter.writeNumberField("idle_timeout_ms", this.idleTimeoutMs); + jsonWriter.writeJsonField("end_of_utterance_detection", this.endOfUtteranceDetection); + jsonWriter.writeNumberField("speech_duration_ms", this.speechDurationMs); + jsonWriter.writeBooleanField("remove_filler_words", this.removeFillerWords); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAzureSemanticVadMultilingualTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAzureSemanticVadMultilingualTurnDetection 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 VoiceAgentAzureSemanticVadMultilingualTurnDetection. + */ + @Generated + public static VoiceAgentAzureSemanticVadMultilingualTurnDetection fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAzureSemanticVadMultilingualTurnDetection deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection + = new VoiceAgentAzureSemanticVadMultilingualTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection + .setAutoTruncate(reader.getNullable(JsonReader::getBoolean)); + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("threshold".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.threshold + = reader.getNullable(JsonReader::getDouble); + } else if ("prefix_padding_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.prefixPaddingMs + = reader.getNullable(JsonReader::getLong); + } else if ("silence_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.silenceDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("idle_timeout_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.idleTimeoutMs + = reader.getNullable(JsonReader::getLong); + } else if ("end_of_utterance_detection".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.endOfUtteranceDetection + = VoiceAgentEndOfUtteranceDetection.fromJson(reader); + } else if ("speech_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.speechDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("remove_filler_words".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.removeFillerWords + = reader.getNullable(JsonReader::getBoolean); + } else if ("create_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("languages".equals(fieldName)) { + List languages = reader.readArray(reader1 -> reader1.getString()); + deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection.languages = languages; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAzureSemanticVadMultilingualTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java new file mode 100644 index 0000000000000..0aa644ee95ddb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentAzureSemanticVadTurnDetection.java @@ -0,0 +1,449 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * Azure semantic voice activity detection. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentAzureSemanticVadTurnDetection extends VoiceAgentTurnDetectionConfig { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.AZURE_SEMANTIC_VAD; + + /* + * Activation threshold for voice activity detection, from 0 to 1. + */ + @Generated + private Double threshold; + + /* + * Audio to include before detected speech, in milliseconds. + */ + @Generated + private Long prefixPaddingMs; + + /* + * Silence required to end speech detection, in milliseconds. + */ + @Generated + private Long silenceDurationMs; + + /* + * Maximum idle time before the detector ends the turn, in milliseconds. + */ + @Generated + private Long idleTimeoutMs; + + /* + * Semantic end-of-utterance detection configuration. Set to null to disable it. + */ + @Generated + private VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection; + + /* + * Minimum speech duration required to trigger detection, in milliseconds. + */ + @Generated + private Long speechDurationMs; + + /* + * Whether filler words are removed from transcription. + */ + @Generated + private Boolean removeFillerWords; + + /* + * Whether a response is created automatically when speech stops. + */ + @Generated + private Boolean createResponse; + + /* + * Whether user speech may interrupt the agent's response. + */ + @Generated + private Boolean interruptResponse; + + /* + * BCP-47 language codes used for speech detection. + */ + @Generated + private List languages; + + /** + * Creates an instance of VoiceAgentAzureSemanticVadTurnDetection class. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + @Override + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @return the threshold value. + */ + @Generated + public Double getThreshold() { + return this.threshold; + } + + /** + * Set the threshold property: Activation threshold for voice activity detection, from 0 to 1. + * + * @param threshold the threshold value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setThreshold(Double threshold) { + this.threshold = threshold; + return this; + } + + /** + * Get the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @return the prefixPaddingMs value. + */ + @Generated + public Duration getPrefixPaddingMs() { + if (this.prefixPaddingMs == null) { + return null; + } + return Duration.ofMillis(this.prefixPaddingMs); + } + + /** + * Set the prefixPaddingMs property: Audio to include before detected speech, in milliseconds. + * + * @param prefixPaddingMs the prefixPaddingMs value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setPrefixPaddingMs(Duration prefixPaddingMs) { + if (prefixPaddingMs == null) { + this.prefixPaddingMs = null; + } else { + this.prefixPaddingMs = prefixPaddingMs.toMillis(); + } + return this; + } + + /** + * Get the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @return the silenceDurationMs value. + */ + @Generated + public Duration getSilenceDurationMs() { + if (this.silenceDurationMs == null) { + return null; + } + return Duration.ofMillis(this.silenceDurationMs); + } + + /** + * Set the silenceDurationMs property: Silence required to end speech detection, in milliseconds. + * + * @param silenceDurationMs the silenceDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setSilenceDurationMs(Duration silenceDurationMs) { + if (silenceDurationMs == null) { + this.silenceDurationMs = null; + } else { + this.silenceDurationMs = silenceDurationMs.toMillis(); + } + return this; + } + + /** + * Get the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @return the idleTimeoutMs value. + */ + @Generated + public Duration getIdleTimeoutMs() { + if (this.idleTimeoutMs == null) { + return null; + } + return Duration.ofMillis(this.idleTimeoutMs); + } + + /** + * Set the idleTimeoutMs property: Maximum idle time before the detector ends the turn, in milliseconds. + * + * @param idleTimeoutMs the idleTimeoutMs value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setIdleTimeoutMs(Duration idleTimeoutMs) { + if (idleTimeoutMs == null) { + this.idleTimeoutMs = null; + } else { + this.idleTimeoutMs = idleTimeoutMs.toMillis(); + } + return this; + } + + /** + * Get the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @return the endOfUtteranceDetection value. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection getEndOfUtteranceDetection() { + return this.endOfUtteranceDetection; + } + + /** + * Set the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @param endOfUtteranceDetection the endOfUtteranceDetection value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection + setEndOfUtteranceDetection(VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection) { + this.endOfUtteranceDetection = endOfUtteranceDetection; + return this; + } + + /** + * Get the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @return the speechDurationMs value. + */ + @Generated + public Duration getSpeechDurationMs() { + if (this.speechDurationMs == null) { + return null; + } + return Duration.ofMillis(this.speechDurationMs); + } + + /** + * Set the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @param speechDurationMs the speechDurationMs value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setSpeechDurationMs(Duration speechDurationMs) { + if (speechDurationMs == null) { + this.speechDurationMs = null; + } else { + this.speechDurationMs = speechDurationMs.toMillis(); + } + return this; + } + + /** + * Get the removeFillerWords property: Whether filler words are removed from transcription. + * + * @return the removeFillerWords value. + */ + @Generated + public Boolean isRemoveFillerWords() { + return this.removeFillerWords; + } + + /** + * Set the removeFillerWords property: Whether filler words are removed from transcription. + * + * @param removeFillerWords the removeFillerWords value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setRemoveFillerWords(Boolean removeFillerWords) { + this.removeFillerWords = removeFillerWords; + return this; + } + + /** + * Get the createResponse property: Whether a response is created automatically when speech stops. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: Whether a response is created automatically when speech stops. + * + * @param createResponse the createResponse value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: Whether user speech may interrupt the agent's response. + * + * @param interruptResponse the interruptResponse value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * Get the languages property: BCP-47 language codes used for speech detection. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Set the languages property: BCP-47 language codes used for speech detection. + * + * @param languages the languages value to set. + * @return the VoiceAgentAzureSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentAzureSemanticVadTurnDetection setLanguages(List languages) { + this.languages = languages; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentAzureSemanticVadTurnDetection setAutoTruncate(Boolean autoTruncate) { + super.setAutoTruncate(autoTruncate); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("auto_truncate", isAutoTruncate()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("threshold", this.threshold); + jsonWriter.writeNumberField("prefix_padding_ms", this.prefixPaddingMs); + jsonWriter.writeNumberField("silence_duration_ms", this.silenceDurationMs); + jsonWriter.writeNumberField("idle_timeout_ms", this.idleTimeoutMs); + jsonWriter.writeJsonField("end_of_utterance_detection", this.endOfUtteranceDetection); + jsonWriter.writeNumberField("speech_duration_ms", this.speechDurationMs); + jsonWriter.writeBooleanField("remove_filler_words", this.removeFillerWords); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentAzureSemanticVadTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentAzureSemanticVadTurnDetection 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 VoiceAgentAzureSemanticVadTurnDetection. + */ + @Generated + public static VoiceAgentAzureSemanticVadTurnDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAzureSemanticVadTurnDetection deserializedVoiceAgentAzureSemanticVadTurnDetection + = new VoiceAgentAzureSemanticVadTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection + .setAutoTruncate(reader.getNullable(JsonReader::getBoolean)); + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("threshold".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.threshold + = reader.getNullable(JsonReader::getDouble); + } else if ("prefix_padding_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.prefixPaddingMs + = reader.getNullable(JsonReader::getLong); + } else if ("silence_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.silenceDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("idle_timeout_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.idleTimeoutMs + = reader.getNullable(JsonReader::getLong); + } else if ("end_of_utterance_detection".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.endOfUtteranceDetection + = VoiceAgentEndOfUtteranceDetection.fromJson(reader); + } else if ("speech_duration_ms".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.speechDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("remove_filler_words".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.removeFillerWords + = reader.getNullable(JsonReader::getBoolean); + } else if ("create_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedVoiceAgentAzureSemanticVadTurnDetection.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("languages".equals(fieldName)) { + List languages = reader.readArray(reader1 -> reader1.getString()); + deserializedVoiceAgentAzureSemanticVadTurnDetection.languages = languages; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentAzureSemanticVadTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventRtcCallSdpCreate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventRtcCallSdpCreate.java new file mode 100644 index 0000000000000..a866dac6b73ba --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventRtcCallSdpCreate.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `rtc.call.sdp.create` client event: begins WebRTC signaling with an SDP offer. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentClientEventRtcCallSdpCreate extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.RTC_CALL_SDP_CREATE; + + /* + * An optional client-generated event identifier. + */ + @Generated + private String eventId; + + /* + * The client's SDP offer for the WebRTC connection. + */ + @Generated + private final String sdpOffer; + + /* + * Optional session configuration. For an `/agents` endpoint the service rebuilds it authoritatively from the + * persisted agent definition. + */ + @Generated + private VoiceAgentSessionUpdateConfig session; + + /** + * Creates an instance of VoiceAgentClientEventRtcCallSdpCreate class. + * + * @param sdpOffer the sdpOffer value to set. + */ + @Generated + public VoiceAgentClientEventRtcCallSdpCreate(String sdpOffer) { + this.sdpOffer = sdpOffer; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: An optional client-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: An optional client-generated event identifier. + * + * @param eventId the eventId value to set. + * @return the VoiceAgentClientEventRtcCallSdpCreate object itself. + */ + @Generated + public VoiceAgentClientEventRtcCallSdpCreate setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the sdpOffer property: The client's SDP offer for the WebRTC connection. + * + * @return the sdpOffer value. + */ + @Generated + public String getSdpOffer() { + return this.sdpOffer; + } + + /** + * Get the session property: Optional session configuration. For an `/agents` endpoint the service rebuilds it + * authoritatively from the persisted agent definition. + * + * @return the session value. + */ + @Generated + public VoiceAgentSessionUpdateConfig getSession() { + return this.session; + } + + /** + * Set the session property: Optional session configuration. For an `/agents` endpoint the service rebuilds it + * authoritatively from the persisted agent definition. + * + * @param session the session value to set. + * @return the VoiceAgentClientEventRtcCallSdpCreate object itself. + */ + @Generated + public VoiceAgentClientEventRtcCallSdpCreate setSession(VoiceAgentSessionUpdateConfig session) { + this.session = session; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("sdp_offer", this.sdpOffer); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("session", this.session); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentClientEventRtcCallSdpCreate from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentClientEventRtcCallSdpCreate 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 VoiceAgentClientEventRtcCallSdpCreate. + */ + @Generated + public static VoiceAgentClientEventRtcCallSdpCreate fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String sdpOffer = null; + RealtimeClientEventType type = RealtimeClientEventType.RTC_CALL_SDP_CREATE; + String eventId = null; + VoiceAgentSessionUpdateConfig session = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("sdp_offer".equals(fieldName)) { + sdpOffer = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("session".equals(fieldName)) { + session = VoiceAgentSessionUpdateConfig.fromJson(reader); + } else { + reader.skipChildren(); + } + } + VoiceAgentClientEventRtcCallSdpCreate deserializedVoiceAgentClientEventRtcCallSdpCreate + = new VoiceAgentClientEventRtcCallSdpCreate(sdpOffer); + deserializedVoiceAgentClientEventRtcCallSdpCreate.type = type; + deserializedVoiceAgentClientEventRtcCallSdpCreate.eventId = eventId; + deserializedVoiceAgentClientEventRtcCallSdpCreate.session = session; + return deserializedVoiceAgentClientEventRtcCallSdpCreate; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.java new file mode 100644 index 0000000000000..e6fa9ee1c6608 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.java @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.avatar.connect` client event. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentClientEventSessionAvatarConnect extends RealtimeClientEvent { + + /* + * The type property. + */ + @Generated + private RealtimeClientEventType type = RealtimeClientEventType.SESSION_AVATAR_CONNECT; + + /* + * An optional client-generated event identifier. + */ + @Generated + private String eventId; + + /* + * The client's SDP offer for avatar media negotiation. + */ + @Generated + private final String clientSdp; + + /** + * Creates an instance of VoiceAgentClientEventSessionAvatarConnect class. + * + * @param clientSdp the clientSdp value to set. + */ + @Generated + public VoiceAgentClientEventSessionAvatarConnect(String clientSdp) { + this.clientSdp = clientSdp; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeClientEventType getType() { + return this.type; + } + + /** + * Get the eventId property: An optional client-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Set the eventId property: An optional client-generated event identifier. + * + * @param eventId the eventId value to set. + * @return the VoiceAgentClientEventSessionAvatarConnect object itself. + */ + @Generated + public VoiceAgentClientEventSessionAvatarConnect setEventId(String eventId) { + this.eventId = eventId; + return this; + } + + /** + * Get the clientSdp property: The client's SDP offer for avatar media negotiation. + * + * @return the clientSdp value. + */ + @Generated + public String getClientSdp() { + return this.clientSdp; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("client_sdp", this.clientSdp); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentClientEventSessionAvatarConnect from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentClientEventSessionAvatarConnect 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 VoiceAgentClientEventSessionAvatarConnect. + */ + @Generated + public static VoiceAgentClientEventSessionAvatarConnect fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String clientSdp = null; + RealtimeClientEventType type = RealtimeClientEventType.SESSION_AVATAR_CONNECT; + String eventId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("client_sdp".equals(fieldName)) { + clientSdp = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeClientEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentClientEventSessionAvatarConnect deserializedVoiceAgentClientEventSessionAvatarConnect + = new VoiceAgentClientEventSessionAvatarConnect(clientSdp); + deserializedVoiceAgentClientEventSessionAvatarConnect.type = type; + deserializedVoiceAgentClientEventSessionAvatarConnect.eventId = eventId; + return deserializedVoiceAgentClientEventSessionAvatarConnect; + }); + } +} 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 new file mode 100644 index 0000000000000..b1852dce0f277 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentDefinition.java @@ -0,0 +1,724 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * The voice agent definition. Its configuration (model, instructions, audio, tools, and optional avatar) drives a + * managed speech-to-speech experience. Establish realtime voice sessions through + * `GET /agents/{agent_name}/endpoint/protocols/voice`. Every create or update produces a new immutable version. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentDefinition extends AgentDefinition { + + /* + * The kind property. + */ + @Generated + private AgentKind kind = AgentKind.VOICE; + + /* + * How the model backing this voice agent is served. Required with `model` for a model-backed voice agent and + * omitted when `conversation_engine` is provided. This is independent of the architecture (realtime or cascaded), + * which the service derives from the selected model. + */ + @Generated + private VoiceModelType modelType; + + /* + * The model to use for this agent. Required with `model_type` for a model-backed voice agent and omitted when + * `conversation_engine` is provided. The model must support realtime or cascaded voice. + */ + @Generated + private String model; + + /* + * The engine that owns conversation handling for this voice agent. Exactly one of this property and the + * model-backed configuration (`model_type` with `model`) must be provided. When this property is provided, + * `model_type`, `model`, `instructions`, `tools`, and `tool_choice` must be omitted, and `greeting.tool_choice` + * cannot be `required`, because the engine owns the conversation logic. The initial implementation supports a + * hosted-agent engine. + */ + @Generated + private VoiceConversationEngine conversationEngine; + + /* + * A system (or developer) message inserted into the model's context. Supports template substitution via + * `structured_inputs`, rendered per session before the live session starts. + */ + @Generated + private String instructions; + + /* + * Optional session-start greeting. Template mode speaks exact rendered text; LLM-generated mode asks the session + * model to author the opening response and may use configured tools. + */ + @Generated + private VoiceAgentGreetingConfig greeting; + + /* + * The audio configuration, including input and output formats, voice, turn detection, noise reduction, and + * transcription. These values are session defaults; a client may override supported fields when connecting. + */ + @Generated + private VoiceAgentAudioConfig audio; + + /* + * The output modalities the agent produces. Defaults to `["audio"]`. `animation` and `avatar` are available + * when an avatar is configured. + */ + @Generated + private List outputModalities; + + /* + * The maximum output-token count for one response. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * Additional fields to include in service outputs. + */ + @Generated + private List include; + + /* + * Interim-response settings for latency and tool execution. + */ + @Generated + private VoiceAgentInterimResponseConfig interimResponse; + + /* + * Optional avatar configuration. These values are session defaults and may be overridden when connecting. + */ + @Generated + private VoiceAgentAvatarConfig avatar; + + /* + * The tools the voice agent may use. Supported tool kinds are `function` (executed by the client), `mcp`, + * `system` (service-managed session controls), and `toolbox`. Server-side tools such as `web_search`, + * `azure_ai_search`, and `openapi` are provided through a toolbox rather than declared directly. + */ + @Generated + private List tools; + + /* + * How the model chooses tools for generated responses. `none` prevents tool calls, `auto` lets the model decide, + * `required` requires at least one tool call, and a specific function or MCP tool can be selected with an object. + * Defaults to `auto`. + */ + @Generated + private BinaryData toolChoice; + + /* + * Whether the model may call multiple tools in parallel. + */ + @Generated + private Boolean parallelToolCalls; + + /* + * Set of structured inputs that participate in prompt template substitution, rendered per session before the live + * session starts. + */ + @Generated + private Map structuredInputs; + + /* + * Optional configuration for sibling Foundry text agents that this voice agent may consult as background + * specialists. + */ + @Generated + private VoiceAgentSubagentConfig subagentConfig; + + /* + * Whether conversations with this agent are persisted. A single, all-or-nothing persistence switch that defaults to + * `false` (privacy-safe: off by default). When `true`, Foundry persists the full conversation — the + * transcript/event + * timeline and raw audio. When `false`, nothing is persisted and no conversation is surfaced. There is no separate + * audio-logging control; audio is persisted only as part of this switch. Latency/performance telemetry (e.g. + * time-to-first-audio, inter-token latency, interruption) is observability-only (customer trace / App Insights) and + * is not part of the persisted conversation content. + */ + @Generated + private Boolean store; + + /** + * Creates an instance of VoiceAgentDefinition class. + */ + @Generated + public VoiceAgentDefinition() { + } + + /** + * Get the kind property: The kind property. + * + * @return the kind value. + */ + @Generated + @Override + public AgentKind getKind() { + return this.kind; + } + + /** + * Get the modelType property: How the model backing this voice agent is served. Required with `model` for a + * model-backed voice agent and omitted when `conversation_engine` is provided. This is independent of the + * architecture (realtime or cascaded), which the service derives from the selected model. + * + * @return the modelType value. + */ + @Generated + public VoiceModelType getModelType() { + return this.modelType; + } + + /** + * Set the modelType property: How the model backing this voice agent is served. Required with `model` for a + * model-backed voice agent and omitted when `conversation_engine` is provided. This is independent of the + * architecture (realtime or cascaded), which the service derives from the selected model. + * + * @param modelType the modelType value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setModelType(VoiceModelType modelType) { + this.modelType = modelType; + return this; + } + + /** + * Get the model property: The model to use for this agent. Required with `model_type` for a model-backed voice + * agent and omitted when `conversation_engine` is provided. The model must support realtime or cascaded voice. + * + * @return the model value. + */ + @Generated + public String getModel() { + return this.model; + } + + /** + * Set the model property: The model to use for this agent. Required with `model_type` for a model-backed voice + * agent and omitted when `conversation_engine` is provided. 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 conversationEngine property: The engine that owns conversation handling for this voice agent. Exactly one + * of this property and the model-backed configuration (`model_type` with `model`) must be provided. When this + * property is provided, `model_type`, `model`, `instructions`, `tools`, and `tool_choice` must be omitted, and + * `greeting.tool_choice` cannot be `required`, because the engine owns the conversation logic. The initial + * implementation supports a hosted-agent engine. + * + * @return the conversationEngine value. + */ + @Generated + public VoiceConversationEngine getConversationEngine() { + return this.conversationEngine; + } + + /** + * Set the conversationEngine property: The engine that owns conversation handling for this voice agent. Exactly one + * of this property and the model-backed configuration (`model_type` with `model`) must be provided. When this + * property is provided, `model_type`, `model`, `instructions`, `tools`, and `tool_choice` must be omitted, and + * `greeting.tool_choice` cannot be `required`, because the engine owns the conversation logic. The initial + * implementation supports a hosted-agent engine. + * + * @param conversationEngine the conversationEngine value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setConversationEngine(VoiceConversationEngine conversationEngine) { + this.conversationEngine = conversationEngine; + return this; + } + + /** + * Get the instructions property: A system (or developer) message inserted into the model's context. Supports + * template substitution via `structured_inputs`, rendered per session before the live session starts. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Set the instructions property: A system (or developer) message inserted into the model's context. Supports + * template substitution via `structured_inputs`, rendered per session before the live session starts. + * + * @param instructions the instructions value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setInstructions(String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Get the greeting property: Optional session-start greeting. Template mode speaks exact rendered text; + * LLM-generated mode asks the session model to author the opening response and may use configured tools. + * + * @return the greeting value. + */ + @Generated + public VoiceAgentGreetingConfig getGreeting() { + return this.greeting; + } + + /** + * Set the greeting property: Optional session-start greeting. Template mode speaks exact rendered text; + * LLM-generated mode asks the session model to author the opening response and may use configured tools. + * + * @param greeting the greeting value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setGreeting(VoiceAgentGreetingConfig greeting) { + this.greeting = greeting; + return this; + } + + /** + * Get the audio property: The audio configuration, including input and output formats, voice, turn detection, noise + * reduction, and + * transcription. These values are session defaults; a client may override supported fields when connecting. + * + * @return the audio value. + */ + @Generated + public VoiceAgentAudioConfig getAudio() { + return this.audio; + } + + /** + * Set the audio property: The audio configuration, including input and output formats, voice, turn detection, noise + * reduction, and + * transcription. These values are session defaults; a client may override supported fields when connecting. + * + * @param audio the audio value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setAudio(VoiceAgentAudioConfig audio) { + this.audio = audio; + return this; + } + + /** + * Get the outputModalities property: The output modalities the agent produces. Defaults to `["audio"]`. `animation` + * and `avatar` are available + * when an avatar is configured. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: The output modalities the agent produces. Defaults to `["audio"]`. `animation` + * and `avatar` are available + * when an avatar is configured. + * + * @param outputModalities the outputModalities value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the maxOutputTokens property: The maximum output-token count for one response. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: The maximum output-token count for one response. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * Get the include property: Additional fields to include in service outputs. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Set the include property: Additional fields to include in service outputs. + * + * @param include the include value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setInclude(List include) { + this.include = include; + return this; + } + + /** + * Get the interimResponse property: Interim-response settings for latency and tool execution. + * + * @return the interimResponse value. + */ + @Generated + public VoiceAgentInterimResponseConfig getInterimResponse() { + return this.interimResponse; + } + + /** + * Set the interimResponse property: Interim-response settings for latency and tool execution. + * + * @param interimResponse the interimResponse value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setInterimResponse(VoiceAgentInterimResponseConfig interimResponse) { + this.interimResponse = interimResponse; + return this; + } + + /** + * Get the avatar property: Optional avatar configuration. These values are session defaults and may be overridden + * when connecting. + * + * @return the avatar value. + */ + @Generated + public VoiceAgentAvatarConfig getAvatar() { + return this.avatar; + } + + /** + * Set the avatar property: Optional avatar configuration. These values are session defaults and may be overridden + * when connecting. + * + * @param avatar the avatar value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setAvatar(VoiceAgentAvatarConfig avatar) { + this.avatar = avatar; + return this; + } + + /** + * Get the tools property: The tools the voice agent may use. Supported tool kinds are `function` (executed by the + * client), `mcp`, + * `system` (service-managed session controls), and `toolbox`. Server-side tools such as `web_search`, + * `azure_ai_search`, and `openapi` are provided through a toolbox rather than declared directly. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Set the tools property: The tools the voice agent may use. Supported tool kinds are `function` (executed by the + * client), `mcp`, + * `system` (service-managed session controls), and `toolbox`. Server-side tools such as `web_search`, + * `azure_ai_search`, and `openapi` are provided through a toolbox rather than declared directly. + * + * @param tools the tools value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setTools(List tools) { + this.tools = tools; + return this; + } + + /** + * Get the toolChoice property: How the model chooses tools for generated responses. `none` prevents tool calls, + * `auto` lets the model decide, + * `required` requires at least one tool call, and a specific function or MCP tool can be selected with an object. + * Defaults to `auto`. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Set the toolChoice property: How the model chooses tools for generated responses. `none` prevents tool calls, + * `auto` lets the model decide, + * `required` requires at least one tool call, and a specific function or MCP tool can be selected with an object. + * Defaults to `auto`. + * + * @param toolChoice the toolChoice value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setToolChoice(BinaryData toolChoice) { + this.toolChoice = toolChoice; + return this; + } + + /** + * Get the parallelToolCalls property: Whether the model may call multiple tools in parallel. + * + * @return the parallelToolCalls value. + */ + @Generated + public Boolean isParallelToolCalls() { + return this.parallelToolCalls; + } + + /** + * Set the parallelToolCalls property: Whether the model may call multiple tools in parallel. + * + * @param parallelToolCalls the parallelToolCalls value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setParallelToolCalls(Boolean parallelToolCalls) { + this.parallelToolCalls = parallelToolCalls; + return this; + } + + /** + * Get the structuredInputs property: Set of structured inputs that participate in prompt template substitution, + * rendered per session before the live session starts. + * + * @return the structuredInputs value. + */ + @Generated + public Map getStructuredInputs() { + return this.structuredInputs; + } + + /** + * Set the structuredInputs property: Set of structured inputs that participate in prompt template substitution, + * rendered per session before the live session starts. + * + * @param structuredInputs the structuredInputs value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setStructuredInputs(Map structuredInputs) { + this.structuredInputs = structuredInputs; + 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; + } + + /** + * Get the store property: Whether conversations with this agent are persisted. A single, all-or-nothing persistence + * switch that defaults to + * `false` (privacy-safe: off by default). When `true`, Foundry persists the full conversation — the + * transcript/event + * timeline and raw audio. When `false`, nothing is persisted and no conversation is surfaced. There is no separate + * audio-logging control; audio is persisted only as part of this switch. Latency/performance telemetry (e.g. + * time-to-first-audio, inter-token latency, interruption) is observability-only (customer trace / App Insights) and + * is not part of the persisted conversation content. + * + * @return the store value. + */ + @Generated + public Boolean isStore() { + return this.store; + } + + /** + * Set the store property: Whether conversations with this agent are persisted. A single, all-or-nothing persistence + * switch that defaults to + * `false` (privacy-safe: off by default). When `true`, Foundry persists the full conversation — the + * transcript/event + * timeline and raw audio. When `false`, nothing is persisted and no conversation is surfaced. There is no separate + * audio-logging control; audio is persisted only as part of this switch. Latency/performance telemetry (e.g. + * time-to-first-audio, inter-token latency, interruption) is observability-only (customer trace / App Insights) and + * is not part of the persisted conversation content. + * + * @param store the store value to set. + * @return the VoiceAgentDefinition object itself. + */ + @Generated + public VoiceAgentDefinition setStore(Boolean store) { + this.store = store; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentDefinition setRaiConfig(RaiConfig raiConfig) { + super.setRaiConfig(raiConfig); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("rai_config", getRaiConfig()); + jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); + jsonWriter.writeStringField("model_type", this.modelType == null ? null : this.modelType.toString()); + jsonWriter.writeStringField("model", this.model); + jsonWriter.writeJsonField("conversation_engine", this.conversationEngine); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeJsonField("greeting", this.greeting); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + jsonWriter.writeArrayField("include", this.include, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeJsonField("interim_response", this.interimResponse); + jsonWriter.writeJsonField("avatar", this.avatar); + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + 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(); + } + + /** + * Reads an instance of VoiceAgentDefinition from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentDefinition 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 VoiceAgentDefinition. + */ + @Generated + public static VoiceAgentDefinition fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentDefinition deserializedVoiceAgentDefinition = new VoiceAgentDefinition(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("rai_config".equals(fieldName)) { + deserializedVoiceAgentDefinition.setRaiConfig(RaiConfig.fromJson(reader)); + } else if ("kind".equals(fieldName)) { + deserializedVoiceAgentDefinition.kind = AgentKind.fromString(reader.getString()); + } else if ("model_type".equals(fieldName)) { + deserializedVoiceAgentDefinition.modelType = VoiceModelType.fromString(reader.getString()); + } else if ("model".equals(fieldName)) { + deserializedVoiceAgentDefinition.model = reader.getString(); + } else if ("conversation_engine".equals(fieldName)) { + deserializedVoiceAgentDefinition.conversationEngine = VoiceConversationEngine.fromJson(reader); + } else if ("instructions".equals(fieldName)) { + deserializedVoiceAgentDefinition.instructions = reader.getString(); + } else if ("greeting".equals(fieldName)) { + deserializedVoiceAgentDefinition.greeting = VoiceAgentGreetingConfig.fromJson(reader); + } else if ("audio".equals(fieldName)) { + deserializedVoiceAgentDefinition.audio = VoiceAgentAudioConfig.fromJson(reader); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceOutputModality.fromString(reader1.getString())); + deserializedVoiceAgentDefinition.outputModalities = outputModalities; + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceAgentDefinition.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("include".equals(fieldName)) { + List include + = reader.readArray(reader1 -> VoiceAgentSessionIncludeOption.fromString(reader1.getString())); + deserializedVoiceAgentDefinition.include = include; + } else if ("interim_response".equals(fieldName)) { + deserializedVoiceAgentDefinition.interimResponse = VoiceAgentInterimResponseConfig.fromJson(reader); + } else if ("avatar".equals(fieldName)) { + deserializedVoiceAgentDefinition.avatar = VoiceAgentAvatarConfig.fromJson(reader); + } else if ("tools".equals(fieldName)) { + List tools = reader.readArray(reader1 -> VoiceAgentTool.fromJson(reader1)); + deserializedVoiceAgentDefinition.tools = tools; + } else if ("tool_choice".equals(fieldName)) { + deserializedVoiceAgentDefinition.toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("parallel_tool_calls".equals(fieldName)) { + deserializedVoiceAgentDefinition.parallelToolCalls = reader.getNullable(JsonReader::getBoolean); + } else if ("structured_inputs".equals(fieldName)) { + Map structuredInputs + = reader.readMap(reader1 -> StructuredInputDefinition.fromJson(reader1)); + deserializedVoiceAgentDefinition.structuredInputs = structuredInputs; + } else if ("subagent_config".equals(fieldName)) { + deserializedVoiceAgentDefinition.subagentConfig = VoiceAgentSubagentConfig.fromJson(reader); + } else if ("store".equals(fieldName)) { + deserializedVoiceAgentDefinition.store = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentDefinition; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java new file mode 100644 index 0000000000000..d2d3d5317e349 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellation.java @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Server-side echo cancellation settings for input audio. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentEchoCancellation implements JsonSerializable { + + /* + * The echo cancellation implementation. Always `server_echo_cancellation`. + */ + @Generated + private final String type = "server_echo_cancellation"; + + /* + * Whether reference audio comes from server playback or a client-provided channel. + */ + @Generated + private VoiceAgentEchoCancellationReferenceSource referenceSource; + + /* + * The number of input channels. Use two interleaved channels when `reference_source` is `client`. + */ + @Generated + private Integer channels; + + /** + * Creates an instance of VoiceAgentEchoCancellation class. + */ + @Generated + public VoiceAgentEchoCancellation() { + } + + /** + * Get the type property: The echo cancellation implementation. Always `server_echo_cancellation`. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the referenceSource property: Whether reference audio comes from server playback or a client-provided + * channel. + * + * @return the referenceSource value. + */ + @Generated + public VoiceAgentEchoCancellationReferenceSource getReferenceSource() { + return this.referenceSource; + } + + /** + * Set the referenceSource property: Whether reference audio comes from server playback or a client-provided + * channel. + * + * @param referenceSource the referenceSource value to set. + * @return the VoiceAgentEchoCancellation object itself. + */ + @Generated + public VoiceAgentEchoCancellation setReferenceSource(VoiceAgentEchoCancellationReferenceSource referenceSource) { + this.referenceSource = referenceSource; + return this; + } + + /** + * Get the channels property: The number of input channels. Use two interleaved channels when `reference_source` is + * `client`. + * + * @return the channels value. + */ + @Generated + public Integer getChannels() { + return this.channels; + } + + /** + * Set the channels property: The number of input channels. Use two interleaved channels when `reference_source` is + * `client`. + * + * @param channels the channels value to set. + * @return the VoiceAgentEchoCancellation object itself. + */ + @Generated + public VoiceAgentEchoCancellation setChannels(Integer channels) { + this.channels = channels; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("reference_source", + this.referenceSource == null ? null : this.referenceSource.toString()); + jsonWriter.writeNumberField("channels", this.channels); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentEchoCancellation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentEchoCancellation 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 VoiceAgentEchoCancellation. + */ + @Generated + public static VoiceAgentEchoCancellation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentEchoCancellation deserializedVoiceAgentEchoCancellation = new VoiceAgentEchoCancellation(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("reference_source".equals(fieldName)) { + deserializedVoiceAgentEchoCancellation.referenceSource + = VoiceAgentEchoCancellationReferenceSource.fromString(reader.getString()); + } else if ("channels".equals(fieldName)) { + deserializedVoiceAgentEchoCancellation.channels = reader.getNullable(JsonReader::getInt); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentEchoCancellation; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.java new file mode 100644 index 0000000000000..e5b2cfa95a6bb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEchoCancellationReferenceSource.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.ai.agents.implementation.utils.Beta; + +/** + * The source of reference audio used for echo cancellation. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public enum VoiceAgentEchoCancellationReferenceSource { + + /** + * Enum value server. + */ + SERVER("server"), + /** + * Enum value client. + */ + CLIENT("client"); + + /** + * The actual serialized value for a VoiceAgentEchoCancellationReferenceSource instance. + */ + private final String value; + + VoiceAgentEchoCancellationReferenceSource(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentEchoCancellationReferenceSource instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentEchoCancellationReferenceSource object, or null if unable to parse. + */ + public static VoiceAgentEchoCancellationReferenceSource fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentEchoCancellationReferenceSource[] items = VoiceAgentEchoCancellationReferenceSource.values(); + for (VoiceAgentEchoCancellationReferenceSource item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndConversationSystemTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndConversationSystemTool.java new file mode 100644 index 0000000000000..3e698b8ea098c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndConversationSystemTool.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A service-managed control that ends the active conversation. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentEndConversationSystemTool extends VoiceAgentSystemTool { + + /* + * The tool kind. + */ + @Generated + private final String type = "system"; + + /* + * The service-managed control action. Known values are stable; additional values may be added over time. + */ + @Generated + private VoiceAgentSystemToolName name = VoiceAgentSystemToolName.END_CONVERSATION; + + /** + * Creates an instance of VoiceAgentEndConversationSystemTool class. + */ + @Generated + public VoiceAgentEndConversationSystemTool() { + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the name property: The service-managed control action. Known values are stable; additional values may be + * added over time. + * + * @return the name value. + */ + @Generated + @Override + public VoiceAgentSystemToolName getName() { + return this.name; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentEndConversationSystemTool setDescription(String description) { + super.setDescription(description); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("description", getDescription()); + jsonWriter.writeStringField("name", this.name == null ? null : this.name.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentEndConversationSystemTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentEndConversationSystemTool 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 VoiceAgentEndConversationSystemTool. + */ + @Generated + public static VoiceAgentEndConversationSystemTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentEndConversationSystemTool deserializedVoiceAgentEndConversationSystemTool + = new VoiceAgentEndConversationSystemTool(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("description".equals(fieldName)) { + deserializedVoiceAgentEndConversationSystemTool.setDescription(reader.getString()); + } else if ("name".equals(fieldName)) { + deserializedVoiceAgentEndConversationSystemTool.name + = VoiceAgentSystemToolName.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentEndConversationSystemTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java new file mode 100644 index 0000000000000..fd64a922c2eed --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetection.java @@ -0,0 +1,161 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; + +/** + * Semantic end-of-utterance detection configuration. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentEndOfUtteranceDetection implements JsonSerializable { + + /* + * The semantic detection model. + */ + @Generated + private final VoiceAgentEndOfUtteranceDetectionModel model; + + /* + * The sensitivity threshold. + */ + @Generated + private VoiceAgentEndOfUtteranceThresholdLevel thresholdLevel; + + /* + * The detection timeout in milliseconds. + */ + @Generated + private Long timeoutMs; + + /** + * Creates an instance of VoiceAgentEndOfUtteranceDetection class. + * + * @param model the model value to set. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection(VoiceAgentEndOfUtteranceDetectionModel model) { + this.model = model; + } + + /** + * Get the model property: The semantic detection model. + * + * @return the model value. + */ + @Generated + public VoiceAgentEndOfUtteranceDetectionModel getModel() { + return this.model; + } + + /** + * Get the thresholdLevel property: The sensitivity threshold. + * + * @return the thresholdLevel value. + */ + @Generated + public VoiceAgentEndOfUtteranceThresholdLevel getThresholdLevel() { + return this.thresholdLevel; + } + + /** + * Set the thresholdLevel property: The sensitivity threshold. + * + * @param thresholdLevel the thresholdLevel value to set. + * @return the VoiceAgentEndOfUtteranceDetection object itself. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection setThresholdLevel(VoiceAgentEndOfUtteranceThresholdLevel thresholdLevel) { + this.thresholdLevel = thresholdLevel; + return this; + } + + /** + * Get the timeoutMs property: The detection timeout in milliseconds. + * + * @return the timeoutMs value. + */ + @Generated + public Duration getTimeoutMs() { + if (this.timeoutMs == null) { + return null; + } + return Duration.ofMillis(this.timeoutMs); + } + + /** + * Set the timeoutMs property: The detection timeout in milliseconds. + * + * @param timeoutMs the timeoutMs value to set. + * @return the VoiceAgentEndOfUtteranceDetection object itself. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection setTimeoutMs(Duration timeoutMs) { + if (timeoutMs == null) { + this.timeoutMs = null; + } else { + this.timeoutMs = timeoutMs.toMillis(); + } + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("model", this.model == null ? null : this.model.toString()); + jsonWriter.writeStringField("threshold_level", + this.thresholdLevel == null ? null : this.thresholdLevel.toString()); + jsonWriter.writeNumberField("timeout_ms", this.timeoutMs); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentEndOfUtteranceDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentEndOfUtteranceDetection 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 VoiceAgentEndOfUtteranceDetection. + */ + @Generated + public static VoiceAgentEndOfUtteranceDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentEndOfUtteranceDetectionModel model = null; + VoiceAgentEndOfUtteranceThresholdLevel thresholdLevel = null; + Long timeoutMs = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("model".equals(fieldName)) { + model = VoiceAgentEndOfUtteranceDetectionModel.fromString(reader.getString()); + } else if ("threshold_level".equals(fieldName)) { + thresholdLevel = VoiceAgentEndOfUtteranceThresholdLevel.fromString(reader.getString()); + } else if ("timeout_ms".equals(fieldName)) { + timeoutMs = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + VoiceAgentEndOfUtteranceDetection deserializedVoiceAgentEndOfUtteranceDetection + = new VoiceAgentEndOfUtteranceDetection(model); + deserializedVoiceAgentEndOfUtteranceDetection.thresholdLevel = thresholdLevel; + deserializedVoiceAgentEndOfUtteranceDetection.timeoutMs = timeoutMs; + return deserializedVoiceAgentEndOfUtteranceDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java new file mode 100644 index 0000000000000..00375eae5995d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceDetectionModel.java @@ -0,0 +1,76 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The semantic end-of-utterance detection model. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentEndOfUtteranceDetectionModel + extends ExpandableStringEnum { + + /** + * The default semantic detection model. + */ + @Generated + public static final VoiceAgentEndOfUtteranceDetectionModel SEMANTIC_DETECTION_V1 + = fromString("semantic_detection_v1"); + + /** + * The English-optimized semantic detection model. + */ + @Generated + public static final VoiceAgentEndOfUtteranceDetectionModel SEMANTIC_DETECTION_V1_EN + = fromString("semantic_detection_v1_en"); + + /** + * The multilingual semantic detection model. + */ + @Generated + public static final VoiceAgentEndOfUtteranceDetectionModel SEMANTIC_DETECTION_V1_MULTILINGUAL + = fromString("semantic_detection_v1_multilingual"); + + /** + * The smart end-of-turn detection model. + */ + @Generated + public static final VoiceAgentEndOfUtteranceDetectionModel SMART_END_OF_TURN_DETECTION + = fromString("smart_end_of_turn_detection"); + + /** + * Creates a new instance of VoiceAgentEndOfUtteranceDetectionModel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentEndOfUtteranceDetectionModel() { + } + + /** + * Creates or finds a VoiceAgentEndOfUtteranceDetectionModel from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentEndOfUtteranceDetectionModel. + */ + @Generated + public static VoiceAgentEndOfUtteranceDetectionModel fromString(String name) { + return fromString(name, VoiceAgentEndOfUtteranceDetectionModel.class); + } + + /** + * Gets known VoiceAgentEndOfUtteranceDetectionModel values. + * + * @return known VoiceAgentEndOfUtteranceDetectionModel values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentEndOfUtteranceDetectionModel.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java new file mode 100644 index 0000000000000..c7104069f2e9e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentEndOfUtteranceThresholdLevel.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The sensitivity threshold for semantic end-of-utterance detection. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentEndOfUtteranceThresholdLevel + extends ExpandableStringEnum { + + /** + * The low sensitivity threshold. + */ + @Generated + public static final VoiceAgentEndOfUtteranceThresholdLevel LOW = fromString("low"); + + /** + * The medium sensitivity threshold. + */ + @Generated + public static final VoiceAgentEndOfUtteranceThresholdLevel MEDIUM = fromString("medium"); + + /** + * The high sensitivity threshold. + */ + @Generated + public static final VoiceAgentEndOfUtteranceThresholdLevel HIGH = fromString("high"); + + /** + * The service-selected sensitivity threshold. + */ + @Generated + public static final VoiceAgentEndOfUtteranceThresholdLevel DEFAULT = fromString("default"); + + /** + * Creates a new instance of VoiceAgentEndOfUtteranceThresholdLevel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentEndOfUtteranceThresholdLevel() { + } + + /** + * Creates or finds a VoiceAgentEndOfUtteranceThresholdLevel from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentEndOfUtteranceThresholdLevel. + */ + @Generated + public static VoiceAgentEndOfUtteranceThresholdLevel fromString(String name) { + return fromString(name, VoiceAgentEndOfUtteranceThresholdLevel.class); + } + + /** + * Gets known VoiceAgentEndOfUtteranceThresholdLevel values. + * + * @return known VoiceAgentEndOfUtteranceThresholdLevel values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentEndOfUtteranceThresholdLevel.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java new file mode 100644 index 0000000000000..68eeeb7bdc598 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionTool.java @@ -0,0 +1,183 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A native function tool executed by the client. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentFunctionTool extends VoiceAgentTool { + + /* + * The tool kind. + */ + @Generated + private String type = "function"; + + /* + * The description of the function, including guidance on when and how + * to call it, and guidance about what to tell the user when calling + * (if anything). + */ + @Generated + private String description; + + /* + * Parameters of the function in JSON Schema. + */ + @Generated + private BinaryData parameters; + + /* + * The function name. + */ + @Generated + private final String name; + + /** + * Creates an instance of VoiceAgentFunctionTool class. + * + * @param name the name value to set. + */ + @Generated + public VoiceAgentFunctionTool(String name) { + this.name = name; + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the description property: The description of the function, including guidance on when and how + * to call it, and guidance about what to tell the user when calling + * (if anything). + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: The description of the function, including guidance on when and how + * to call it, and guidance about what to tell the user when calling + * (if anything). + * + * @param description the description value to set. + * @return the VoiceAgentFunctionTool object itself. + */ + @Generated + public VoiceAgentFunctionTool setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the parameters property: Parameters of the function in JSON Schema. + * + * @return the parameters value. + */ + @Generated + public BinaryData getParameters() { + return this.parameters; + } + + /** + * Set the parameters property: Parameters of the function in JSON Schema. + * + * @param parameters the parameters value to set. + * @return the VoiceAgentFunctionTool object itself. + */ + @Generated + public VoiceAgentFunctionTool setParameters(BinaryData parameters) { + this.parameters = parameters; + return this; + } + + /** + * Get the name property: The function name. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("description", this.description); + if (this.parameters != null) { + jsonWriter.writeFieldName("parameters"); + this.parameters.writeTo(jsonWriter); + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentFunctionTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentFunctionTool 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 VoiceAgentFunctionTool. + */ + @Generated + public static VoiceAgentFunctionTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String type = "function"; + String description = null; + BinaryData parameters = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("parameters".equals(fieldName)) { + parameters + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else { + reader.skipChildren(); + } + } + VoiceAgentFunctionTool deserializedVoiceAgentFunctionTool = new VoiceAgentFunctionTool(name); + deserializedVoiceAgentFunctionTool.type = type; + deserializedVoiceAgentFunctionTool.description = description; + deserializedVoiceAgentFunctionTool.parameters = parameters; + return deserializedVoiceAgentFunctionTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionToolType.java new file mode 100644 index 0000000000000..8574dd0c2fb15 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentFunctionToolType.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.agents.models; + +/** + * Defines values for VoiceAgentFunctionToolType. + */ +public enum VoiceAgentFunctionToolType { + /** + * Enum value function. + */ + FUNCTION("function"); + + /** + * The actual serialized value for a VoiceAgentFunctionToolType instance. + */ + private final String value; + + VoiceAgentFunctionToolType(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentFunctionToolType instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentFunctionToolType object, or null if unable to parse. + */ + public static VoiceAgentFunctionToolType fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentFunctionToolType[] items = VoiceAgentFunctionToolType.values(); + for (VoiceAgentFunctionToolType item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java new file mode 100644 index 0000000000000..bba59024baf1f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentGreetingConfig.java @@ -0,0 +1,109 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Session-start greeting configuration for a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentGreetingConfig implements JsonSerializable { + + /* + * The greeting mode. + */ + @Generated + private String type = "VoiceAgentGreetingConfig"; + + /** + * Creates an instance of VoiceAgentGreetingConfig class. + */ + @Generated + public VoiceAgentGreetingConfig() { + } + + /** + * Get the type property: The greeting mode. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentGreetingConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentGreetingConfig 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 VoiceAgentGreetingConfig. + */ + @Generated + public static VoiceAgentGreetingConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("template".equals(discriminatorValue)) { + return VoiceAgentTemplateGreetingConfig.fromJson(readerToUse.reset()); + } else if ("llm_generated".equals(discriminatorValue)) { + return VoiceAgentLlmGeneratedGreetingConfig.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceAgentGreetingConfig fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentGreetingConfig deserializedVoiceAgentGreetingConfig = new VoiceAgentGreetingConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedVoiceAgentGreetingConfig.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentGreetingConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java new file mode 100644 index 0000000000000..e64f19e9e504f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscription.java @@ -0,0 +1,356 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.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; +import java.util.Map; + +/** + * Asynchronous input-audio transcription configuration. Extends the OpenAI Realtime transcription + * options with the Azure and MAI transcription models, custom speech models, and phrase hints. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentInputTranscription implements JsonSerializable { + + /* + * The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + */ + @Generated + private String language; + + /* + * Possible languages of the input audio, in [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) + * format. Supported by `gpt-transcribe` and `gpt-live-transcribe`. + */ + @Generated + private List languages; + + /* + * Words or phrases to guide transcription of the input audio. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + */ + @Generated + private List keywords; + + /* + * An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + */ + @Generated + private String prompt; + + /* + * Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + */ + @Generated + private VoiceAgentAudioInputConfigTranscriptionDelay delay; + + /* + * The transcription model identifier. Configure customer custom speech deployments in `custom_speech`. + */ + @Generated + private final VoiceAgentInputTranscriptionModel model; + + /* + * Optional customer custom speech deployment configuration, keyed by locale. + */ + @Generated + private Map customSpeech; + + /* + * Optional phrase hints that bias recognition toward domain terms. + */ + @Generated + private List phraseList; + + /** + * Creates an instance of VoiceAgentInputTranscription class. + * + * @param model the model value to set. + */ + @Generated + public VoiceAgentInputTranscription(VoiceAgentInputTranscriptionModel model) { + this.model = model; + } + + /** + * Get the language property: The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + * + * @return the language value. + */ + @Generated + public String getLanguage() { + return this.language; + } + + /** + * Set the language property: The language of the input audio. Supplying the input language in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`) format + * will improve accuracy and latency. + * + * @param language the language value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setLanguage(String language) { + this.language = language; + return this; + } + + /** + * Get the languages property: Possible languages of the input audio, in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + * + * @return the languages value. + */ + @Generated + public List getLanguages() { + return this.languages; + } + + /** + * Set the languages property: Possible languages of the input audio, in + * [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Supported by `gpt-transcribe` and + * `gpt-live-transcribe`. + * + * @param languages the languages value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setLanguages(List languages) { + this.languages = languages; + return this; + } + + /** + * Get the keywords property: Words or phrases to guide transcription of the input audio. Supported by + * `gpt-transcribe` and `gpt-live-transcribe`. + * + * @return the keywords value. + */ + @Generated + public List getKeywords() { + return this.keywords; + } + + /** + * Set the keywords property: Words or phrases to guide transcription of the input audio. Supported by + * `gpt-transcribe` and `gpt-live-transcribe`. + * + * @param keywords the keywords value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setKeywords(List keywords) { + this.keywords = keywords; + return this; + } + + /** + * Get the prompt property: An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @return the prompt value. + */ + @Generated + public String getPrompt() { + return this.prompt; + } + + /** + * Set the prompt property: An optional text to guide the model's style or continue a previous audio + * segment. + * For `whisper-1`, the [prompt is a list of keywords](/docs/guides/speech-to-text#prompting). + * For `gpt-4o-transcribe` models (excluding `gpt-4o-transcribe-diarize`), the prompt is a free text string, for + * example "expect words related to technology". + * Prompt is not supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @param prompt the prompt value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setPrompt(String prompt) { + this.prompt = prompt; + return this; + } + + /** + * Get the delay property: Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @return the delay value. + */ + @Generated + public VoiceAgentAudioInputConfigTranscriptionDelay getDelay() { + return this.delay; + } + + /** + * Set the delay property: Controls how long the model waits before emitting transcription text. + * Higher values can improve transcription accuracy at the cost of latency. + * Only supported with `gpt-realtime-whisper` in GA Realtime sessions. + * + * @param delay the delay value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setDelay(VoiceAgentAudioInputConfigTranscriptionDelay delay) { + this.delay = delay; + return this; + } + + /** + * Get the model property: The transcription model identifier. Configure customer custom speech deployments in + * `custom_speech`. + * + * @return the model value. + */ + @Generated + public VoiceAgentInputTranscriptionModel getModel() { + return this.model; + } + + /** + * Get the customSpeech property: Optional customer custom speech deployment configuration, keyed by locale. + * + * @return the customSpeech value. + */ + @Generated + public Map getCustomSpeech() { + return this.customSpeech; + } + + /** + * Set the customSpeech property: Optional customer custom speech deployment configuration, keyed by locale. + * + * @param customSpeech the customSpeech value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setCustomSpeech(Map customSpeech) { + this.customSpeech = customSpeech; + return this; + } + + /** + * Get the phraseList property: Optional phrase hints that bias recognition toward domain terms. + * + * @return the phraseList value. + */ + @Generated + public List getPhraseList() { + return this.phraseList; + } + + /** + * Set the phraseList property: Optional phrase hints that bias recognition toward domain terms. + * + * @param phraseList the phraseList value to set. + * @return the VoiceAgentInputTranscription object itself. + */ + @Generated + public VoiceAgentInputTranscription setPhraseList(List phraseList) { + this.phraseList = phraseList; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("model", this.model == null ? null : this.model.toString()); + jsonWriter.writeStringField("language", this.language); + jsonWriter.writeArrayField("languages", this.languages, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("keywords", this.keywords, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("prompt", this.prompt); + jsonWriter.writeStringField("delay", this.delay == null ? null : this.delay.toString()); + jsonWriter.writeMapField("custom_speech", this.customSpeech, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("phrase_list", this.phraseList, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentInputTranscription from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentInputTranscription 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 VoiceAgentInputTranscription. + */ + @Generated + public static VoiceAgentInputTranscription fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentInputTranscriptionModel model = null; + String language = null; + List languages = null; + List keywords = null; + String prompt = null; + VoiceAgentAudioInputConfigTranscriptionDelay delay = null; + Map customSpeech = null; + List phraseList = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("model".equals(fieldName)) { + model = VoiceAgentInputTranscriptionModel.fromString(reader.getString()); + } else if ("language".equals(fieldName)) { + language = reader.getString(); + } else if ("languages".equals(fieldName)) { + languages = reader.readArray(reader1 -> reader1.getString()); + } else if ("keywords".equals(fieldName)) { + keywords = reader.readArray(reader1 -> reader1.getString()); + } else if ("prompt".equals(fieldName)) { + prompt = reader.getString(); + } else if ("delay".equals(fieldName)) { + delay = VoiceAgentAudioInputConfigTranscriptionDelay.fromString(reader.getString()); + } else if ("custom_speech".equals(fieldName)) { + customSpeech = reader.readMap(reader1 -> reader1.getString()); + } else if ("phrase_list".equals(fieldName)) { + phraseList = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentInputTranscription deserializedVoiceAgentInputTranscription + = new VoiceAgentInputTranscription(model); + deserializedVoiceAgentInputTranscription.language = language; + deserializedVoiceAgentInputTranscription.languages = languages; + deserializedVoiceAgentInputTranscription.keywords = keywords; + deserializedVoiceAgentInputTranscription.prompt = prompt; + deserializedVoiceAgentInputTranscription.delay = delay; + deserializedVoiceAgentInputTranscription.customSpeech = customSpeech; + deserializedVoiceAgentInputTranscription.phraseList = phraseList; + return deserializedVoiceAgentInputTranscription; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java new file mode 100644 index 0000000000000..50b2c0a09be81 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInputTranscriptionModel.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The input-audio transcription model identifier. This is a model name, not a Foundry deployment name. Mirrors the + * transcription models supported by the managed + * voice backend, covering the OpenAI Realtime transcription models plus the Azure and MAI models. + * Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentInputTranscriptionModel extends ExpandableStringEnum { + + /** + * OpenAI Whisper. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel WHISPER_1 = fromString("whisper-1"); + + /** + * OpenAI GPT Realtime Whisper. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_REALTIME_WHISPER = fromString("gpt-realtime-whisper"); + + /** + * OpenAI GPT-4o transcribe. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_4O_TRANSCRIBE = fromString("gpt-4o-transcribe"); + + /** + * OpenAI GPT-4o mini transcribe. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_4O_MINI_TRANSCRIBE = fromString("gpt-4o-mini-transcribe"); + + /** + * OpenAI GPT-4o transcribe with speaker diarization. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_4O_TRANSCRIBE_DIARIZE + = fromString("gpt-4o-transcribe-diarize"); + + /** + * OpenAI GPT Transcribe. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_TRANSCRIBE = fromString("gpt-transcribe"); + + /** + * OpenAI GPT Live Transcribe. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel GPT_LIVE_TRANSCRIBE = fromString("gpt-live-transcribe"); + + /** + * MAI transcription. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel MAI_TRANSCRIBE = fromString("mai-transcribe"); + + /** + * Azure AI Speech to text. + */ + @Generated + public static final VoiceAgentInputTranscriptionModel AZURE_SPEECH = fromString("azure-speech"); + + /** + * Creates a new instance of VoiceAgentInputTranscriptionModel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentInputTranscriptionModel() { + } + + /** + * Creates or finds a VoiceAgentInputTranscriptionModel from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentInputTranscriptionModel. + */ + @Generated + public static VoiceAgentInputTranscriptionModel fromString(String name) { + return fromString(name, VoiceAgentInputTranscriptionModel.class); + } + + /** + * Gets known VoiceAgentInputTranscriptionModel values. + * + * @return known VoiceAgentInputTranscriptionModel values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentInputTranscriptionModel.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java new file mode 100644 index 0000000000000..286e873883f8a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseConfig.java @@ -0,0 +1,185 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * Fields shared by interim-response configurations. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentInterimResponseConfig implements JsonSerializable { + + /* + * The interim-response implementation. + */ + @Generated + private String type = "VoiceAgentInterimResponseConfig"; + + /* + * Conditions that may trigger one interim response. + */ + @Generated + private List triggers; + + /* + * The latency threshold in milliseconds. + */ + @Generated + private Long latencyThresholdMs; + + /** + * Creates an instance of VoiceAgentInterimResponseConfig class. + */ + @Generated + public VoiceAgentInterimResponseConfig() { + } + + /** + * Get the type property: The interim-response implementation. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the triggers property: Conditions that may trigger one interim response. + * + * @return the triggers value. + */ + @Generated + public List getTriggers() { + return this.triggers; + } + + /** + * Set the triggers property: Conditions that may trigger one interim response. + * + * @param triggers the triggers value to set. + * @return the VoiceAgentInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentInterimResponseConfig setTriggers(List triggers) { + this.triggers = triggers; + return this; + } + + /** + * Get the latencyThresholdMs property: The latency threshold in milliseconds. + * + * @return the latencyThresholdMs value. + */ + @Generated + public Duration getLatencyThresholdMs() { + if (this.latencyThresholdMs == null) { + return null; + } + return Duration.ofMillis(this.latencyThresholdMs); + } + + /** + * Set the latencyThresholdMs property: The latency threshold in milliseconds. + * + * @param latencyThresholdMs the latencyThresholdMs value to set. + * @return the VoiceAgentInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentInterimResponseConfig setLatencyThresholdMs(Duration latencyThresholdMs) { + if (latencyThresholdMs == null) { + this.latencyThresholdMs = null; + } else { + this.latencyThresholdMs = latencyThresholdMs.toMillis(); + } + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeArrayField("triggers", this.triggers, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeNumberField("latency_threshold_ms", this.latencyThresholdMs); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentInterimResponseConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentInterimResponseConfig 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 VoiceAgentInterimResponseConfig. + */ + @Generated + public static VoiceAgentInterimResponseConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("static_interim_response".equals(discriminatorValue)) { + return VoiceAgentStaticInterimResponseConfig.fromJson(readerToUse.reset()); + } else if ("llm_interim_response".equals(discriminatorValue)) { + return VoiceAgentLlmInterimResponseConfig.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceAgentInterimResponseConfig fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentInterimResponseConfig deserializedVoiceAgentInterimResponseConfig + = new VoiceAgentInterimResponseConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedVoiceAgentInterimResponseConfig.type = reader.getString(); + } else if ("triggers".equals(fieldName)) { + List triggers + = reader.readArray(reader1 -> VoiceAgentInterimResponseTrigger.fromString(reader1.getString())); + deserializedVoiceAgentInterimResponseConfig.triggers = triggers; + } else if ("latency_threshold_ms".equals(fieldName)) { + deserializedVoiceAgentInterimResponseConfig.latencyThresholdMs + = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentInterimResponseConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java new file mode 100644 index 0000000000000..3ffb206130204 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentInterimResponseTrigger.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A condition that may trigger an interim response. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentInterimResponseTrigger extends ExpandableStringEnum { + + /** + * Static value latency for VoiceAgentInterimResponseTrigger. + */ + @Generated + public static final VoiceAgentInterimResponseTrigger LATENCY = fromString("latency"); + + /** + * Static value tool for VoiceAgentInterimResponseTrigger. + */ + @Generated + public static final VoiceAgentInterimResponseTrigger TOOL = fromString("tool"); + + /** + * Creates a new instance of VoiceAgentInterimResponseTrigger value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentInterimResponseTrigger() { + } + + /** + * Creates or finds a VoiceAgentInterimResponseTrigger from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentInterimResponseTrigger. + */ + @Generated + public static VoiceAgentInterimResponseTrigger fromString(String name) { + return fromString(name, VoiceAgentInterimResponseTrigger.class); + } + + /** + * Gets known VoiceAgentInterimResponseTrigger values. + * + * @return known VoiceAgentInterimResponseTrigger values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentInterimResponseTrigger.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java new file mode 100644 index 0000000000000..80260785e08eb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmGeneratedGreetingConfig.java @@ -0,0 +1,145 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A greeting authored by the session model from a scoped opening-turn prompt. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentLlmGeneratedGreetingConfig extends VoiceAgentGreetingConfig { + + /* + * The greeting mode. + */ + @Generated + private String type = "llm_generated"; + + /* + * The Handlebars prompt that guides the opening turn. + */ + @Generated + private final String prompt; + + /* + * The tool-selection policy for the opening response. Defaults to `none`. + */ + @Generated + private BinaryData toolChoice; + + /** + * Creates an instance of VoiceAgentLlmGeneratedGreetingConfig class. + * + * @param prompt the prompt value to set. + */ + @Generated + public VoiceAgentLlmGeneratedGreetingConfig(String prompt) { + this.prompt = prompt; + } + + /** + * Get the type property: The greeting mode. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the prompt property: The Handlebars prompt that guides the opening turn. + * + * @return the prompt value. + */ + @Generated + public String getPrompt() { + return this.prompt; + } + + /** + * Get the toolChoice property: The tool-selection policy for the opening response. Defaults to `none`. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Set the toolChoice property: The tool-selection policy for the opening response. Defaults to `none`. + * + * @param toolChoice the toolChoice value to set. + * @return the VoiceAgentLlmGeneratedGreetingConfig object itself. + */ + @Generated + public VoiceAgentLlmGeneratedGreetingConfig setToolChoice(BinaryData toolChoice) { + this.toolChoice = toolChoice; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("prompt", this.prompt); + jsonWriter.writeStringField("type", this.type); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentLlmGeneratedGreetingConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentLlmGeneratedGreetingConfig 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 VoiceAgentLlmGeneratedGreetingConfig. + */ + @Generated + public static VoiceAgentLlmGeneratedGreetingConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String prompt = null; + String type = "llm_generated"; + BinaryData toolChoice = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("prompt".equals(fieldName)) { + prompt = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("tool_choice".equals(fieldName)) { + toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else { + reader.skipChildren(); + } + } + VoiceAgentLlmGeneratedGreetingConfig deserializedVoiceAgentLlmGeneratedGreetingConfig + = new VoiceAgentLlmGeneratedGreetingConfig(prompt); + deserializedVoiceAgentLlmGeneratedGreetingConfig.type = type; + deserializedVoiceAgentLlmGeneratedGreetingConfig.toolChoice = toolChoice; + return deserializedVoiceAgentLlmGeneratedGreetingConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java new file mode 100644 index 0000000000000..62f39f4a68a1d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentLlmInterimResponseConfig.java @@ -0,0 +1,212 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * An interim response generated by a language model. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentLlmInterimResponseConfig extends VoiceAgentInterimResponseConfig { + + /* + * The interim-response implementation. + */ + @Generated + private String type = "llm_interim_response"; + + /* + * The model used to generate interim responses. + */ + @Generated + private String model; + + /* + * Optional instructions for generating interim responses. + */ + @Generated + private String instructions; + + /* + * The maximum completion-token count for an interim response. + */ + @Generated + private Integer maxCompletionTokens; + + /** + * Creates an instance of VoiceAgentLlmInterimResponseConfig class. + */ + @Generated + public VoiceAgentLlmInterimResponseConfig() { + } + + /** + * Get the type property: The interim-response implementation. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the model property: The model used to generate interim responses. + * + * @return the model value. + */ + @Generated + public String getModel() { + return this.model; + } + + /** + * Set the model property: The model used to generate interim responses. + * + * @param model the model value to set. + * @return the VoiceAgentLlmInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentLlmInterimResponseConfig setModel(String model) { + this.model = model; + return this; + } + + /** + * Get the instructions property: Optional instructions for generating interim responses. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Set the instructions property: Optional instructions for generating interim responses. + * + * @param instructions the instructions value to set. + * @return the VoiceAgentLlmInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentLlmInterimResponseConfig setInstructions(String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Get the maxCompletionTokens property: The maximum completion-token count for an interim response. + * + * @return the maxCompletionTokens value. + */ + @Generated + public Integer getMaxCompletionTokens() { + return this.maxCompletionTokens; + } + + /** + * Set the maxCompletionTokens property: The maximum completion-token count for an interim response. + * + * @param maxCompletionTokens the maxCompletionTokens value to set. + * @return the VoiceAgentLlmInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentLlmInterimResponseConfig setMaxCompletionTokens(Integer maxCompletionTokens) { + this.maxCompletionTokens = maxCompletionTokens; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentLlmInterimResponseConfig setTriggers(List triggers) { + super.setTriggers(triggers); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentLlmInterimResponseConfig setLatencyThresholdMs(Duration latencyThresholdMs) { + super.setLatencyThresholdMs(latencyThresholdMs); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("triggers", getTriggers(), + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (getLatencyThresholdMs() != null) { + jsonWriter.writeNumberField("latency_threshold_ms", getLatencyThresholdMs().toMillis()); + } + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("model", this.model); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeNumberField("max_completion_tokens", this.maxCompletionTokens); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentLlmInterimResponseConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentLlmInterimResponseConfig 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 VoiceAgentLlmInterimResponseConfig. + */ + @Generated + public static VoiceAgentLlmInterimResponseConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentLlmInterimResponseConfig deserializedVoiceAgentLlmInterimResponseConfig + = new VoiceAgentLlmInterimResponseConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("triggers".equals(fieldName)) { + List triggers + = reader.readArray(reader1 -> VoiceAgentInterimResponseTrigger.fromString(reader1.getString())); + deserializedVoiceAgentLlmInterimResponseConfig.setTriggers(triggers); + } else if ("latency_threshold_ms".equals(fieldName)) { + Long latencyThresholdMsHolder = reader.getNullable(JsonReader::getLong); + if (latencyThresholdMsHolder != null) { + deserializedVoiceAgentLlmInterimResponseConfig + .setLatencyThresholdMs(Duration.ofMillis(latencyThresholdMsHolder)); + } + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentLlmInterimResponseConfig.type = reader.getString(); + } else if ("model".equals(fieldName)) { + deserializedVoiceAgentLlmInterimResponseConfig.model = reader.getString(); + } else if ("instructions".equals(fieldName)) { + deserializedVoiceAgentLlmInterimResponseConfig.instructions = reader.getString(); + } else if ("max_completion_tokens".equals(fieldName)) { + deserializedVoiceAgentLlmInterimResponseConfig.maxCompletionTokens + = reader.getNullable(JsonReader::getInt); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentLlmInterimResponseConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java new file mode 100644 index 0000000000000..0b93e41a81e00 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentMcpTool.java @@ -0,0 +1,494 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * An MCP tool available to a voice agent. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentMcpTool extends VoiceAgentTool { + + /* + * The tool kind. + */ + @Generated + private String type = "mcp"; + + /* + * A label for this MCP server, used to identify it in tool calls. + */ + @Generated + private final String serverLabel; + + /* + * An OAuth access token that can be used with a remote MCP server, either + * with a custom MCP server URL or a service connector. Your application + * must handle the OAuth authorization flow and provide the token here. + */ + @Generated + private String authorization; + + /* + * Optional description of the MCP server, used to provide more context. + */ + @Generated + private String serverDescription; + + /* + * The headers property. + */ + @Generated + private Map headers; + + /* + * The allowed_tools property. + */ + @Generated + private BinaryData allowedTools; + + /* + * The allowed_callers property. + */ + @Generated + private List allowedCallers; + + /* + * The require_approval property. + */ + @Generated + private BinaryData requireApproval; + + /* + * Whether this MCP tool is deferred and discovered via tool search. + */ + @Generated + private Boolean deferLoading; + + /* + * The connection ID in the project for the MCP server. The connection stores authentication and other connection + * details needed to connect to the MCP server. + */ + @Generated + private String projectConnectionId; + + /* + * Deprecated. This property is deprecated and will be removed in a future version. + */ + @Generated + private Map toolConfigs; + + /* + * The URL for the MCP server. + */ + @Generated + private String serverUrl; + + /* + * When the MCP invocation creates a follow-up response. Defaults to `when_idle`. + */ + @Generated + private VoiceAgentToolResponseScheduling responseScheduling; + + /** + * Creates an instance of VoiceAgentMcpTool class. + * + * @param serverLabel the serverLabel value to set. + */ + @Generated + public VoiceAgentMcpTool(String serverLabel) { + this.serverLabel = serverLabel; + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the serverLabel property: A label for this MCP server, used to identify it in tool calls. + * + * @return the serverLabel value. + */ + @Generated + public String getServerLabel() { + return this.serverLabel; + } + + /** + * Get the authorization property: An OAuth access token that can be used with a remote MCP server, either + * with a custom MCP server URL or a service connector. Your application + * must handle the OAuth authorization flow and provide the token here. + * + * @return the authorization value. + */ + @Generated + public String getAuthorization() { + return this.authorization; + } + + /** + * Set the authorization property: An OAuth access token that can be used with a remote MCP server, either + * with a custom MCP server URL or a service connector. Your application + * must handle the OAuth authorization flow and provide the token here. + * + * @param authorization the authorization value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setAuthorization(String authorization) { + this.authorization = authorization; + return this; + } + + /** + * Get the serverDescription property: Optional description of the MCP server, used to provide more context. + * + * @return the serverDescription value. + */ + @Generated + public String getServerDescription() { + return this.serverDescription; + } + + /** + * Set the serverDescription property: Optional description of the MCP server, used to provide more context. + * + * @param serverDescription the serverDescription value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setServerDescription(String serverDescription) { + this.serverDescription = serverDescription; + return this; + } + + /** + * Get the headers property: The headers property. + * + * @return the headers value. + */ + @Generated + public Map getHeaders() { + return this.headers; + } + + /** + * Set the headers property: The headers property. + * + * @param headers the headers value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setHeaders(Map headers) { + this.headers = headers; + return this; + } + + /** + * Get the allowedTools property: The allowed_tools property. + * + * @return the allowedTools value. + */ + @Generated + public BinaryData getAllowedTools() { + return this.allowedTools; + } + + /** + * Set the allowedTools property: The allowed_tools property. + * + * @param allowedTools the allowedTools value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setAllowedTools(BinaryData allowedTools) { + this.allowedTools = allowedTools; + return this; + } + + /** + * Get the allowedCallers property: The allowed_callers property. + * + * @return the allowedCallers value. + */ + @Generated + public List getAllowedCallers() { + return this.allowedCallers; + } + + /** + * Set the allowedCallers property: The allowed_callers property. + * + * @param allowedCallers the allowedCallers value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setAllowedCallers(List allowedCallers) { + this.allowedCallers = allowedCallers; + return this; + } + + /** + * Get the requireApproval property: The require_approval property. + * + * @return the requireApproval value. + */ + @Generated + public BinaryData getRequireApproval() { + return this.requireApproval; + } + + /** + * Set the requireApproval property: The require_approval property. + * + * @param requireApproval the requireApproval value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setRequireApproval(BinaryData requireApproval) { + this.requireApproval = requireApproval; + return this; + } + + /** + * Get the deferLoading property: Whether this MCP tool is deferred and discovered via tool search. + * + * @return the deferLoading value. + */ + @Generated + public Boolean isDeferLoading() { + return this.deferLoading; + } + + /** + * Set the deferLoading property: Whether this MCP tool is deferred and discovered via tool search. + * + * @param deferLoading the deferLoading value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setDeferLoading(Boolean deferLoading) { + this.deferLoading = deferLoading; + return this; + } + + /** + * Get the projectConnectionId property: The connection ID in the project for the MCP server. The connection stores + * authentication and other connection details needed to connect to the MCP server. + * + * @return the projectConnectionId value. + */ + @Generated + public String getProjectConnectionId() { + return this.projectConnectionId; + } + + /** + * Set the projectConnectionId property: The connection ID in the project for the MCP server. The connection stores + * authentication and other connection details needed to connect to the MCP server. + * + * @param projectConnectionId the projectConnectionId value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setProjectConnectionId(String projectConnectionId) { + this.projectConnectionId = projectConnectionId; + return this; + } + + /** + * Get the toolConfigs property: Deprecated. This property is deprecated and will be removed in a future version. + * + * @return the toolConfigs value. + */ + @Generated + public Map getToolConfigs() { + return this.toolConfigs; + } + + /** + * Set the toolConfigs property: Deprecated. This property is deprecated and will be removed in a future version. + * + * @param toolConfigs the toolConfigs value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setToolConfigs(Map toolConfigs) { + this.toolConfigs = toolConfigs; + return this; + } + + /** + * Get the serverUrl property: The URL for the MCP server. + * + * @return the serverUrl value. + */ + @Generated + public String getServerUrl() { + return this.serverUrl; + } + + /** + * Set the serverUrl property: The URL for the MCP server. + * + * @param serverUrl the serverUrl value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setServerUrl(String serverUrl) { + this.serverUrl = serverUrl; + return this; + } + + /** + * Get the responseScheduling property: When the MCP invocation creates a follow-up response. Defaults to + * `when_idle`. + * + * @return the responseScheduling value. + */ + @Generated + public VoiceAgentToolResponseScheduling getResponseScheduling() { + return this.responseScheduling; + } + + /** + * Set the responseScheduling property: When the MCP invocation creates a follow-up response. Defaults to + * `when_idle`. + * + * @param responseScheduling the responseScheduling value to set. + * @return the VoiceAgentMcpTool object itself. + */ + @Generated + public VoiceAgentMcpTool setResponseScheduling(VoiceAgentToolResponseScheduling responseScheduling) { + this.responseScheduling = responseScheduling; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("server_label", this.serverLabel); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("authorization", this.authorization); + jsonWriter.writeStringField("server_description", this.serverDescription); + jsonWriter.writeMapField("headers", this.headers, (writer, element) -> writer.writeString(element)); + if (this.allowedTools != null) { + jsonWriter.writeFieldName("allowed_tools"); + this.allowedTools.writeTo(jsonWriter); + } + jsonWriter.writeArrayField("allowed_callers", this.allowedCallers, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (this.requireApproval != null) { + jsonWriter.writeFieldName("require_approval"); + this.requireApproval.writeTo(jsonWriter); + } + jsonWriter.writeBooleanField("defer_loading", this.deferLoading); + jsonWriter.writeStringField("project_connection_id", this.projectConnectionId); + jsonWriter.writeMapField("tool_configs", this.toolConfigs, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("server_url", this.serverUrl); + jsonWriter.writeStringField("response_scheduling", + this.responseScheduling == null ? null : this.responseScheduling.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentMcpTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentMcpTool 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 VoiceAgentMcpTool. + */ + @Generated + public static VoiceAgentMcpTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String serverLabel = null; + String type = "mcp"; + String authorization = null; + String serverDescription = null; + Map headers = null; + BinaryData allowedTools = null; + List allowedCallers = null; + BinaryData requireApproval = null; + Boolean deferLoading = null; + String projectConnectionId = null; + Map toolConfigs = null; + String serverUrl = null; + VoiceAgentToolResponseScheduling responseScheduling = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("server_label".equals(fieldName)) { + serverLabel = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("authorization".equals(fieldName)) { + authorization = reader.getString(); + } else if ("server_description".equals(fieldName)) { + serverDescription = reader.getString(); + } else if ("headers".equals(fieldName)) { + headers = reader.readMap(reader1 -> reader1.getString()); + } else if ("allowed_tools".equals(fieldName)) { + allowedTools + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("allowed_callers".equals(fieldName)) { + allowedCallers + = reader.readArray(reader1 -> CallableToolAllowedCaller.fromString(reader1.getString())); + } else if ("require_approval".equals(fieldName)) { + requireApproval + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("defer_loading".equals(fieldName)) { + deferLoading = reader.getNullable(JsonReader::getBoolean); + } else if ("project_connection_id".equals(fieldName)) { + projectConnectionId = reader.getString(); + } else if ("tool_configs".equals(fieldName)) { + toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1)); + } else if ("server_url".equals(fieldName)) { + serverUrl = reader.getString(); + } else if ("response_scheduling".equals(fieldName)) { + responseScheduling = VoiceAgentToolResponseScheduling.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentMcpTool deserializedVoiceAgentMcpTool = new VoiceAgentMcpTool(serverLabel); + deserializedVoiceAgentMcpTool.type = type; + deserializedVoiceAgentMcpTool.authorization = authorization; + deserializedVoiceAgentMcpTool.serverDescription = serverDescription; + deserializedVoiceAgentMcpTool.headers = headers; + deserializedVoiceAgentMcpTool.allowedTools = allowedTools; + deserializedVoiceAgentMcpTool.allowedCallers = allowedCallers; + deserializedVoiceAgentMcpTool.requireApproval = requireApproval; + deserializedVoiceAgentMcpTool.deferLoading = deferLoading; + deserializedVoiceAgentMcpTool.projectConnectionId = projectConnectionId; + deserializedVoiceAgentMcpTool.toolConfigs = toolConfigs; + deserializedVoiceAgentMcpTool.serverUrl = serverUrl; + deserializedVoiceAgentMcpTool.responseScheduling = responseScheduling; + return deserializedVoiceAgentMcpTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java new file mode 100644 index 0000000000000..ad18d4955c541 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReduction.java @@ -0,0 +1,84 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Input audio noise reduction configuration. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentNoiseReduction implements JsonSerializable { + + /* + * The noise reduction mode. + */ + @Generated + private final VoiceAgentNoiseReductionType type; + + /** + * Creates an instance of VoiceAgentNoiseReduction class. + * + * @param type the type value to set. + */ + @Generated + public VoiceAgentNoiseReduction(VoiceAgentNoiseReductionType type) { + this.type = type; + } + + /** + * Get the type property: The noise reduction mode. + * + * @return the type value. + */ + @Generated + public VoiceAgentNoiseReductionType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentNoiseReduction from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentNoiseReduction 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 VoiceAgentNoiseReduction. + */ + @Generated + public static VoiceAgentNoiseReduction fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentNoiseReductionType type = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = VoiceAgentNoiseReductionType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return new VoiceAgentNoiseReduction(type); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java new file mode 100644 index 0000000000000..8e8f11a9a7335 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentNoiseReductionType.java @@ -0,0 +1,66 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The input audio noise reduction mode. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentNoiseReductionType extends ExpandableStringEnum { + + /** + * Static value near_field for VoiceAgentNoiseReductionType. + */ + @Generated + public static final VoiceAgentNoiseReductionType NEAR_FIELD = fromString("near_field"); + + /** + * Static value far_field for VoiceAgentNoiseReductionType. + */ + @Generated + public static final VoiceAgentNoiseReductionType FAR_FIELD = fromString("far_field"); + + /** + * Azure deep noise suppression. + */ + @Generated + public static final VoiceAgentNoiseReductionType AZURE_DEEP_NOISE_SUPPRESSION + = fromString("azure_deep_noise_suppression"); + + /** + * Creates a new instance of VoiceAgentNoiseReductionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentNoiseReductionType() { + } + + /** + * Creates or finds a VoiceAgentNoiseReductionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentNoiseReductionType. + */ + @Generated + public static VoiceAgentNoiseReductionType fromString(String name) { + return fromString(name, VoiceAgentNoiseReductionType.class); + } + + /** + * Gets known VoiceAgentNoiseReductionType values. + * + * @return known VoiceAgentNoiseReductionType values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentNoiseReductionType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java new file mode 100644 index 0000000000000..a95a3eda70ce0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java @@ -0,0 +1,335 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeResponseStatus; +import com.openai.models.realtime.RealtimeResponseUsage; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * A live realtime response returned by the voice-agent service in both `response.created` and `response.done` events. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentRealtimeResponse extends VoiceAgentRealtimeResponseBase { + + /* + * The audio configuration used by the live response, including flat voice provider, locale, and format fields under + * `output`. + */ + @Generated + private VoiceResponseAudio audio; + + /* + * The items produced by the live response. + */ + @Generated + private List output; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * The set of modalities the model used to respond, currently the only possible values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + */ + @Generated + private List outputModalities; + + /* + * Which conversation the response is added to, determined by the `conversation` + * field in the `response.create` event. If `auto`, the response will be added to + * the default conversation and the value of `conversation_id` will be an id like + * `conv_1234`. If `none`, the response will not be added to any conversation and + * the value of `conversation_id` will be `null`. If responses are being triggered + * automatically by VAD the response will be added to the default conversation + */ + @Generated + private String conversationId; + + /* + * Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + */ + @Generated + private RealtimeResponseUsage usage; + + /* + * The metadata property. + */ + @Generated + private Map metadata; + + /* + * Additional details about the status. + */ + @Generated + private RealtimeResponseStatus statusDetails; + + /* + * The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + */ + @Generated + private VoiceResponseBaseStatus status; + + /* + * The object type, must be `realtime.response`. + */ + @Generated + private VoiceResponseBaseObject1 object; + + /* + * The unique ID of the response, will look like `resp_1234`. + */ + @Generated + private String id; + + /** + * Creates an instance of VoiceAgentRealtimeResponse class. + */ + @Generated + private VoiceAgentRealtimeResponse() { + } + + /** + * Get the audio property: The audio configuration used by the live response, including flat voice provider, locale, + * and format fields under `output`. + * + * @return the audio value. + */ + @Generated + public VoiceResponseAudio getAudio() { + return this.audio; + } + + /** + * Get the output property: The items produced by the live response. + * + * @return the output value. + */ + @Generated + public List getOutput() { + return this.output; + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @return the maxOutputTokens value. + */ + @Generated + @Override + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Get the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @return the outputModalities value. + */ + @Generated + @Override + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Get the conversationId property: Which conversation the response is added to, determined by the `conversation` + * field in the `response.create` event. If `auto`, the response will be added to + * the default conversation and the value of `conversation_id` will be an id like + * `conv_1234`. If `none`, the response will not be added to any conversation and + * the value of `conversation_id` will be `null`. If responses are being triggered + * automatically by VAD the response will be added to the default conversation. + * + * @return the conversationId value. + */ + @Generated + @Override + public String getConversationId() { + return this.conversationId; + } + + /** + * Get the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @return the usage value. + */ + @Generated + @Override + public RealtimeResponseUsage getUsage() { + return this.usage; + } + + /** + * Get the metadata property: The metadata property. + * + * @return the metadata value. + */ + @Generated + @Override + public Map getMetadata() { + return this.metadata; + } + + /** + * Get the statusDetails property: Additional details about the status. + * + * @return the statusDetails value. + */ + @Generated + @Override + public RealtimeResponseStatus getStatusDetails() { + return this.statusDetails; + } + + /** + * Get the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @return the status value. + */ + @Generated + @Override + public VoiceResponseBaseStatus getStatus() { + return this.status; + } + + /** + * Get the object property: The object type, must be `realtime.response`. + * + * @return the object value. + */ + @Generated + @Override + public VoiceResponseBaseObject1 getObject() { + return this.object; + } + + /** + * Get the id property: The unique ID of the response, will look like `resp_1234`. + * + * @return the id value. + */ + @Generated + @Override + public String getId() { + return this.id; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", getId()); + jsonWriter.writeStringField("object", getObject() == null ? null : getObject().toString()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + // AI Tooling: openai-java de-dup + if (getStatusDetails() != null) { + jsonWriter.writeFieldName("status_details"); + OpenAIJsonHelper.toBinaryData(getStatusDetails()).writeTo(jsonWriter); + } + jsonWriter.writeMapField("metadata", getMetadata(), (writer, element) -> writer.writeString(element)); + if (getUsage() != null) { + jsonWriter.writeFieldName("usage"); + OpenAIJsonHelper.toBinaryData(getUsage()).writeTo(jsonWriter); + } + jsonWriter.writeStringField("conversation_id", getConversationId()); + jsonWriter.writeArrayField("output_modalities", getOutputModalities(), + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (getMaxOutputTokens() != null) { + jsonWriter.writeFieldName("max_output_tokens"); + getMaxOutputTokens().writeTo(jsonWriter); + } + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeArrayField("output", this.output, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentRealtimeResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentRealtimeResponse 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 VoiceAgentRealtimeResponse. + */ + public static VoiceAgentRealtimeResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentRealtimeResponse deserializedVoiceAgentRealtimeResponse = new VoiceAgentRealtimeResponse(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.id = reader.getString(); + } else if ("object".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.object + = VoiceResponseBaseObject1.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.status + = VoiceResponseBaseStatus.fromString(reader.getString()); + } else if ("status_details".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData statusDetailsData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentRealtimeResponse.statusDetails + = OpenAIJsonHelper.fromBinaryData(statusDetailsData, RealtimeResponseStatus.class); + } else if ("metadata".equals(fieldName)) { + Map metadata = reader.readMap(reader1 -> reader1.getString()); + deserializedVoiceAgentRealtimeResponse.metadata = metadata; + } else if ("usage".equals(fieldName)) { + BinaryData usageData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentRealtimeResponse.usage + = OpenAIJsonHelper.fromBinaryData(usageData, RealtimeResponseUsage.class); + } else if ("conversation_id".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.conversationId = reader.getString(); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceResponseBaseOutputModality.fromString(reader1.getString())); + deserializedVoiceAgentRealtimeResponse.outputModalities = outputModalities; + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("audio".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponse.audio = VoiceResponseAudio.fromJson(reader); + } else if ("output".equals(fieldName)) { + List output + = reader.readArray(reader1 -> RealtimeConversationItem.fromJson(reader1)); + deserializedVoiceAgentRealtimeResponse.output = output; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentRealtimeResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java new file mode 100644 index 0000000000000..a06cec492047a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java @@ -0,0 +1,407 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeResponseStatus; +import com.openai.models.realtime.RealtimeResponseUsage; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * Properties shared by realtime responses returned by the voice-agent service. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentRealtimeResponseBase implements JsonSerializable { + + /* + * The unique ID of the response, will look like `resp_1234`. + */ + @Generated + private String id; + + /* + * The object type, must be `realtime.response`. + */ + @Generated + private VoiceResponseBaseObject1 object; + + /* + * The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + */ + @Generated + private VoiceResponseBaseStatus status; + + /* + * Additional details about the status. + */ + @Generated + private RealtimeResponseStatus statusDetails; + + /* + * The metadata property. + */ + @Generated + private Map metadata; + + /* + * Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + */ + @Generated + private RealtimeResponseUsage usage; + + /* + * Which conversation the response is added to, determined by the `conversation` + * field in the `response.create` event. If `auto`, the response will be added to + * the default conversation and the value of `conversation_id` will be an id like + * `conv_1234`. If `none`, the response will not be added to any conversation and + * the value of `conversation_id` will be `null`. If responses are being triggered + * automatically by VAD the response will be added to the default conversation + */ + @Generated + private String conversationId; + + /* + * The set of modalities the model used to respond, currently the only possible values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + */ + @Generated + private List outputModalities; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + */ + @Generated + private BinaryData maxOutputTokens; + + /** + * Creates an instance of VoiceAgentRealtimeResponseBase class. + */ + @Generated + protected VoiceAgentRealtimeResponseBase() { + } + + /** + * Get the id property: The unique ID of the response, will look like `resp_1234`. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Set the id property: The unique ID of the response, will look like `resp_1234`. + * + * @param id the id value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setId(String id) { + this.id = id; + return this; + } + + /** + * Get the object property: The object type, must be `realtime.response`. + * + * @return the object value. + */ + @Generated + public VoiceResponseBaseObject1 getObject() { + return this.object; + } + + /** + * Set the object property: The object type, must be `realtime.response`. + * + * @param object the object value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setObject(VoiceResponseBaseObject1 object) { + this.object = object; + return this; + } + + /** + * Get the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @return the status value. + */ + @Generated + public VoiceResponseBaseStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @param status the status value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setStatus(VoiceResponseBaseStatus status) { + this.status = status; + return this; + } + + /** + * Get the statusDetails property: Additional details about the status. + * + * @return the statusDetails value. + */ + @Generated + public RealtimeResponseStatus getStatusDetails() { + return this.statusDetails; + } + + /** + * Get the metadata property: The metadata property. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: The metadata property. + * + * @param metadata the metadata value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @return the usage value. + */ + @Generated + public RealtimeResponseUsage getUsage() { + return this.usage; + } + + /** + * Set the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @param usage the usage value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setUsage(RealtimeResponseUsage usage) { + this.usage = usage; + return this; + } + + /** + * Get the conversationId property: Which conversation the response is added to, determined by the `conversation` + * field in the `response.create` event. If `auto`, the response will be added to + * the default conversation and the value of `conversation_id` will be an id like + * `conv_1234`. If `none`, the response will not be added to any conversation and + * the value of `conversation_id` will be `null`. If responses are being triggered + * automatically by VAD the response will be added to the default conversation. + * + * @return the conversationId value. + */ + @Generated + public String getConversationId() { + return this.conversationId; + } + + /** + * Set the conversationId property: Which conversation the response is added to, determined by the `conversation` + * field in the `response.create` event. If `auto`, the response will be added to + * the default conversation and the value of `conversation_id` will be an id like + * `conv_1234`. If `none`, the response will not be added to any conversation and + * the value of `conversation_id` will be `null`. If responses are being triggered + * automatically by VAD the response will be added to the default conversation. + * + * @param conversationId the conversationId value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setConversationId(String conversationId) { + this.conversationId = conversationId; + return this; + } + + /** + * Get the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @param outputModalities the outputModalities value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + // AI Tooling: openai-java de-dup + if (this.statusDetails != null) { + jsonWriter.writeFieldName("status_details"); + OpenAIJsonHelper.toBinaryData(this.statusDetails).writeTo(jsonWriter); + } + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + if (this.usage != null) { + jsonWriter.writeFieldName("usage"); + OpenAIJsonHelper.toBinaryData(this.usage).writeTo(jsonWriter); + } + jsonWriter.writeStringField("conversation_id", this.conversationId); + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentRealtimeResponseBase from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentRealtimeResponseBase 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 VoiceAgentRealtimeResponseBase. + */ + public static VoiceAgentRealtimeResponseBase fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentRealtimeResponseBase deserializedVoiceAgentRealtimeResponseBase + = new VoiceAgentRealtimeResponseBase(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponseBase.id = reader.getString(); + } else if ("object".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponseBase.object + = VoiceResponseBaseObject1.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponseBase.status + = VoiceResponseBaseStatus.fromString(reader.getString()); + } else if ("status_details".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData statusDetailsData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentRealtimeResponseBase.statusDetails + = OpenAIJsonHelper.fromBinaryData(statusDetailsData, RealtimeResponseStatus.class); + } else if ("metadata".equals(fieldName)) { + Map metadata = reader.readMap(reader1 -> reader1.getString()); + deserializedVoiceAgentRealtimeResponseBase.metadata = metadata; + } else if ("usage".equals(fieldName)) { + BinaryData usageData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentRealtimeResponseBase.usage + = OpenAIJsonHelper.fromBinaryData(usageData, RealtimeResponseUsage.class); + } else if ("conversation_id".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponseBase.conversationId = reader.getString(); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceResponseBaseOutputModality.fromString(reader1.getString())); + deserializedVoiceAgentRealtimeResponseBase.outputModalities = outputModalities; + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceAgentRealtimeResponseBase.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentRealtimeResponseBase; + }); + } + + /** + * Set the statusDetails property: Additional details about the status. + * + * @param statusDetails the statusDetails value to set. + * @return the VoiceAgentRealtimeResponseBase object itself. + */ + @Generated + VoiceAgentRealtimeResponseBase setStatusDetails(RealtimeResponseStatus statusDetails) { + this.statusDetails = statusDetails; + return this; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java new file mode 100644 index 0000000000000..7359051ce5819 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java @@ -0,0 +1,549 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeReasoning; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * Parameters accepted by a voice-agent `response.create` event. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentResponseCreateParams implements JsonSerializable { + + /* + * The default system instructions (i.e. system message) prepended to model calls. This field allows the client to + * guide the model on desired responses. The model can be instructed on response content and format, (e.g. + * "be extremely succinct", "act friendly", "here are examples of good responses") and on audio behavior (e.g. + * "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are not guaranteed to be + * followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + */ + @Generated + private String instructions; + + /* + * Tools available to the model. + */ + @Generated + private List tools; + + /* + * How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + */ + @Generated + private BinaryData toolChoice; + + /* + * Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + */ + @Generated + private Boolean parallelToolCalls; + + /* + * The reasoning property. + */ + @Generated + private RealtimeReasoning reasoning; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * Controls which conversation the response is added to. Currently supports + * `auto` and `none`, with `auto` as the default value. The `auto` value + * means that the contents of the response will be added to the default + * conversation. Set this to `none` to create an out-of-band response which + * will not add items to default conversation. + */ + @Generated + private VoiceAgentResponseCreateParamsConversation conversation; + + /* + * The metadata property. + */ + @Generated + private Map metadata; + + /* + * Modalities that the response may return. + */ + @Generated + private List outputModalities; + + /* + * Response-specific audio settings. + */ + @Generated + private PickPropertiesVoiceAgentAudioConfig audio; + + /* + * Conversation items used as inline response input. + */ + @Generated + private List input; + + /* + * A pre-generated assistant message used to begin the response. + */ + @Generated + private RealtimeConversationItem preGeneratedAssistantMessage; + + /* + * Interim-response settings for this response. + */ + @Generated + private VoiceAgentInterimResponseConfig interimResponse; + + /** + * Creates an instance of VoiceAgentResponseCreateParams class. + */ + @Generated + public VoiceAgentResponseCreateParams() { + } + + /** + * Get the instructions property: The default system instructions (i.e. system message) prepended to model calls. + * This field allows the client to guide the model on desired responses. The model can be instructed on response + * content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on + * audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are + * not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Set the instructions property: The default system instructions (i.e. system message) prepended to model calls. + * This field allows the client to guide the model on desired responses. The model can be instructed on response + * content and format, (e.g. "be extremely succinct", "act friendly", "here are examples of good responses") and on + * audio behavior (e.g. "talk quickly", "inject emotion into your voice", "laugh frequently"). The instructions are + * not guaranteed to be followed by the model, but they provide guidance to the model on the desired behavior. + * Note that the server sets default instructions which will be used if this field is not set and are visible in the + * `session.created` event at the start of the session. + * + * @param instructions the instructions value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setInstructions(String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Get the tools property: Tools available to the model. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Set the tools property: Tools available to the model. + * + * @param tools the tools value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setTools(List tools) { + this.tools = tools; + return this; + } + + /** + * Get the toolChoice property: How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Set the toolChoice property: How the model chooses tools. Provide one of the string modes or force a specific + * function/MCP tool. + * + * @param toolChoice the toolChoice value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setToolChoice(BinaryData toolChoice) { + this.toolChoice = toolChoice; + return this; + } + + /** + * Get the parallelToolCalls property: Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + * + * @return the parallelToolCalls value. + */ + @Generated + public Boolean isParallelToolCalls() { + return this.parallelToolCalls; + } + + /** + * Set the parallelToolCalls property: Whether the model may call multiple tools in parallel. Only supported by + * reasoning Realtime models such as `gpt-realtime-2`. + * + * @param parallelToolCalls the parallelToolCalls value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setParallelToolCalls(Boolean parallelToolCalls) { + this.parallelToolCalls = parallelToolCalls; + return this; + } + + /** + * Get the reasoning property: The reasoning property. + * + * @return the reasoning value. + */ + @Generated + public RealtimeReasoning getReasoning() { + return this.reasoning; + } + + /** + * Set the reasoning property: The reasoning property. + * + * @param reasoning the reasoning value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setReasoning(RealtimeReasoning reasoning) { + this.reasoning = reasoning; + return this; + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls. Provide an integer between 1 and 4096 to + * limit output tokens, or `inf` for the maximum available tokens for a + * given model. Defaults to `inf`. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * Get the conversation property: Controls which conversation the response is added to. Currently supports + * `auto` and `none`, with `auto` as the default value. The `auto` value + * means that the contents of the response will be added to the default + * conversation. Set this to `none` to create an out-of-band response which + * will not add items to default conversation. + * + * @return the conversation value. + */ + @Generated + public VoiceAgentResponseCreateParamsConversation getConversation() { + return this.conversation; + } + + /** + * Set the conversation property: Controls which conversation the response is added to. Currently supports + * `auto` and `none`, with `auto` as the default value. The `auto` value + * means that the contents of the response will be added to the default + * conversation. Set this to `none` to create an out-of-band response which + * will not add items to default conversation. + * + * @param conversation the conversation value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setConversation(VoiceAgentResponseCreateParamsConversation conversation) { + this.conversation = conversation; + return this; + } + + /** + * Get the metadata property: The metadata property. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: The metadata property. + * + * @param metadata the metadata value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get the outputModalities property: Modalities that the response may return. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: Modalities that the response may return. + * + * @param outputModalities the outputModalities value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the audio property: Response-specific audio settings. + * + * @return the audio value. + */ + @Generated + public PickPropertiesVoiceAgentAudioConfig getAudio() { + return this.audio; + } + + /** + * Set the audio property: Response-specific audio settings. + * + * @param audio the audio value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setAudio(PickPropertiesVoiceAgentAudioConfig audio) { + this.audio = audio; + return this; + } + + /** + * Get the input property: Conversation items used as inline response input. + * + * @return the input value. + */ + @Generated + public List getInput() { + return this.input; + } + + /** + * Set the input property: Conversation items used as inline response input. + * + * @param input the input value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setInput(List input) { + this.input = input; + return this; + } + + /** + * Get the preGeneratedAssistantMessage property: A pre-generated assistant message used to begin the response. + * + * @return the preGeneratedAssistantMessage value. + */ + @Generated + public RealtimeConversationItem getPreGeneratedAssistantMessage() { + return this.preGeneratedAssistantMessage; + } + + /** + * Set the preGeneratedAssistantMessage property: A pre-generated assistant message used to begin the response. + * + * @param preGeneratedAssistantMessage the preGeneratedAssistantMessage value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams + setPreGeneratedAssistantMessage(RealtimeConversationItem preGeneratedAssistantMessage) { + this.preGeneratedAssistantMessage = preGeneratedAssistantMessage; + return this; + } + + /** + * Get the interimResponse property: Interim-response settings for this response. + * + * @return the interimResponse value. + */ + @Generated + public VoiceAgentInterimResponseConfig getInterimResponse() { + return this.interimResponse; + } + + /** + * Set the interimResponse property: Interim-response settings for this response. + * + * @param interimResponse the interimResponse value to set. + * @return the VoiceAgentResponseCreateParams object itself. + */ + @Generated + public VoiceAgentResponseCreateParams setInterimResponse(VoiceAgentInterimResponseConfig interimResponse) { + this.interimResponse = interimResponse; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + jsonWriter.writeBooleanField("parallel_tool_calls", this.parallelToolCalls); + // AI Tooling: openai-java de-dup + if (this.reasoning != null) { + jsonWriter.writeFieldName("reasoning"); + OpenAIJsonHelper.toBinaryData(this.reasoning).writeTo(jsonWriter); + } + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + jsonWriter.writeStringField("conversation", this.conversation == null ? null : this.conversation.toString()); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeArrayField("input", this.input, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("pre_generated_assistant_message", this.preGeneratedAssistantMessage); + jsonWriter.writeJsonField("interim_response", this.interimResponse); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentResponseCreateParams from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentResponseCreateParams 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 VoiceAgentResponseCreateParams. + */ + public static VoiceAgentResponseCreateParams fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentResponseCreateParams deserializedVoiceAgentResponseCreateParams + = new VoiceAgentResponseCreateParams(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("instructions".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.instructions = reader.getString(); + } else if ("tools".equals(fieldName)) { + List tools = reader.readArray(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedVoiceAgentResponseCreateParams.tools = tools; + } else if ("tool_choice".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("parallel_tool_calls".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.parallelToolCalls + = reader.getNullable(JsonReader::getBoolean); + } else if ("reasoning".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData reasoningData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentResponseCreateParams.reasoning + = OpenAIJsonHelper.fromBinaryData(reasoningData, RealtimeReasoning.class); + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("conversation".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.conversation + = VoiceAgentResponseCreateParamsConversation.fromString(reader.getString()); + } else if ("metadata".equals(fieldName)) { + Map metadata = reader.readMap(reader1 -> reader1.getString()); + deserializedVoiceAgentResponseCreateParams.metadata = metadata; + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceOutputModality.fromString(reader1.getString())); + deserializedVoiceAgentResponseCreateParams.outputModalities = outputModalities; + } else if ("audio".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.audio + = PickPropertiesVoiceAgentAudioConfig.fromJson(reader); + } else if ("input".equals(fieldName)) { + List input + = reader.readArray(reader1 -> RealtimeConversationItem.fromJson(reader1)); + deserializedVoiceAgentResponseCreateParams.input = input; + } else if ("pre_generated_assistant_message".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.preGeneratedAssistantMessage + = RealtimeConversationItem.fromJson(reader); + } else if ("interim_response".equals(fieldName)) { + deserializedVoiceAgentResponseCreateParams.interimResponse + = VoiceAgentInterimResponseConfig.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentResponseCreateParams; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java new file mode 100644 index 0000000000000..1578c8de38576 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.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; + +/** + * Defines values for VoiceAgentResponseCreateParamsConversation. + */ +public final class VoiceAgentResponseCreateParamsConversation + extends ExpandableStringEnum { + + /** + * Static value auto for VoiceAgentResponseCreateParamsConversation. + */ + @Generated + public static final VoiceAgentResponseCreateParamsConversation AUTO = fromString("auto"); + + /** + * Static value none for VoiceAgentResponseCreateParamsConversation. + */ + @Generated + public static final VoiceAgentResponseCreateParamsConversation NONE = fromString("none"); + + /** + * Creates a new instance of VoiceAgentResponseCreateParamsConversation value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentResponseCreateParamsConversation() { + } + + /** + * Creates or finds a VoiceAgentResponseCreateParamsConversation from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentResponseCreateParamsConversation. + */ + @Generated + public static VoiceAgentResponseCreateParamsConversation fromString(String name) { + return fromString(name, VoiceAgentResponseCreateParamsConversation.class); + } + + /** + * Gets known VoiceAgentResponseCreateParamsConversation values. + * + * @return known VoiceAgentResponseCreateParamsConversation values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentResponseCreateParamsConversation.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.java new file mode 100644 index 0000000000000..3ccea9e7956a3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Details of a WebRTC signaling error. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentRtcCallErrorDetails implements JsonSerializable { + + /* + * The error category, following the VoiceLive wire contract: `invalid_request_error` for a client-side signaling + * fault (for example, a malformed SDP offer) or `server_error` for a service-side failure. Additional categories + * may be added over time. + */ + @Generated + private final String type; + + /* + * A machine-readable error code, when available. + */ + @Generated + private String code; + + /* + * A human-readable error message. + */ + @Generated + private final String message; + + /** + * Creates an instance of VoiceAgentRtcCallErrorDetails class. + * + * @param type the type value to set. + * @param message the message value to set. + */ + @Generated + private VoiceAgentRtcCallErrorDetails(String type, String message) { + this.type = type; + this.message = message; + } + + /** + * Get the type property: The error category, following the VoiceLive wire contract: `invalid_request_error` for a + * client-side signaling fault (for example, a malformed SDP offer) or `server_error` for a service-side failure. + * Additional categories may be added over time. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the code property: A machine-readable error code, when available. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the message property: A human-readable error message. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("code", this.code); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentRtcCallErrorDetails from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentRtcCallErrorDetails 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 VoiceAgentRtcCallErrorDetails. + */ + @Generated + public static VoiceAgentRtcCallErrorDetails fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String type = null; + String message = null; + String code = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("code".equals(fieldName)) { + code = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentRtcCallErrorDetails deserializedVoiceAgentRtcCallErrorDetails + = new VoiceAgentRtcCallErrorDetails(type, message); + deserializedVoiceAgentRtcCallErrorDetails.code = code; + return deserializedVoiceAgentRtcCallErrorDetails; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java new file mode 100644 index 0000000000000..006bc3e293e3f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetection.java @@ -0,0 +1,192 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * OpenAI semantic VAD turn-detection settings. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSemanticVadTurnDetection extends VoiceAgentTurnDetectionConfig { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.SEMANTIC_VAD; + + /* + * The eagerness property. + */ + @Generated + private VoiceAgentSemanticVadTurnDetectionEagerness eagerness; + + /* + * The create_response property. + */ + @Generated + private Boolean createResponse; + + /* + * The interrupt_response property. + */ + @Generated + private Boolean interruptResponse; + + /** + * Creates an instance of VoiceAgentSemanticVadTurnDetection class. + */ + @Generated + public VoiceAgentSemanticVadTurnDetection() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + @Override + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the eagerness property: The eagerness property. + * + * @return the eagerness value. + */ + @Generated + public VoiceAgentSemanticVadTurnDetectionEagerness getEagerness() { + return this.eagerness; + } + + /** + * Set the eagerness property: The eagerness property. + * + * @param eagerness the eagerness value to set. + * @return the VoiceAgentSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentSemanticVadTurnDetection setEagerness(VoiceAgentSemanticVadTurnDetectionEagerness eagerness) { + this.eagerness = eagerness; + return this; + } + + /** + * Get the createResponse property: The create_response property. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: The create_response property. + * + * @param createResponse the createResponse value to set. + * @return the VoiceAgentSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentSemanticVadTurnDetection setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: The interrupt_response property. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: The interrupt_response property. + * + * @param interruptResponse the interruptResponse value to set. + * @return the VoiceAgentSemanticVadTurnDetection object itself. + */ + @Generated + public VoiceAgentSemanticVadTurnDetection setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSemanticVadTurnDetection setAutoTruncate(Boolean autoTruncate) { + super.setAutoTruncate(autoTruncate); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("auto_truncate", isAutoTruncate()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("eagerness", this.eagerness == null ? null : this.eagerness.toString()); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentSemanticVadTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentSemanticVadTurnDetection 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 VoiceAgentSemanticVadTurnDetection. + */ + @Generated + public static VoiceAgentSemanticVadTurnDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentSemanticVadTurnDetection deserializedVoiceAgentSemanticVadTurnDetection + = new VoiceAgentSemanticVadTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentSemanticVadTurnDetection + .setAutoTruncate(reader.getNullable(JsonReader::getBoolean)); + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentSemanticVadTurnDetection.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("eagerness".equals(fieldName)) { + deserializedVoiceAgentSemanticVadTurnDetection.eagerness + = VoiceAgentSemanticVadTurnDetectionEagerness.fromString(reader.getString()); + } else if ("create_response".equals(fieldName)) { + deserializedVoiceAgentSemanticVadTurnDetection.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedVoiceAgentSemanticVadTurnDetection.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentSemanticVadTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java new file mode 100644 index 0000000000000..f553ce7ec04cd --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSemanticVadTurnDetectionEagerness.java @@ -0,0 +1,66 @@ +// 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; + +/** + * Defines values for VoiceAgentSemanticVadTurnDetectionEagerness. + */ +public enum VoiceAgentSemanticVadTurnDetectionEagerness { + /** + * Enum value low. + */ + LOW("low"), + + /** + * Enum value medium. + */ + MEDIUM("medium"), + + /** + * Enum value high. + */ + HIGH("high"), + + /** + * Enum value auto. + */ + AUTO("auto"); + + /** + * The actual serialized value for a VoiceAgentSemanticVadTurnDetectionEagerness instance. + */ + private final String value; + + VoiceAgentSemanticVadTurnDetectionEagerness(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentSemanticVadTurnDetectionEagerness instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentSemanticVadTurnDetectionEagerness object, or null if unable to parse. + */ + public static VoiceAgentSemanticVadTurnDetectionEagerness fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentSemanticVadTurnDetectionEagerness[] items = VoiceAgentSemanticVadTurnDetectionEagerness.values(); + for (VoiceAgentSemanticVadTurnDetectionEagerness item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java new file mode 100644 index 0000000000000..31e0742d85d14 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java @@ -0,0 +1,244 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * The `response.animation_blendshapes.delta` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAnimationBlendshapesDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_BLENDSHAPES_DELTA; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The content_index property. + */ + @Generated + private final int contentIndex; + + /* + * Animation frames as numeric blendshape weights. + */ + @Generated + private final List> frames; + + /* + * The index of the first frame in this delta. + */ + @Generated + private final int frameIndex; + + /** + * Creates an instance of VoiceAgentServerEventResponseAnimationBlendshapesDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param frames the frames value to set. + * @param frameIndex the frameIndex value to set. + */ + @Generated + private VoiceAgentServerEventResponseAnimationBlendshapesDelta(String eventId, String responseId, String itemId, + int outputIndex, int contentIndex, List> frames, int frameIndex) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + this.frames = frames; + this.frameIndex = frameIndex; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The content_index property. + * + * @return the contentIndex value. + */ + @Generated + public int getContentIndex() { + return this.contentIndex; + } + + /** + * Get the frames property: Animation frames as numeric blendshape weights. + * + * @return the frames value. + */ + @Generated + public List> getFrames() { + return this.frames; + } + + /** + * Get the frameIndex property: The index of the first frame in this delta. + * + * @return the frameIndex value. + */ + @Generated + public int getFrameIndex() { + return this.frameIndex; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeIntField("content_index", this.contentIndex); + jsonWriter.writeArrayField("frames", this.frames, + (writer, element) -> writer.writeArray(element, (writer1, element1) -> writer1.writeDouble(element1))); + jsonWriter.writeIntField("frame_index", this.frameIndex); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAnimationBlendshapesDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAnimationBlendshapesDelta 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 VoiceAgentServerEventResponseAnimationBlendshapesDelta. + */ + @Generated + public static VoiceAgentServerEventResponseAnimationBlendshapesDelta fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + int contentIndex = 0; + List> frames = null; + int frameIndex = 0; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_BLENDSHAPES_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getInt(); + } else if ("frames".equals(fieldName)) { + frames = reader.readArray(reader1 -> reader1.readArray(reader2 -> reader2.getDouble())); + } else if ("frame_index".equals(fieldName)) { + frameIndex = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAnimationBlendshapesDelta deserializedVoiceAgentServerEventResponseAnimationBlendshapesDelta + = new VoiceAgentServerEventResponseAnimationBlendshapesDelta(eventId, responseId, itemId, outputIndex, + contentIndex, frames, frameIndex); + deserializedVoiceAgentServerEventResponseAnimationBlendshapesDelta.type = type; + return deserializedVoiceAgentServerEventResponseAnimationBlendshapesDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java new file mode 100644 index 0000000000000..19e68bd1c94c5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java @@ -0,0 +1,175 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `response.animation_blendshapes.done` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAnimationBlendshapesDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_BLENDSHAPES_DONE; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /** + * Creates an instance of VoiceAgentServerEventResponseAnimationBlendshapesDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + */ + @Generated + private VoiceAgentServerEventResponseAnimationBlendshapesDone(String eventId, String responseId, String itemId, + int outputIndex) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAnimationBlendshapesDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAnimationBlendshapesDone 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 VoiceAgentServerEventResponseAnimationBlendshapesDone. + */ + @Generated + public static VoiceAgentServerEventResponseAnimationBlendshapesDone fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_BLENDSHAPES_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAnimationBlendshapesDone deserializedVoiceAgentServerEventResponseAnimationBlendshapesDone + = new VoiceAgentServerEventResponseAnimationBlendshapesDone(eventId, responseId, itemId, outputIndex); + deserializedVoiceAgentServerEventResponseAnimationBlendshapesDone.type = type; + return deserializedVoiceAgentServerEventResponseAnimationBlendshapesDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java new file mode 100644 index 0000000000000..f9b6ceddb0f7b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java @@ -0,0 +1,246 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * The `response.animation_viseme.delta` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAnimationVisemeDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_VISEME_DELTA; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The content_index property. + */ + @Generated + private final int contentIndex; + + /* + * The audio_offset_ms property. + */ + @Generated + private final long audioOffsetMs; + + /* + * The viseme_id property. + */ + @Generated + private final int visemeId; + + /** + * Creates an instance of VoiceAgentServerEventResponseAnimationVisemeDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param audioOffsetMs the audioOffsetMs value to set. + * @param visemeId the visemeId value to set. + */ + @Generated + private VoiceAgentServerEventResponseAnimationVisemeDelta(String eventId, String responseId, String itemId, + int outputIndex, int contentIndex, Duration audioOffsetMs, int visemeId) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + if (audioOffsetMs == null) { + this.audioOffsetMs = 0L; + } else { + this.audioOffsetMs = audioOffsetMs.toMillis(); + } + this.visemeId = visemeId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The content_index property. + * + * @return the contentIndex value. + */ + @Generated + public int getContentIndex() { + return this.contentIndex; + } + + /** + * Get the audioOffsetMs property: The audio_offset_ms property. + * + * @return the audioOffsetMs value. + */ + @Generated + public Duration getAudioOffsetMs() { + return Duration.ofMillis(this.audioOffsetMs); + } + + /** + * Get the visemeId property: The viseme_id property. + * + * @return the visemeId value. + */ + @Generated + public int getVisemeId() { + return this.visemeId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeIntField("content_index", this.contentIndex); + jsonWriter.writeLongField("audio_offset_ms", this.audioOffsetMs); + jsonWriter.writeIntField("viseme_id", this.visemeId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAnimationVisemeDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAnimationVisemeDelta 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 VoiceAgentServerEventResponseAnimationVisemeDelta. + */ + @Generated + public static VoiceAgentServerEventResponseAnimationVisemeDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + int contentIndex = 0; + Duration audioOffsetMs = null; + int visemeId = 0; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_VISEME_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getInt(); + } else if ("audio_offset_ms".equals(fieldName)) { + audioOffsetMs = Duration.ofMillis(reader.getLong()); + } else if ("viseme_id".equals(fieldName)) { + visemeId = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAnimationVisemeDelta deserializedVoiceAgentServerEventResponseAnimationVisemeDelta + = new VoiceAgentServerEventResponseAnimationVisemeDelta(eventId, responseId, itemId, outputIndex, + contentIndex, audioOffsetMs, visemeId); + deserializedVoiceAgentServerEventResponseAnimationVisemeDelta.type = type; + return deserializedVoiceAgentServerEventResponseAnimationVisemeDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java new file mode 100644 index 0000000000000..00ac0dfc7a5bb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `response.animation_viseme.done` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAnimationVisemeDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_VISEME_DONE; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The content_index property. + */ + @Generated + private final int contentIndex; + + /** + * Creates an instance of VoiceAgentServerEventResponseAnimationVisemeDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + */ + @Generated + private VoiceAgentServerEventResponseAnimationVisemeDone(String eventId, String responseId, String itemId, + int outputIndex, int contentIndex) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The content_index property. + * + * @return the contentIndex value. + */ + @Generated + public int getContentIndex() { + return this.contentIndex; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeIntField("content_index", this.contentIndex); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAnimationVisemeDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAnimationVisemeDone 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 VoiceAgentServerEventResponseAnimationVisemeDone. + */ + @Generated + public static VoiceAgentServerEventResponseAnimationVisemeDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + int contentIndex = 0; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_ANIMATION_VISEME_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAnimationVisemeDone deserializedVoiceAgentServerEventResponseAnimationVisemeDone + = new VoiceAgentServerEventResponseAnimationVisemeDone(eventId, responseId, itemId, outputIndex, + contentIndex); + deserializedVoiceAgentServerEventResponseAnimationVisemeDone.type = type; + return deserializedVoiceAgentServerEventResponseAnimationVisemeDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java new file mode 100644 index 0000000000000..4b24f5e800dce --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java @@ -0,0 +1,289 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * The `response.audio_timestamp.delta` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAudioTimestampDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_AUDIO_TIMESTAMP_DELTA; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The content_index property. + */ + @Generated + private final int contentIndex; + + /* + * The audio_offset_ms property. + */ + @Generated + private final long audioOffsetMs; + + /* + * The audio_duration_ms property. + */ + @Generated + private final long audioDurationMs; + + /* + * The text property. + */ + @Generated + private final String text; + + /* + * The timestamp_type property. + */ + @Generated + private final String timestampType = "word"; + + /** + * Creates an instance of VoiceAgentServerEventResponseAudioTimestampDelta class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + * @param audioOffsetMs the audioOffsetMs value to set. + * @param audioDurationMs the audioDurationMs value to set. + * @param text the text value to set. + */ + @Generated + private VoiceAgentServerEventResponseAudioTimestampDelta(String eventId, String responseId, String itemId, + int outputIndex, int contentIndex, Duration audioOffsetMs, Duration audioDurationMs, String text) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + if (audioOffsetMs == null) { + this.audioOffsetMs = 0L; + } else { + this.audioOffsetMs = audioOffsetMs.toMillis(); + } + if (audioDurationMs == null) { + this.audioDurationMs = 0L; + } else { + this.audioDurationMs = audioDurationMs.toMillis(); + } + this.text = text; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The content_index property. + * + * @return the contentIndex value. + */ + @Generated + public int getContentIndex() { + return this.contentIndex; + } + + /** + * Get the audioOffsetMs property: The audio_offset_ms property. + * + * @return the audioOffsetMs value. + */ + @Generated + public Duration getAudioOffsetMs() { + return Duration.ofMillis(this.audioOffsetMs); + } + + /** + * Get the audioDurationMs property: The audio_duration_ms property. + * + * @return the audioDurationMs value. + */ + @Generated + public Duration getAudioDurationMs() { + return Duration.ofMillis(this.audioDurationMs); + } + + /** + * Get the text property: The text property. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the timestampType property: The timestamp_type property. + * + * @return the timestampType value. + */ + @Generated + public String getTimestampType() { + return this.timestampType; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeIntField("content_index", this.contentIndex); + jsonWriter.writeLongField("audio_offset_ms", this.audioOffsetMs); + jsonWriter.writeLongField("audio_duration_ms", this.audioDurationMs); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("timestamp_type", this.timestampType); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAudioTimestampDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAudioTimestampDelta 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 VoiceAgentServerEventResponseAudioTimestampDelta. + */ + @Generated + public static VoiceAgentServerEventResponseAudioTimestampDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + int contentIndex = 0; + Duration audioOffsetMs = null; + Duration audioDurationMs = null; + String text = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_AUDIO_TIMESTAMP_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getInt(); + } else if ("audio_offset_ms".equals(fieldName)) { + audioOffsetMs = Duration.ofMillis(reader.getLong()); + } else if ("audio_duration_ms".equals(fieldName)) { + audioDurationMs = Duration.ofMillis(reader.getLong()); + } else if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAudioTimestampDelta deserializedVoiceAgentServerEventResponseAudioTimestampDelta + = new VoiceAgentServerEventResponseAudioTimestampDelta(eventId, responseId, itemId, outputIndex, + contentIndex, audioOffsetMs, audioDurationMs, text); + deserializedVoiceAgentServerEventResponseAudioTimestampDelta.type = type; + return deserializedVoiceAgentServerEventResponseAudioTimestampDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java new file mode 100644 index 0000000000000..4940191021faa --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `response.audio_timestamp.done` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseAudioTimestampDone extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_AUDIO_TIMESTAMP_DONE; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The response_id property. + */ + @Generated + private final String responseId; + + /* + * The item_id property. + */ + @Generated + private final String itemId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The content_index property. + */ + @Generated + private final int contentIndex; + + /** + * Creates an instance of VoiceAgentServerEventResponseAudioTimestampDone class. + * + * @param eventId the eventId value to set. + * @param responseId the responseId value to set. + * @param itemId the itemId value to set. + * @param outputIndex the outputIndex value to set. + * @param contentIndex the contentIndex value to set. + */ + @Generated + private VoiceAgentServerEventResponseAudioTimestampDone(String eventId, String responseId, String itemId, + int outputIndex, int contentIndex) { + this.eventId = eventId; + this.responseId = responseId; + this.itemId = itemId; + this.outputIndex = outputIndex; + this.contentIndex = contentIndex; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the responseId property: The response_id property. + * + * @return the responseId value. + */ + @Generated + public String getResponseId() { + return this.responseId; + } + + /** + * Get the itemId property: The item_id property. + * + * @return the itemId value. + */ + @Generated + public String getItemId() { + return this.itemId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the contentIndex property: The content_index property. + * + * @return the contentIndex value. + */ + @Generated + public int getContentIndex() { + return this.contentIndex; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("response_id", this.responseId); + jsonWriter.writeStringField("item_id", this.itemId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeIntField("content_index", this.contentIndex); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseAudioTimestampDone from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseAudioTimestampDone 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 VoiceAgentServerEventResponseAudioTimestampDone. + */ + @Generated + public static VoiceAgentServerEventResponseAudioTimestampDone fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String responseId = null; + String itemId = null; + int outputIndex = 0; + int contentIndex = 0; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_AUDIO_TIMESTAMP_DONE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("response_id".equals(fieldName)) { + responseId = reader.getString(); + } else if ("item_id".equals(fieldName)) { + itemId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("content_index".equals(fieldName)) { + contentIndex = reader.getInt(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseAudioTimestampDone deserializedVoiceAgentServerEventResponseAudioTimestampDone + = new VoiceAgentServerEventResponseAudioTimestampDone(eventId, responseId, itemId, outputIndex, + contentIndex); + deserializedVoiceAgentServerEventResponseAudioTimestampDone.type = type; + return deserializedVoiceAgentServerEventResponseAudioTimestampDone; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java new file mode 100644 index 0000000000000..e3d32787d628c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java @@ -0,0 +1,173 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `response.video.delta` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventResponseVideoDelta extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_VIDEO_DELTA; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The output_index property. + */ + @Generated + private final int outputIndex; + + /* + * The codec property. + */ + @Generated + private final String codec; + + /* + * The base64-encoded video frame data. + */ + @Generated + private final String delta; + + /** + * Creates an instance of VoiceAgentServerEventResponseVideoDelta class. + * + * @param eventId the eventId value to set. + * @param outputIndex the outputIndex value to set. + * @param codec the codec value to set. + * @param delta the delta value to set. + */ + @Generated + private VoiceAgentServerEventResponseVideoDelta(String eventId, int outputIndex, String codec, String delta) { + this.eventId = eventId; + this.outputIndex = outputIndex; + this.codec = codec; + this.delta = delta; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the outputIndex property: The output_index property. + * + * @return the outputIndex value. + */ + @Generated + public int getOutputIndex() { + return this.outputIndex; + } + + /** + * Get the codec property: The codec property. + * + * @return the codec value. + */ + @Generated + public String getCodec() { + return this.codec; + } + + /** + * Get the delta property: The base64-encoded video frame data. + * + * @return the delta value. + */ + @Generated + public String getDelta() { + return this.delta; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeIntField("output_index", this.outputIndex); + jsonWriter.writeStringField("codec", this.codec); + jsonWriter.writeStringField("delta", this.delta); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventResponseVideoDelta from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventResponseVideoDelta 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 VoiceAgentServerEventResponseVideoDelta. + */ + @Generated + public static VoiceAgentServerEventResponseVideoDelta fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + int outputIndex = 0; + String codec = null; + String delta = null; + RealtimeServerEventType type = RealtimeServerEventType.RESPONSE_VIDEO_DELTA; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("output_index".equals(fieldName)) { + outputIndex = reader.getInt(); + } else if ("codec".equals(fieldName)) { + codec = reader.getString(); + } else if ("delta".equals(fieldName)) { + delta = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventResponseVideoDelta deserializedVoiceAgentServerEventResponseVideoDelta + = new VoiceAgentServerEventResponseVideoDelta(eventId, outputIndex, codec, delta); + deserializedVoiceAgentServerEventResponseVideoDelta.type = type; + return deserializedVoiceAgentServerEventResponseVideoDelta; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java new file mode 100644 index 0000000000000..4023cfaafa331 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java @@ -0,0 +1,170 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `rtc.call.error` server event: a WebRTC signaling failure. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventRtcCallError extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RTC_CALL_ERROR; + + /* + * An optional server-generated event identifier. + */ + @Generated + private String eventId; + + /* + * The signaling operation that failed, when known. + */ + @Generated + private String operation; + + /* + * The identifier of the WebRTC call, when known. + */ + @Generated + private String rtcCallId; + + /* + * The error detail. + */ + @Generated + private final VoiceAgentRtcCallErrorDetails error; + + /** + * Creates an instance of VoiceAgentServerEventRtcCallError class. + * + * @param error the error value to set. + */ + @Generated + private VoiceAgentServerEventRtcCallError(VoiceAgentRtcCallErrorDetails error) { + this.error = error; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: An optional server-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the operation property: The signaling operation that failed, when known. + * + * @return the operation value. + */ + @Generated + public String getOperation() { + return this.operation; + } + + /** + * Get the rtcCallId property: The identifier of the WebRTC call, when known. + * + * @return the rtcCallId value. + */ + @Generated + public String getRtcCallId() { + return this.rtcCallId; + } + + /** + * Get the error property: The error detail. + * + * @return the error value. + */ + @Generated + public VoiceAgentRtcCallErrorDetails getError() { + return this.error; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("error", this.error); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("operation", this.operation); + jsonWriter.writeStringField("rtc_call_id", this.rtcCallId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventRtcCallError from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventRtcCallError 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 VoiceAgentServerEventRtcCallError. + */ + @Generated + public static VoiceAgentServerEventRtcCallError fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentRtcCallErrorDetails error = null; + RealtimeServerEventType type = RealtimeServerEventType.RTC_CALL_ERROR; + String eventId = null; + String operation = null; + String rtcCallId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("error".equals(fieldName)) { + error = VoiceAgentRtcCallErrorDetails.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("operation".equals(fieldName)) { + operation = reader.getString(); + } else if ("rtc_call_id".equals(fieldName)) { + rtcCallId = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventRtcCallError deserializedVoiceAgentServerEventRtcCallError + = new VoiceAgentServerEventRtcCallError(error); + deserializedVoiceAgentServerEventRtcCallError.type = type; + deserializedVoiceAgentServerEventRtcCallError.eventId = eventId; + deserializedVoiceAgentServerEventRtcCallError.operation = operation; + deserializedVoiceAgentServerEventRtcCallError.rtcCallId = rtcCallId; + return deserializedVoiceAgentServerEventRtcCallError; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java new file mode 100644 index 0000000000000..1046a91a8c27e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java @@ -0,0 +1,151 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `rtc.call.sdp.created` server event: the SDP answer that completes WebRTC negotiation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventRtcCallSdpCreated extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.RTC_CALL_SDP_CREATED; + + /* + * The server-generated event identifier. + */ + @Generated + private final String eventId; + + /* + * The identifier of the established WebRTC call. + */ + @Generated + private final String rtcCallId; + + /* + * The server's SDP answer for the WebRTC connection. + */ + @Generated + private final String sdpAnswer; + + /** + * Creates an instance of VoiceAgentServerEventRtcCallSdpCreated class. + * + * @param eventId the eventId value to set. + * @param rtcCallId the rtcCallId value to set. + * @param sdpAnswer the sdpAnswer value to set. + */ + @Generated + private VoiceAgentServerEventRtcCallSdpCreated(String eventId, String rtcCallId, String sdpAnswer) { + this.eventId = eventId; + this.rtcCallId = rtcCallId; + this.sdpAnswer = sdpAnswer; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The server-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the rtcCallId property: The identifier of the established WebRTC call. + * + * @return the rtcCallId value. + */ + @Generated + public String getRtcCallId() { + return this.rtcCallId; + } + + /** + * Get the sdpAnswer property: The server's SDP answer for the WebRTC connection. + * + * @return the sdpAnswer value. + */ + @Generated + public String getSdpAnswer() { + return this.sdpAnswer; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("rtc_call_id", this.rtcCallId); + jsonWriter.writeStringField("sdp_answer", this.sdpAnswer); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventRtcCallSdpCreated from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventRtcCallSdpCreated 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 VoiceAgentServerEventRtcCallSdpCreated. + */ + @Generated + public static VoiceAgentServerEventRtcCallSdpCreated fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String rtcCallId = null; + String sdpAnswer = null; + RealtimeServerEventType type = RealtimeServerEventType.RTC_CALL_SDP_CREATED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("rtc_call_id".equals(fieldName)) { + rtcCallId = reader.getString(); + } else if ("sdp_answer".equals(fieldName)) { + sdpAnswer = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventRtcCallSdpCreated deserializedVoiceAgentServerEventRtcCallSdpCreated + = new VoiceAgentServerEventRtcCallSdpCreated(eventId, rtcCallId, sdpAnswer); + deserializedVoiceAgentServerEventRtcCallSdpCreated.type = type; + return deserializedVoiceAgentServerEventRtcCallSdpCreated; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java new file mode 100644 index 0000000000000..2fbde7e87cfa0 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.avatar.connecting` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionAvatarConnecting extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_CONNECTING; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The server's SDP answer for avatar media negotiation. + */ + @Generated + private final String serverSdp; + + /** + * Creates an instance of VoiceAgentServerEventSessionAvatarConnecting class. + * + * @param eventId the eventId value to set. + * @param serverSdp the serverSdp value to set. + */ + @Generated + private VoiceAgentServerEventSessionAvatarConnecting(String eventId, String serverSdp) { + this.eventId = eventId; + this.serverSdp = serverSdp; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the serverSdp property: The server's SDP answer for avatar media negotiation. + * + * @return the serverSdp value. + */ + @Generated + public String getServerSdp() { + return this.serverSdp; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("server_sdp", this.serverSdp); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionAvatarConnecting from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionAvatarConnecting 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 VoiceAgentServerEventSessionAvatarConnecting. + */ + @Generated + public static VoiceAgentServerEventSessionAvatarConnecting fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String serverSdp = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_CONNECTING; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("server_sdp".equals(fieldName)) { + serverSdp = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionAvatarConnecting deserializedVoiceAgentServerEventSessionAvatarConnecting + = new VoiceAgentServerEventSessionAvatarConnecting(eventId, serverSdp); + deserializedVoiceAgentServerEventSessionAvatarConnecting.type = type; + return deserializedVoiceAgentServerEventSessionAvatarConnecting; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java new file mode 100644 index 0000000000000..0a99650c7590e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java @@ -0,0 +1,128 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.avatar.switch_to_idle` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionAvatarSwitchToIdle extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_SWITCH_TO_IDLE; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The turn_id property. + */ + @Generated + private String turnId; + + /** + * Creates an instance of VoiceAgentServerEventSessionAvatarSwitchToIdle class. + * + * @param eventId the eventId value to set. + */ + @Generated + private VoiceAgentServerEventSessionAvatarSwitchToIdle(String eventId) { + this.eventId = eventId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the turnId property: The turn_id property. + * + * @return the turnId value. + */ + @Generated + public String getTurnId() { + return this.turnId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("turn_id", this.turnId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionAvatarSwitchToIdle from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionAvatarSwitchToIdle 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 VoiceAgentServerEventSessionAvatarSwitchToIdle. + */ + @Generated + public static VoiceAgentServerEventSessionAvatarSwitchToIdle fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_SWITCH_TO_IDLE; + String turnId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("turn_id".equals(fieldName)) { + turnId = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionAvatarSwitchToIdle deserializedVoiceAgentServerEventSessionAvatarSwitchToIdle + = new VoiceAgentServerEventSessionAvatarSwitchToIdle(eventId); + deserializedVoiceAgentServerEventSessionAvatarSwitchToIdle.type = type; + deserializedVoiceAgentServerEventSessionAvatarSwitchToIdle.turnId = turnId; + return deserializedVoiceAgentServerEventSessionAvatarSwitchToIdle; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java new file mode 100644 index 0000000000000..73a591954545f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.avatar.switch_to_speaking` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionAvatarSwitchToSpeaking extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_SWITCH_TO_SPEAKING; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The turn_id property. + */ + @Generated + private String turnId; + + /** + * Creates an instance of VoiceAgentServerEventSessionAvatarSwitchToSpeaking class. + * + * @param eventId the eventId value to set. + */ + @Generated + private VoiceAgentServerEventSessionAvatarSwitchToSpeaking(String eventId) { + this.eventId = eventId; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the turnId property: The turn_id property. + * + * @return the turnId value. + */ + @Generated + public String getTurnId() { + return this.turnId; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("turn_id", this.turnId); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionAvatarSwitchToSpeaking from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionAvatarSwitchToSpeaking 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 VoiceAgentServerEventSessionAvatarSwitchToSpeaking. + */ + @Generated + public static VoiceAgentServerEventSessionAvatarSwitchToSpeaking fromJson(JsonReader jsonReader) + throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_AVATAR_SWITCH_TO_SPEAKING; + String turnId = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else if ("turn_id".equals(fieldName)) { + turnId = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionAvatarSwitchToSpeaking deserializedVoiceAgentServerEventSessionAvatarSwitchToSpeaking + = new VoiceAgentServerEventSessionAvatarSwitchToSpeaking(eventId); + deserializedVoiceAgentServerEventSessionAvatarSwitchToSpeaking.type = type; + deserializedVoiceAgentServerEventSessionAvatarSwitchToSpeaking.turnId = turnId; + return deserializedVoiceAgentServerEventSessionAvatarSwitchToSpeaking; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java new file mode 100644 index 0000000000000..268de0345c112 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java @@ -0,0 +1,197 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.subagent.aborted` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionSubagentAborted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_ABORTED; + + /* + * The server-generated event identifier. + */ + @Generated + private final String eventId; + + /* + * The identifier of the subagent consultation. + */ + @Generated + private final String consultationId; + + /* + * The identifier of the function call that initiated the consultation. + */ + @Generated + private final String callId; + + /* + * The name of the consulted subagent. + */ + @Generated + private final String subagentName; + + /* + * The reason the consultation was aborted. + */ + @Generated + private final VoiceAgentSubagentAbortReason reason; + + /** + * Creates an instance of VoiceAgentServerEventSessionSubagentAborted class. + * + * @param eventId the eventId value to set. + * @param consultationId the consultationId value to set. + * @param callId the callId value to set. + * @param subagentName the subagentName value to set. + * @param reason the reason value to set. + */ + @Generated + private VoiceAgentServerEventSessionSubagentAborted(String eventId, String consultationId, String callId, + String subagentName, VoiceAgentSubagentAbortReason reason) { + this.eventId = eventId; + this.consultationId = consultationId; + this.callId = callId; + this.subagentName = subagentName; + this.reason = reason; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The server-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the consultationId property: The identifier of the subagent consultation. + * + * @return the consultationId value. + */ + @Generated + public String getConsultationId() { + return this.consultationId; + } + + /** + * Get the callId property: The identifier of the function call that initiated the consultation. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the subagentName property: The name of the consulted subagent. + * + * @return the subagentName value. + */ + @Generated + public String getSubagentName() { + return this.subagentName; + } + + /** + * Get the reason property: The reason the consultation was aborted. + * + * @return the reason value. + */ + @Generated + public VoiceAgentSubagentAbortReason getReason() { + return this.reason; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("consultation_id", this.consultationId); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("subagent_name", this.subagentName); + jsonWriter.writeStringField("reason", this.reason == null ? null : this.reason.toString()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionSubagentAborted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionSubagentAborted 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 VoiceAgentServerEventSessionSubagentAborted. + */ + @Generated + public static VoiceAgentServerEventSessionSubagentAborted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String consultationId = null; + String callId = null; + String subagentName = null; + VoiceAgentSubagentAbortReason reason = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_ABORTED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("consultation_id".equals(fieldName)) { + consultationId = reader.getString(); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("subagent_name".equals(fieldName)) { + subagentName = reader.getString(); + } else if ("reason".equals(fieldName)) { + reason = VoiceAgentSubagentAbortReason.fromString(reader.getString()); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionSubagentAborted deserializedVoiceAgentServerEventSessionSubagentAborted + = new VoiceAgentServerEventSessionSubagentAborted(eventId, consultationId, callId, subagentName, + reason); + deserializedVoiceAgentServerEventSessionSubagentAborted.type = type; + return deserializedVoiceAgentServerEventSessionSubagentAborted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java new file mode 100644 index 0000000000000..2985bce9a632a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java @@ -0,0 +1,174 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.subagent.completed` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionSubagentCompleted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_COMPLETED; + + /* + * The server-generated event identifier. + */ + @Generated + private final String eventId; + + /* + * The identifier of the subagent consultation. + */ + @Generated + private final String consultationId; + + /* + * The identifier of the function call that initiated the consultation. + */ + @Generated + private final String callId; + + /* + * The name of the consulted subagent. + */ + @Generated + private final String subagentName; + + /** + * Creates an instance of VoiceAgentServerEventSessionSubagentCompleted class. + * + * @param eventId the eventId value to set. + * @param consultationId the consultationId value to set. + * @param callId the callId value to set. + * @param subagentName the subagentName value to set. + */ + @Generated + private VoiceAgentServerEventSessionSubagentCompleted(String eventId, String consultationId, String callId, + String subagentName) { + this.eventId = eventId; + this.consultationId = consultationId; + this.callId = callId; + this.subagentName = subagentName; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The server-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the consultationId property: The identifier of the subagent consultation. + * + * @return the consultationId value. + */ + @Generated + public String getConsultationId() { + return this.consultationId; + } + + /** + * Get the callId property: The identifier of the function call that initiated the consultation. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the subagentName property: The name of the consulted subagent. + * + * @return the subagentName value. + */ + @Generated + public String getSubagentName() { + return this.subagentName; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("consultation_id", this.consultationId); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("subagent_name", this.subagentName); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionSubagentCompleted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionSubagentCompleted 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 VoiceAgentServerEventSessionSubagentCompleted. + */ + @Generated + public static VoiceAgentServerEventSessionSubagentCompleted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String consultationId = null; + String callId = null; + String subagentName = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_COMPLETED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("consultation_id".equals(fieldName)) { + consultationId = reader.getString(); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("subagent_name".equals(fieldName)) { + subagentName = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionSubagentCompleted deserializedVoiceAgentServerEventSessionSubagentCompleted + = new VoiceAgentServerEventSessionSubagentCompleted(eventId, consultationId, callId, subagentName); + deserializedVoiceAgentServerEventSessionSubagentCompleted.type = type; + return deserializedVoiceAgentServerEventSessionSubagentCompleted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java new file mode 100644 index 0000000000000..4a7efdbde3ea9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java @@ -0,0 +1,174 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `session.subagent.started` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventSessionSubagentStarted extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_STARTED; + + /* + * The server-generated event identifier. + */ + @Generated + private final String eventId; + + /* + * The identifier of the subagent consultation. + */ + @Generated + private final String consultationId; + + /* + * The identifier of the function call that initiated the consultation. + */ + @Generated + private final String callId; + + /* + * The name of the consulted subagent. + */ + @Generated + private final String subagentName; + + /** + * Creates an instance of VoiceAgentServerEventSessionSubagentStarted class. + * + * @param eventId the eventId value to set. + * @param consultationId the consultationId value to set. + * @param callId the callId value to set. + * @param subagentName the subagentName value to set. + */ + @Generated + private VoiceAgentServerEventSessionSubagentStarted(String eventId, String consultationId, String callId, + String subagentName) { + this.eventId = eventId; + this.consultationId = consultationId; + this.callId = callId; + this.subagentName = subagentName; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The server-generated event identifier. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the consultationId property: The identifier of the subagent consultation. + * + * @return the consultationId value. + */ + @Generated + public String getConsultationId() { + return this.consultationId; + } + + /** + * Get the callId property: The identifier of the function call that initiated the consultation. + * + * @return the callId value. + */ + @Generated + public String getCallId() { + return this.callId; + } + + /** + * Get the subagentName property: The name of the consulted subagent. + * + * @return the subagentName value. + */ + @Generated + public String getSubagentName() { + return this.subagentName; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeStringField("consultation_id", this.consultationId); + jsonWriter.writeStringField("call_id", this.callId); + jsonWriter.writeStringField("subagent_name", this.subagentName); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventSessionSubagentStarted from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventSessionSubagentStarted 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 VoiceAgentServerEventSessionSubagentStarted. + */ + @Generated + public static VoiceAgentServerEventSessionSubagentStarted fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + String consultationId = null; + String callId = null; + String subagentName = null; + RealtimeServerEventType type = RealtimeServerEventType.SESSION_SUBAGENT_STARTED; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("consultation_id".equals(fieldName)) { + consultationId = reader.getString(); + } else if ("call_id".equals(fieldName)) { + callId = reader.getString(); + } else if ("subagent_name".equals(fieldName)) { + subagentName = reader.getString(); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventSessionSubagentStarted deserializedVoiceAgentServerEventSessionSubagentStarted + = new VoiceAgentServerEventSessionSubagentStarted(eventId, consultationId, callId, subagentName); + deserializedVoiceAgentServerEventSessionSubagentStarted.type = type; + return deserializedVoiceAgentServerEventSessionSubagentStarted; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java new file mode 100644 index 0000000000000..b59b19e750c85 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The `warning` server event. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventWarning extends RealtimeServerEvent { + + /* + * The type property. + */ + @Generated + private RealtimeServerEventType type = RealtimeServerEventType.WARNING; + + /* + * The event_id property. + */ + @Generated + private final String eventId; + + /* + * The warning property. + */ + @Generated + private final VoiceAgentServerEventWarningDetails warning; + + /** + * Creates an instance of VoiceAgentServerEventWarning class. + * + * @param eventId the eventId value to set. + * @param warning the warning value to set. + */ + @Generated + private VoiceAgentServerEventWarning(String eventId, VoiceAgentServerEventWarningDetails warning) { + this.eventId = eventId; + this.warning = warning; + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public RealtimeServerEventType getType() { + return this.type; + } + + /** + * Get the eventId property: The event_id property. + * + * @return the eventId value. + */ + @Generated + public String getEventId() { + return this.eventId; + } + + /** + * Get the warning property: The warning property. + * + * @return the warning value. + */ + @Generated + public VoiceAgentServerEventWarningDetails getWarning() { + return this.warning; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("event_id", this.eventId); + jsonWriter.writeJsonField("warning", this.warning); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventWarning from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventWarning 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 VoiceAgentServerEventWarning. + */ + @Generated + public static VoiceAgentServerEventWarning fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String eventId = null; + VoiceAgentServerEventWarningDetails warning = null; + RealtimeServerEventType type = RealtimeServerEventType.WARNING; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("event_id".equals(fieldName)) { + eventId = reader.getString(); + } else if ("warning".equals(fieldName)) { + warning = VoiceAgentServerEventWarningDetails.fromJson(reader); + } else if ("type".equals(fieldName)) { + type = RealtimeServerEventType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventWarning deserializedVoiceAgentServerEventWarning + = new VoiceAgentServerEventWarning(eventId, warning); + deserializedVoiceAgentServerEventWarning.type = type; + return deserializedVoiceAgentServerEventWarning; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java new file mode 100644 index 0000000000000..2e076dc1085b8 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java @@ -0,0 +1,129 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Details of a non-fatal warning. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerEventWarningDetails + implements JsonSerializable { + + /* + * The message property. + */ + @Generated + private final String message; + + /* + * The code property. + */ + @Generated + private String code; + + /* + * The param property. + */ + @Generated + private String param; + + /** + * Creates an instance of VoiceAgentServerEventWarningDetails class. + * + * @param message the message value to set. + */ + @Generated + private VoiceAgentServerEventWarningDetails(String message) { + this.message = message; + } + + /** + * Get the message property: The message property. + * + * @return the message value. + */ + @Generated + public String getMessage() { + return this.message; + } + + /** + * Get the code property: The code property. + * + * @return the code value. + */ + @Generated + public String getCode() { + return this.code; + } + + /** + * Get the param property: The param property. + * + * @return the param value. + */ + @Generated + public String getParam() { + return this.param; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("message", this.message); + jsonWriter.writeStringField("code", this.code); + jsonWriter.writeStringField("param", this.param); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerEventWarningDetails from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerEventWarningDetails 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 VoiceAgentServerEventWarningDetails. + */ + @Generated + public static VoiceAgentServerEventWarningDetails fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String message = null; + String code = null; + String param = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("message".equals(fieldName)) { + message = reader.getString(); + } else if ("code".equals(fieldName)) { + code = reader.getString(); + } else if ("param".equals(fieldName)) { + param = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentServerEventWarningDetails deserializedVoiceAgentServerEventWarningDetails + = new VoiceAgentServerEventWarningDetails(message); + deserializedVoiceAgentServerEventWarningDetails.code = code; + deserializedVoiceAgentServerEventWarningDetails.param = param; + return deserializedVoiceAgentServerEventWarningDetails; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java new file mode 100644 index 0000000000000..2cffc2707c230 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java @@ -0,0 +1,362 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * Server-side voice activity detection. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentServerVadTurnDetection extends VoiceAgentTurnDetectionConfig { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.SERVER_VAD; + + /* + * The threshold property. + */ + @Generated + private Double threshold; + + /* + * The prefix_padding_ms property. + */ + @Generated + private Long prefixPaddingMs; + + /* + * The silence_duration_ms property. + */ + @Generated + private Long silenceDurationMs; + + /* + * The create_response property. + */ + @Generated + private Boolean createResponse; + + /* + * The interrupt_response property. + */ + @Generated + private Boolean interruptResponse; + + /* + * The idle_timeout_ms property. + */ + @Generated + private Long idleTimeoutMs; + + /* + * Minimum speech duration required to trigger detection, in milliseconds. + */ + @Generated + private Long speechDurationMs; + + /* + * Semantic end-of-utterance detection configuration. Set to null to disable it. + */ + @Generated + private VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection; + + /** + * Creates an instance of VoiceAgentServerVadTurnDetection class. + */ + @Generated + public VoiceAgentServerVadTurnDetection() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + @Override + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the threshold property: The threshold property. + * + * @return the threshold value. + */ + @Generated + public Double getThreshold() { + return this.threshold; + } + + /** + * Set the threshold property: The threshold property. + * + * @param threshold the threshold value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setThreshold(Double threshold) { + this.threshold = threshold; + return this; + } + + /** + * Get the prefixPaddingMs property: The prefix_padding_ms property. + * + * @return the prefixPaddingMs value. + */ + @Generated + public Long getPrefixPaddingMs() { + return this.prefixPaddingMs; + } + + /** + * Set the prefixPaddingMs property: The prefix_padding_ms property. + * + * @param prefixPaddingMs the prefixPaddingMs value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setPrefixPaddingMs(Long prefixPaddingMs) { + this.prefixPaddingMs = prefixPaddingMs; + return this; + } + + /** + * Get the silenceDurationMs property: The silence_duration_ms property. + * + * @return the silenceDurationMs value. + */ + @Generated + public Long getSilenceDurationMs() { + return this.silenceDurationMs; + } + + /** + * Set the silenceDurationMs property: The silence_duration_ms property. + * + * @param silenceDurationMs the silenceDurationMs value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setSilenceDurationMs(Long silenceDurationMs) { + this.silenceDurationMs = silenceDurationMs; + return this; + } + + /** + * Get the createResponse property: The create_response property. + * + * @return the createResponse value. + */ + @Generated + public Boolean isCreateResponse() { + return this.createResponse; + } + + /** + * Set the createResponse property: The create_response property. + * + * @param createResponse the createResponse value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setCreateResponse(Boolean createResponse) { + this.createResponse = createResponse; + return this; + } + + /** + * Get the interruptResponse property: The interrupt_response property. + * + * @return the interruptResponse value. + */ + @Generated + public Boolean isInterruptResponse() { + return this.interruptResponse; + } + + /** + * Set the interruptResponse property: The interrupt_response property. + * + * @param interruptResponse the interruptResponse value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setInterruptResponse(Boolean interruptResponse) { + this.interruptResponse = interruptResponse; + return this; + } + + /** + * Get the idleTimeoutMs property: The idle_timeout_ms property. + * + * @return the idleTimeoutMs value. + */ + @Generated + public Long getIdleTimeoutMs() { + return this.idleTimeoutMs; + } + + /** + * Set the idleTimeoutMs property: The idle_timeout_ms property. + * + * @param idleTimeoutMs the idleTimeoutMs value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setIdleTimeoutMs(Long idleTimeoutMs) { + this.idleTimeoutMs = idleTimeoutMs; + return this; + } + + /** + * Get the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @return the speechDurationMs value. + */ + @Generated + public Duration getSpeechDurationMs() { + if (this.speechDurationMs == null) { + return null; + } + return Duration.ofMillis(this.speechDurationMs); + } + + /** + * Set the speechDurationMs property: Minimum speech duration required to trigger detection, in milliseconds. + * + * @param speechDurationMs the speechDurationMs value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection setSpeechDurationMs(Duration speechDurationMs) { + if (speechDurationMs == null) { + this.speechDurationMs = null; + } else { + this.speechDurationMs = speechDurationMs.toMillis(); + } + return this; + } + + /** + * Get the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @return the endOfUtteranceDetection value. + */ + @Generated + public VoiceAgentEndOfUtteranceDetection getEndOfUtteranceDetection() { + return this.endOfUtteranceDetection; + } + + /** + * Set the endOfUtteranceDetection property: Semantic end-of-utterance detection configuration. Set to null to + * disable it. + * + * @param endOfUtteranceDetection the endOfUtteranceDetection value to set. + * @return the VoiceAgentServerVadTurnDetection object itself. + */ + @Generated + public VoiceAgentServerVadTurnDetection + setEndOfUtteranceDetection(VoiceAgentEndOfUtteranceDetection endOfUtteranceDetection) { + this.endOfUtteranceDetection = endOfUtteranceDetection; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentServerVadTurnDetection setAutoTruncate(Boolean autoTruncate) { + super.setAutoTruncate(autoTruncate); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeBooleanField("auto_truncate", isAutoTruncate()); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeNumberField("threshold", this.threshold); + jsonWriter.writeNumberField("prefix_padding_ms", this.prefixPaddingMs); + jsonWriter.writeNumberField("silence_duration_ms", this.silenceDurationMs); + jsonWriter.writeBooleanField("create_response", this.createResponse); + jsonWriter.writeBooleanField("interrupt_response", this.interruptResponse); + jsonWriter.writeNumberField("idle_timeout_ms", this.idleTimeoutMs); + jsonWriter.writeNumberField("speech_duration_ms", this.speechDurationMs); + jsonWriter.writeJsonField("end_of_utterance_detection", this.endOfUtteranceDetection); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentServerVadTurnDetection from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentServerVadTurnDetection 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 VoiceAgentServerVadTurnDetection. + */ + @Generated + public static VoiceAgentServerVadTurnDetection fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentServerVadTurnDetection deserializedVoiceAgentServerVadTurnDetection + = new VoiceAgentServerVadTurnDetection(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection + .setAutoTruncate(reader.getNullable(JsonReader::getBoolean)); + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("threshold".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.threshold = reader.getNullable(JsonReader::getDouble); + } else if ("prefix_padding_ms".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.prefixPaddingMs + = reader.getNullable(JsonReader::getLong); + } else if ("silence_duration_ms".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.silenceDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("create_response".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.createResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("interrupt_response".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.interruptResponse + = reader.getNullable(JsonReader::getBoolean); + } else if ("idle_timeout_ms".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.idleTimeoutMs + = reader.getNullable(JsonReader::getLong); + } else if ("speech_duration_ms".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.speechDurationMs + = reader.getNullable(JsonReader::getLong); + } else if ("end_of_utterance_detection".equals(fieldName)) { + deserializedVoiceAgentServerVadTurnDetection.endOfUtteranceDetection + = VoiceAgentEndOfUtteranceDetection.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentServerVadTurnDetection; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java new file mode 100644 index 0000000000000..f8ef7319e54c2 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java @@ -0,0 +1,214 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Avatar settings accepted by the stable voice-agent WebSocket contract. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSessionAvatarConfig extends VoiceAgentAvatarConfig { + + /* + * The ice_servers property. + */ + @Generated + private List iceServers; + + /** + * Creates an instance of VoiceAgentSessionAvatarConfig class. + * + * @param type the type value to set. + * @param character the character value to set. + */ + @Generated + public VoiceAgentSessionAvatarConfig(VoiceAgentAvatarType type, String character) { + super(type, character); + } + + /** + * Get the iceServers property: The ice_servers property. + * + * @return the iceServers value. + */ + @Generated + public List getIceServers() { + return this.iceServers; + } + + /** + * Set the iceServers property: The ice_servers property. + * + * @param iceServers the iceServers value to set. + * @return the VoiceAgentSessionAvatarConfig object itself. + */ + @Generated + public VoiceAgentSessionAvatarConfig setIceServers(List iceServers) { + this.iceServers = iceServers; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setStyle(String style) { + super.setStyle(style); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setCustomized(Boolean customized) { + super.setCustomized(customized); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setOutputProtocol(VoiceAgentAvatarOutputProtocol outputProtocol) { + super.setOutputProtocol(outputProtocol); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setModel(String model) { + super.setModel(model); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setVideo(VoiceAgentAvatarVideoParams video) { + super.setVideo(video); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setScene(VoiceAgentAvatarScene scene) { + super.setScene(scene); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentSessionAvatarConfig setOutputAuditAudio(Boolean outputAuditAudio) { + super.setOutputAuditAudio(outputAuditAudio); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", getType() == null ? null : getType().toString()); + jsonWriter.writeStringField("character", getCharacter()); + jsonWriter.writeStringField("style", getStyle()); + jsonWriter.writeBooleanField("customized", isCustomized()); + jsonWriter.writeStringField("output_protocol", + getOutputProtocol() == null ? null : getOutputProtocol().toString()); + jsonWriter.writeStringField("model", getModel()); + jsonWriter.writeJsonField("video", getVideo()); + jsonWriter.writeJsonField("scene", getScene()); + jsonWriter.writeBooleanField("output_audit_audio", isOutputAuditAudio()); + jsonWriter.writeArrayField("ice_servers", this.iceServers, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentSessionAvatarConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentSessionAvatarConfig 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 VoiceAgentSessionAvatarConfig. + */ + @Generated + public static VoiceAgentSessionAvatarConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentAvatarType type = null; + String character = null; + String style = null; + Boolean customized = null; + VoiceAgentAvatarOutputProtocol outputProtocol = null; + String model = null; + VoiceAgentAvatarVideoParams video = null; + VoiceAgentAvatarScene scene = null; + Boolean outputAuditAudio = null; + List iceServers = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + type = VoiceAgentAvatarType.fromString(reader.getString()); + } else if ("character".equals(fieldName)) { + character = reader.getString(); + } else if ("style".equals(fieldName)) { + style = reader.getString(); + } else if ("customized".equals(fieldName)) { + customized = reader.getNullable(JsonReader::getBoolean); + } else if ("output_protocol".equals(fieldName)) { + outputProtocol = VoiceAgentAvatarOutputProtocol.fromString(reader.getString()); + } else if ("model".equals(fieldName)) { + model = reader.getString(); + } else if ("video".equals(fieldName)) { + video = VoiceAgentAvatarVideoParams.fromJson(reader); + } else if ("scene".equals(fieldName)) { + scene = VoiceAgentAvatarScene.fromJson(reader); + } else if ("output_audit_audio".equals(fieldName)) { + outputAuditAudio = reader.getNullable(JsonReader::getBoolean); + } else if ("ice_servers".equals(fieldName)) { + iceServers = reader.readArray(reader1 -> VoiceAgentAvatarIceServer.fromJson(reader1)); + } else { + reader.skipChildren(); + } + } + VoiceAgentSessionAvatarConfig deserializedVoiceAgentSessionAvatarConfig + = new VoiceAgentSessionAvatarConfig(type, character); + deserializedVoiceAgentSessionAvatarConfig.setStyle(style); + deserializedVoiceAgentSessionAvatarConfig.setCustomized(customized); + deserializedVoiceAgentSessionAvatarConfig.setOutputProtocol(outputProtocol); + deserializedVoiceAgentSessionAvatarConfig.setModel(model); + deserializedVoiceAgentSessionAvatarConfig.setVideo(video); + deserializedVoiceAgentSessionAvatarConfig.setScene(scene); + deserializedVoiceAgentSessionAvatarConfig.setOutputAuditAudio(outputAuditAudio); + deserializedVoiceAgentSessionAvatarConfig.iceServers = iceServers; + return deserializedVoiceAgentSessionAvatarConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java new file mode 100644 index 0000000000000..23ad46e948567 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java @@ -0,0 +1,62 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; + +/** + * Additional fields that a voice-agent session may include in service outputs. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public enum VoiceAgentSessionIncludeOption { + + /** + * Enum value item.input_audio_transcription.logprobs. + */ + INPUT_AUDIO_TRANSCRIPTION_LOGPROBS("item.input_audio_transcription.logprobs"), + /** + * Enum value item.input_audio_transcription.phrases. + */ + INPUT_AUDIO_TRANSCRIPTION_PHRASES("item.input_audio_transcription.phrases"), + /** + * Enum value file_search_call.results. + */ + FILE_SEARCH_CALL_RESULTS("file_search_call.results"); + + /** + * The actual serialized value for a VoiceAgentSessionIncludeOption instance. + */ + private final String value; + + VoiceAgentSessionIncludeOption(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceAgentSessionIncludeOption instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceAgentSessionIncludeOption object, or null if unable to parse. + */ + public static VoiceAgentSessionIncludeOption fromString(String value) { + if (value == null) { + return null; + } + VoiceAgentSessionIncludeOption[] items = VoiceAgentSessionIncludeOption.values(); + for (VoiceAgentSessionIncludeOption item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java new file mode 100644 index 0000000000000..5bee915f58288 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java @@ -0,0 +1,505 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeReasoning; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.List; +import java.util.Map; + +/** + * The effective stable realtime session settings returned by the voice-agent service. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSessionResponseConfig implements JsonSerializable { + + /* + * The session type. Always `realtime`. + */ + @Generated + private final String type = "realtime"; + + /* + * Instructions applied throughout the session. + */ + @Generated + private String instructions; + + /* + * The sampling temperature for compatible cascaded pipelines. + */ + @Generated + private Double temperature; + + /* + * The maximum output-token count for one response. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * The output modalities enabled for the session. + */ + @Generated + private List outputModalities; + + /* + * The input- and output-audio settings for the session. + */ + @Generated + private VoiceAgentAudioConfig audio; + + /* + * The avatar settings for the session. + */ + @Generated + private VoiceAgentSessionAvatarConfig avatar; + + /* + * Animation settings for the session. + */ + @Generated + private VoiceAgentAnimationConfig animation; + + /* + * Tools available to the session. + */ + @Generated + private List tools; + + /* + * Tool-selection behavior for the session. + */ + @Generated + private BinaryData toolChoice; + + /* + * Reasoning settings for compatible realtime models. + */ + @Generated + private RealtimeReasoning reasoning; + + /* + * Whether the model may call multiple tools in parallel. + */ + @Generated + private Boolean parallelToolCalls; + + /* + * Additional fields to include in service outputs. + */ + @Generated + private List include; + + /* + * Up to 16 string key-value pairs attached to the session. + */ + @Generated + private Map metadata; + + /* + * Interim-response settings for latency and tool execution. + */ + @Generated + private VoiceAgentInterimResponseConfig interimResponse; + + /* + * A proactive assistant greeting started after session configuration. + */ + @Generated + private VoiceAgentGreetingConfig greeting; + + /* + * The object type. Always `realtime.session`. + */ + @Generated + private final String object = "realtime.session"; + + /* + * The session identifier. + */ + @Generated + private final String id; + + /* + * The selected model. + */ + @Generated + private final String model; + + /* + * The session expiration time as a Unix timestamp in seconds. + */ + @Generated + private Long expiresAt; + + /** + * Creates an instance of VoiceAgentSessionResponseConfig class. + * + * @param id the id value to set. + * @param model the model value to set. + */ + @Generated + private VoiceAgentSessionResponseConfig(String id, String model) { + this.id = id; + this.model = model; + } + + /** + * Get the type property: The session type. Always `realtime`. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the instructions property: Instructions applied throughout the session. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Get the temperature property: The sampling temperature for compatible cascaded pipelines. + * + * @return the temperature value. + */ + @Generated + public Double getTemperature() { + return this.temperature; + } + + /** + * Get the maxOutputTokens property: The maximum output-token count for one response. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Get the outputModalities property: The output modalities enabled for the session. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Get the audio property: The input- and output-audio settings for the session. + * + * @return the audio value. + */ + @Generated + public VoiceAgentAudioConfig getAudio() { + return this.audio; + } + + /** + * Get the avatar property: The avatar settings for the session. + * + * @return the avatar value. + */ + @Generated + public VoiceAgentSessionAvatarConfig getAvatar() { + return this.avatar; + } + + /** + * Get the animation property: Animation settings for the session. + * + * @return the animation value. + */ + @Generated + public VoiceAgentAnimationConfig getAnimation() { + return this.animation; + } + + /** + * Get the tools property: Tools available to the session. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Get the toolChoice property: Tool-selection behavior for the session. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Get the reasoning property: Reasoning settings for compatible realtime models. + * + * @return the reasoning value. + */ + @Generated + public RealtimeReasoning getReasoning() { + return this.reasoning; + } + + /** + * Get the parallelToolCalls property: Whether the model may call multiple tools in parallel. + * + * @return the parallelToolCalls value. + */ + @Generated + public Boolean isParallelToolCalls() { + return this.parallelToolCalls; + } + + /** + * Get the include property: Additional fields to include in service outputs. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Get the metadata property: Up to 16 string key-value pairs attached to the session. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Get the interimResponse property: Interim-response settings for latency and tool execution. + * + * @return the interimResponse value. + */ + @Generated + public VoiceAgentInterimResponseConfig getInterimResponse() { + return this.interimResponse; + } + + /** + * Get the greeting property: A proactive assistant greeting started after session configuration. + * + * @return the greeting value. + */ + @Generated + public VoiceAgentGreetingConfig getGreeting() { + return this.greeting; + } + + /** + * Get the object property: The object type. Always `realtime.session`. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the id property: The session identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the model property: The selected model. + * + * @return the model value. + */ + @Generated + public String getModel() { + return this.model; + } + + /** + * Get the expiresAt property: The session expiration time as a Unix timestamp in seconds. + * + * @return the expiresAt value. + */ + @Generated + public OffsetDateTime getExpiresAt() { + if (this.expiresAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.expiresAt), ZoneOffset.UTC); + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("model", this.model); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeNumberField("temperature", this.temperature); + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeJsonField("avatar", this.avatar); + jsonWriter.writeJsonField("animation", this.animation); + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + // AI Tooling: openai-java de-dup + if (this.reasoning != null) { + jsonWriter.writeFieldName("reasoning"); + OpenAIJsonHelper.toBinaryData(this.reasoning).writeTo(jsonWriter); + } + jsonWriter.writeBooleanField("parallel_tool_calls", this.parallelToolCalls); + jsonWriter.writeArrayField("include", this.include, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("interim_response", this.interimResponse); + jsonWriter.writeJsonField("greeting", this.greeting); + jsonWriter.writeNumberField("expires_at", this.expiresAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentSessionResponseConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentSessionResponseConfig 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 VoiceAgentSessionResponseConfig. + */ + public static VoiceAgentSessionResponseConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String model = null; + String instructions = null; + Double temperature = null; + BinaryData maxOutputTokens = null; + List outputModalities = null; + VoiceAgentAudioConfig audio = null; + VoiceAgentSessionAvatarConfig avatar = null; + VoiceAgentAnimationConfig animation = null; + List tools = null; + BinaryData toolChoice = null; + RealtimeReasoning reasoning = null; + Boolean parallelToolCalls = null; + List include = null; + Map metadata = null; + VoiceAgentInterimResponseConfig interimResponse = null; + VoiceAgentGreetingConfig greeting = null; + Long expiresAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("model".equals(fieldName)) { + model = reader.getString(); + } else if ("instructions".equals(fieldName)) { + instructions = reader.getString(); + } else if ("temperature".equals(fieldName)) { + temperature = reader.getNullable(JsonReader::getDouble); + } else if ("max_output_tokens".equals(fieldName)) { + maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("output_modalities".equals(fieldName)) { + outputModalities = reader.readArray(reader1 -> VoiceOutputModality.fromString(reader1.getString())); + } else if ("audio".equals(fieldName)) { + audio = VoiceAgentAudioConfig.fromJson(reader); + } else if ("avatar".equals(fieldName)) { + avatar = VoiceAgentSessionAvatarConfig.fromJson(reader); + } else if ("animation".equals(fieldName)) { + animation = VoiceAgentAnimationConfig.fromJson(reader); + } else if ("tools".equals(fieldName)) { + tools = reader.readArray(reader1 -> VoiceAgentTool.fromJson(reader1)); + } else if ("tool_choice".equals(fieldName)) { + toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("reasoning".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData reasoningData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + reasoning = OpenAIJsonHelper.fromBinaryData(reasoningData, RealtimeReasoning.class); + } else if ("parallel_tool_calls".equals(fieldName)) { + parallelToolCalls = reader.getNullable(JsonReader::getBoolean); + } else if ("include".equals(fieldName)) { + include + = reader.readArray(reader1 -> VoiceAgentSessionIncludeOption.fromString(reader1.getString())); + } else if ("metadata".equals(fieldName)) { + metadata = reader.readMap(reader1 -> reader1.getString()); + } else if ("interim_response".equals(fieldName)) { + interimResponse = VoiceAgentInterimResponseConfig.fromJson(reader); + } else if ("greeting".equals(fieldName)) { + greeting = VoiceAgentGreetingConfig.fromJson(reader); + } else if ("expires_at".equals(fieldName)) { + expiresAt = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + VoiceAgentSessionResponseConfig deserializedVoiceAgentSessionResponseConfig + = new VoiceAgentSessionResponseConfig(id, model); + deserializedVoiceAgentSessionResponseConfig.instructions = instructions; + deserializedVoiceAgentSessionResponseConfig.temperature = temperature; + deserializedVoiceAgentSessionResponseConfig.maxOutputTokens = maxOutputTokens; + deserializedVoiceAgentSessionResponseConfig.outputModalities = outputModalities; + deserializedVoiceAgentSessionResponseConfig.audio = audio; + deserializedVoiceAgentSessionResponseConfig.avatar = avatar; + deserializedVoiceAgentSessionResponseConfig.animation = animation; + deserializedVoiceAgentSessionResponseConfig.tools = tools; + deserializedVoiceAgentSessionResponseConfig.toolChoice = toolChoice; + deserializedVoiceAgentSessionResponseConfig.reasoning = reasoning; + deserializedVoiceAgentSessionResponseConfig.parallelToolCalls = parallelToolCalls; + deserializedVoiceAgentSessionResponseConfig.include = include; + deserializedVoiceAgentSessionResponseConfig.metadata = metadata; + deserializedVoiceAgentSessionResponseConfig.interimResponse = interimResponse; + deserializedVoiceAgentSessionResponseConfig.greeting = greeting; + deserializedVoiceAgentSessionResponseConfig.expiresAt = expiresAt; + return deserializedVoiceAgentSessionResponseConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.java new file mode 100644 index 0000000000000..cee83642457f4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.java @@ -0,0 +1,574 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeReasoning; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * The stable realtime session settings accepted in a `session.update` client event. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSessionUpdateConfig implements JsonSerializable { + + /* + * The session type. Always `realtime`. + */ + @Generated + private final String type = "realtime"; + + /* + * Instructions applied throughout the session. + */ + @Generated + private String instructions; + + /* + * The sampling temperature for compatible cascaded pipelines. + */ + @Generated + private Double temperature; + + /* + * The maximum output-token count for one response. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * The output modalities enabled for the session. + */ + @Generated + private List outputModalities; + + /* + * The input- and output-audio settings for the session. + */ + @Generated + private VoiceAgentAudioConfig audio; + + /* + * The avatar settings for the session. + */ + @Generated + private VoiceAgentSessionAvatarConfig avatar; + + /* + * Animation settings for the session. + */ + @Generated + private VoiceAgentAnimationConfig animation; + + /* + * Tools available to the session. + */ + @Generated + private List tools; + + /* + * Tool-selection behavior for the session. + */ + @Generated + private BinaryData toolChoice; + + /* + * Reasoning settings for compatible realtime models. + */ + @Generated + private RealtimeReasoning reasoning; + + /* + * Whether the model may call multiple tools in parallel. + */ + @Generated + private Boolean parallelToolCalls; + + /* + * Additional fields to include in service outputs. + */ + @Generated + private List include; + + /* + * Up to 16 string key-value pairs attached to the session. + */ + @Generated + private Map metadata; + + /* + * Interim-response settings for latency and tool execution. + */ + @Generated + private VoiceAgentInterimResponseConfig interimResponse; + + /* + * A proactive assistant greeting started after session configuration. + */ + @Generated + private VoiceAgentGreetingConfig greeting; + + /** + * Creates an instance of VoiceAgentSessionUpdateConfig class. + */ + @Generated + public VoiceAgentSessionUpdateConfig() { + } + + /** + * Get the type property: The session type. Always `realtime`. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * Get the instructions property: Instructions applied throughout the session. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Set the instructions property: Instructions applied throughout the session. + * + * @param instructions the instructions value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setInstructions(String instructions) { + this.instructions = instructions; + return this; + } + + /** + * Get the temperature property: The sampling temperature for compatible cascaded pipelines. + * + * @return the temperature value. + */ + @Generated + public Double getTemperature() { + return this.temperature; + } + + /** + * Set the temperature property: The sampling temperature for compatible cascaded pipelines. + * + * @param temperature the temperature value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setTemperature(Double temperature) { + this.temperature = temperature; + return this; + } + + /** + * Get the maxOutputTokens property: The maximum output-token count for one response. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: The maximum output-token count for one response. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * Get the outputModalities property: The output modalities enabled for the session. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: The output modalities enabled for the session. + * + * @param outputModalities the outputModalities value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the audio property: The input- and output-audio settings for the session. + * + * @return the audio value. + */ + @Generated + public VoiceAgentAudioConfig getAudio() { + return this.audio; + } + + /** + * Set the audio property: The input- and output-audio settings for the session. + * + * @param audio the audio value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setAudio(VoiceAgentAudioConfig audio) { + this.audio = audio; + return this; + } + + /** + * Get the avatar property: The avatar settings for the session. + * + * @return the avatar value. + */ + @Generated + public VoiceAgentSessionAvatarConfig getAvatar() { + return this.avatar; + } + + /** + * Set the avatar property: The avatar settings for the session. + * + * @param avatar the avatar value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setAvatar(VoiceAgentSessionAvatarConfig avatar) { + this.avatar = avatar; + return this; + } + + /** + * Get the animation property: Animation settings for the session. + * + * @return the animation value. + */ + @Generated + public VoiceAgentAnimationConfig getAnimation() { + return this.animation; + } + + /** + * Set the animation property: Animation settings for the session. + * + * @param animation the animation value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setAnimation(VoiceAgentAnimationConfig animation) { + this.animation = animation; + return this; + } + + /** + * Get the tools property: Tools available to the session. + * + * @return the tools value. + */ + @Generated + public List getTools() { + return this.tools; + } + + /** + * Set the tools property: Tools available to the session. + * + * @param tools the tools value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setTools(List tools) { + this.tools = tools; + return this; + } + + /** + * Get the toolChoice property: Tool-selection behavior for the session. + * + * @return the toolChoice value. + */ + @Generated + public BinaryData getToolChoice() { + return this.toolChoice; + } + + /** + * Set the toolChoice property: Tool-selection behavior for the session. + * + * @param toolChoice the toolChoice value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setToolChoice(BinaryData toolChoice) { + this.toolChoice = toolChoice; + return this; + } + + /** + * Get the reasoning property: Reasoning settings for compatible realtime models. + * + * @return the reasoning value. + */ + @Generated + public RealtimeReasoning getReasoning() { + return this.reasoning; + } + + /** + * Set the reasoning property: Reasoning settings for compatible realtime models. + * + * @param reasoning the reasoning value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setReasoning(RealtimeReasoning reasoning) { + this.reasoning = reasoning; + return this; + } + + /** + * Get the parallelToolCalls property: Whether the model may call multiple tools in parallel. + * + * @return the parallelToolCalls value. + */ + @Generated + public Boolean isParallelToolCalls() { + return this.parallelToolCalls; + } + + /** + * Set the parallelToolCalls property: Whether the model may call multiple tools in parallel. + * + * @param parallelToolCalls the parallelToolCalls value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setParallelToolCalls(Boolean parallelToolCalls) { + this.parallelToolCalls = parallelToolCalls; + return this; + } + + /** + * Get the include property: Additional fields to include in service outputs. + * + * @return the include value. + */ + @Generated + public List getInclude() { + return this.include; + } + + /** + * Set the include property: Additional fields to include in service outputs. + * + * @param include the include value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setInclude(List include) { + this.include = include; + return this; + } + + /** + * Get the metadata property: Up to 16 string key-value pairs attached to the session. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: Up to 16 string key-value pairs attached to the session. + * + * @param metadata the metadata value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get the interimResponse property: Interim-response settings for latency and tool execution. + * + * @return the interimResponse value. + */ + @Generated + public VoiceAgentInterimResponseConfig getInterimResponse() { + return this.interimResponse; + } + + /** + * Set the interimResponse property: Interim-response settings for latency and tool execution. + * + * @param interimResponse the interimResponse value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setInterimResponse(VoiceAgentInterimResponseConfig interimResponse) { + this.interimResponse = interimResponse; + return this; + } + + /** + * Get the greeting property: A proactive assistant greeting started after session configuration. + * + * @return the greeting value. + */ + @Generated + public VoiceAgentGreetingConfig getGreeting() { + return this.greeting; + } + + /** + * Set the greeting property: A proactive assistant greeting started after session configuration. + * + * @param greeting the greeting value to set. + * @return the VoiceAgentSessionUpdateConfig object itself. + */ + @Generated + public VoiceAgentSessionUpdateConfig setGreeting(VoiceAgentGreetingConfig greeting) { + this.greeting = greeting; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeNumberField("temperature", this.temperature); + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeJsonField("avatar", this.avatar); + jsonWriter.writeJsonField("animation", this.animation); + jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); + if (this.toolChoice != null) { + jsonWriter.writeFieldName("tool_choice"); + this.toolChoice.writeTo(jsonWriter); + } + // AI Tooling: openai-java de-dup + if (this.reasoning != null) { + jsonWriter.writeFieldName("reasoning"); + OpenAIJsonHelper.toBinaryData(this.reasoning).writeTo(jsonWriter); + } + jsonWriter.writeBooleanField("parallel_tool_calls", this.parallelToolCalls); + jsonWriter.writeArrayField("include", this.include, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("interim_response", this.interimResponse); + jsonWriter.writeJsonField("greeting", this.greeting); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentSessionUpdateConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentSessionUpdateConfig 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 VoiceAgentSessionUpdateConfig. + */ + public static VoiceAgentSessionUpdateConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentSessionUpdateConfig deserializedVoiceAgentSessionUpdateConfig + = new VoiceAgentSessionUpdateConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("instructions".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.instructions = reader.getString(); + } else if ("temperature".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.temperature = reader.getNullable(JsonReader::getDouble); + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceOutputModality.fromString(reader1.getString())); + deserializedVoiceAgentSessionUpdateConfig.outputModalities = outputModalities; + } else if ("audio".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.audio = VoiceAgentAudioConfig.fromJson(reader); + } else if ("avatar".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.avatar = VoiceAgentSessionAvatarConfig.fromJson(reader); + } else if ("animation".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.animation = VoiceAgentAnimationConfig.fromJson(reader); + } else if ("tools".equals(fieldName)) { + List tools = reader.readArray(reader1 -> VoiceAgentTool.fromJson(reader1)); + deserializedVoiceAgentSessionUpdateConfig.tools = tools; + } else if ("tool_choice".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.toolChoice + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("reasoning".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData reasoningData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceAgentSessionUpdateConfig.reasoning + = OpenAIJsonHelper.fromBinaryData(reasoningData, RealtimeReasoning.class); + } else if ("parallel_tool_calls".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.parallelToolCalls + = reader.getNullable(JsonReader::getBoolean); + } else if ("include".equals(fieldName)) { + List include + = reader.readArray(reader1 -> VoiceAgentSessionIncludeOption.fromString(reader1.getString())); + deserializedVoiceAgentSessionUpdateConfig.include = include; + } else if ("metadata".equals(fieldName)) { + Map metadata = reader.readMap(reader1 -> reader1.getString()); + deserializedVoiceAgentSessionUpdateConfig.metadata = metadata; + } else if ("interim_response".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.interimResponse + = VoiceAgentInterimResponseConfig.fromJson(reader); + } else if ("greeting".equals(fieldName)) { + deserializedVoiceAgentSessionUpdateConfig.greeting = VoiceAgentGreetingConfig.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentSessionUpdateConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java new file mode 100644 index 0000000000000..ff370da8e3f2c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentStaticInterimResponseConfig.java @@ -0,0 +1,150 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * A static interim response selected from configured text. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentStaticInterimResponseConfig extends VoiceAgentInterimResponseConfig { + + /* + * The interim-response implementation. + */ + @Generated + private String type = "static_interim_response"; + + /* + * Candidate text values for the interim response. + */ + @Generated + private List texts; + + /** + * Creates an instance of VoiceAgentStaticInterimResponseConfig class. + */ + @Generated + public VoiceAgentStaticInterimResponseConfig() { + } + + /** + * Get the type property: The interim-response implementation. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the texts property: Candidate text values for the interim response. + * + * @return the texts value. + */ + @Generated + public List getTexts() { + return this.texts; + } + + /** + * Set the texts property: Candidate text values for the interim response. + * + * @param texts the texts value to set. + * @return the VoiceAgentStaticInterimResponseConfig object itself. + */ + @Generated + public VoiceAgentStaticInterimResponseConfig setTexts(List texts) { + this.texts = texts; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentStaticInterimResponseConfig setTriggers(List triggers) { + super.setTriggers(triggers); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public VoiceAgentStaticInterimResponseConfig setLatencyThresholdMs(Duration latencyThresholdMs) { + super.setLatencyThresholdMs(latencyThresholdMs); + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("triggers", getTriggers(), + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (getLatencyThresholdMs() != null) { + jsonWriter.writeNumberField("latency_threshold_ms", getLatencyThresholdMs().toMillis()); + } + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeArrayField("texts", this.texts, (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentStaticInterimResponseConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentStaticInterimResponseConfig 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 VoiceAgentStaticInterimResponseConfig. + */ + @Generated + public static VoiceAgentStaticInterimResponseConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentStaticInterimResponseConfig deserializedVoiceAgentStaticInterimResponseConfig + = new VoiceAgentStaticInterimResponseConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("triggers".equals(fieldName)) { + List triggers + = reader.readArray(reader1 -> VoiceAgentInterimResponseTrigger.fromString(reader1.getString())); + deserializedVoiceAgentStaticInterimResponseConfig.setTriggers(triggers); + } else if ("latency_threshold_ms".equals(fieldName)) { + Long latencyThresholdMsHolder = reader.getNullable(JsonReader::getLong); + if (latencyThresholdMsHolder != null) { + deserializedVoiceAgentStaticInterimResponseConfig + .setLatencyThresholdMs(Duration.ofMillis(latencyThresholdMsHolder)); + } + } else if ("type".equals(fieldName)) { + deserializedVoiceAgentStaticInterimResponseConfig.type = reader.getString(); + } else if ("texts".equals(fieldName)) { + List texts = reader.readArray(reader1 -> reader1.getString()); + deserializedVoiceAgentStaticInterimResponseConfig.texts = texts; + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentStaticInterimResponseConfig; + }); + } +} 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 0000000000000..60a4cc734daa5 --- /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.ai.agents.implementation.utils.Beta; +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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/VoiceAgentSubagentAbortReason.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentAbortReason.java new file mode 100644 index 0000000000000..b4061d5738de9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentAbortReason.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The reason a subagent consultation was aborted. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSubagentAbortReason extends ExpandableStringEnum { + + /** + * The requested subagent was not configured for the voice agent. + */ + @Generated + public static final VoiceAgentSubagentAbortReason UNKNOWN_TARGET = fromString("unknown_target"); + + /** + * The subagent invocation exceeded its configured timeout. + */ + @Generated + public static final VoiceAgentSubagentAbortReason TIMEOUT = fromString("timeout"); + + /** + * The consultation was cancelled because the voice session ended. + */ + @Generated + public static final VoiceAgentSubagentAbortReason CANCELLED = fromString("cancelled"); + + /** + * The consultation was stopped at the user's request. + */ + @Generated + public static final VoiceAgentSubagentAbortReason STOPPED_BY_USER = fromString("stopped_by_user"); + + /** + * The consultation was replaced by a newer request. + */ + @Generated + public static final VoiceAgentSubagentAbortReason SUPERSEDED = fromString("superseded"); + + /** + * The consultation failed. + */ + @Generated + public static final VoiceAgentSubagentAbortReason FAILED = fromString("failed"); + + /** + * Creates a new instance of VoiceAgentSubagentAbortReason value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentSubagentAbortReason() { + } + + /** + * Creates or finds a VoiceAgentSubagentAbortReason from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentSubagentAbortReason. + */ + @Generated + public static VoiceAgentSubagentAbortReason fromString(String name) { + return fromString(name, VoiceAgentSubagentAbortReason.class); + } + + /** + * Gets known VoiceAgentSubagentAbortReason values. + * + * @return known VoiceAgentSubagentAbortReason values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentSubagentAbortReason.class); + } +} 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 0000000000000..a578d0c584e79 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSubagentConfig.java @@ -0,0 +1,86 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Configuration for sibling Foundry text agents that a voice agent may consult. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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 0000000000000..dfa5f6d62168a --- /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.ai.agents.implementation.utils.Beta; +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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/VoiceAgentSystemTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemTool.java new file mode 100644 index 0000000000000..602a95e106270 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemTool.java @@ -0,0 +1,156 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A service-managed control that acts on the active voice session without customer code or external authentication. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentSystemTool extends VoiceAgentTool { + + /* + * The tool kind. + */ + @Generated + private final String type = "system"; + + /* + * The service-managed control action. Known values are stable; additional values may be added over time. + */ + @Generated + private VoiceAgentSystemToolName name = VoiceAgentSystemToolName.fromString("system"); + + /* + * An optional description of the system tool. + */ + @Generated + private String description; + + /** + * Creates an instance of VoiceAgentSystemTool class. + */ + @Generated + public VoiceAgentSystemTool() { + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the name property: The service-managed control action. Known values are stable; additional values may be + * added over time. + * + * @return the name value. + */ + @Generated + public VoiceAgentSystemToolName getName() { + return this.name; + } + + /** + * Get the description property: An optional description of the system tool. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: An optional description of the system tool. + * + * @param description the description value to set. + * @return the VoiceAgentSystemTool object itself. + */ + @Generated + public VoiceAgentSystemTool setDescription(String description) { + this.description = description; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("name", this.name == null ? null : this.name.toString()); + jsonWriter.writeStringField("description", this.description); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentSystemTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentSystemTool 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 VoiceAgentSystemTool. + */ + @Generated + public static VoiceAgentSystemTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("name".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("end_conversation".equals(discriminatorValue)) { + return VoiceAgentEndConversationSystemTool.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceAgentSystemTool fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentSystemTool deserializedVoiceAgentSystemTool = new VoiceAgentSystemTool(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + deserializedVoiceAgentSystemTool.name = VoiceAgentSystemToolName.fromString(reader.getString()); + } else if ("description".equals(fieldName)) { + deserializedVoiceAgentSystemTool.description = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentSystemTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java new file mode 100644 index 0000000000000..d14ab7dfe49e5 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentSystemToolName.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A service-managed voice-session control action. Known values are stable; additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentSystemToolName extends ExpandableStringEnum { + + /** + * Ends the active conversation. + */ + @Generated + public static final VoiceAgentSystemToolName END_CONVERSATION = fromString("end_conversation"); + + /** + * Creates a new instance of VoiceAgentSystemToolName value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentSystemToolName() { + } + + /** + * Creates or finds a VoiceAgentSystemToolName from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentSystemToolName. + */ + @Generated + public static VoiceAgentSystemToolName fromString(String name) { + return fromString(name, VoiceAgentSystemToolName.class); + } + + /** + * Gets known VoiceAgentSystemToolName values. + * + * @return known VoiceAgentSystemToolName values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentSystemToolName.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java new file mode 100644 index 0000000000000..52e9321850c04 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTemplateGreetingConfig.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A deterministic greeting rendered with the voice agent's structured inputs and synthesized without model-authored + * generation. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentTemplateGreetingConfig extends VoiceAgentGreetingConfig { + + /* + * The greeting mode. + */ + @Generated + private String type = "template"; + + /* + * The Handlebars text template spoken at session start. + */ + @Generated + private final String text; + + /** + * Creates an instance of VoiceAgentTemplateGreetingConfig class. + * + * @param text the text value to set. + */ + @Generated + public VoiceAgentTemplateGreetingConfig(String text) { + this.text = text; + } + + /** + * Get the type property: The greeting mode. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the text property: The Handlebars text template spoken at session start. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentTemplateGreetingConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentTemplateGreetingConfig 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 VoiceAgentTemplateGreetingConfig. + */ + @Generated + public static VoiceAgentTemplateGreetingConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String text = null; + String type = "template"; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceAgentTemplateGreetingConfig deserializedVoiceAgentTemplateGreetingConfig + = new VoiceAgentTemplateGreetingConfig(text); + deserializedVoiceAgentTemplateGreetingConfig.type = type; + return deserializedVoiceAgentTemplateGreetingConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java new file mode 100644 index 0000000000000..7966090b2805c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTool.java @@ -0,0 +1,113 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A tool usable by a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentTool implements JsonSerializable { + + /* + * The tool kind. + */ + @Generated + private String type = "VoiceAgentTool"; + + /** + * Creates an instance of VoiceAgentTool class. + */ + @Generated + public VoiceAgentTool() { + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentTool 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 VoiceAgentTool. + */ + @Generated + public static VoiceAgentTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("function".equals(discriminatorValue)) { + return VoiceAgentFunctionTool.fromJson(readerToUse.reset()); + } else if ("mcp".equals(discriminatorValue)) { + return VoiceAgentMcpTool.fromJson(readerToUse.reset()); + } else if ("system".equals(discriminatorValue)) { + return VoiceAgentSystemTool.fromJson(readerToUse.reset()); + } else if ("toolbox".equals(discriminatorValue)) { + return VoiceAgentToolboxTool.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceAgentTool fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentTool deserializedVoiceAgentTool = new VoiceAgentTool(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedVoiceAgentTool.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java new file mode 100644 index 0000000000000..a2b8b52bb0c5e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolResponseScheduling.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * When a tool invocation creates a follow-up response. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentToolResponseScheduling extends ExpandableStringEnum { + + /** + * Do not create a follow-up response after the service-executed tool invocation completes. + */ + @Generated + public static final VoiceAgentToolResponseScheduling SILENT = fromString("silent"); + + /** + * Create a follow-up response when the conversation is idle. + */ + @Generated + public static final VoiceAgentToolResponseScheduling WHEN_IDLE = fromString("when_idle"); + + /** + * Interrupt the active response and create a follow-up response. + */ + @Generated + public static final VoiceAgentToolResponseScheduling INTERRUPT = fromString("interrupt"); + + /** + * Create a follow-up response only when no response is active. + */ + @Generated + public static final VoiceAgentToolResponseScheduling SKIP_IF_BUSY = fromString("skip_if_busy"); + + /** + * Creates a new instance of VoiceAgentToolResponseScheduling value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentToolResponseScheduling() { + } + + /** + * Creates or finds a VoiceAgentToolResponseScheduling from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentToolResponseScheduling. + */ + @Generated + public static VoiceAgentToolResponseScheduling fromString(String name) { + return fromString(name, VoiceAgentToolResponseScheduling.class); + } + + /** + * Gets known VoiceAgentToolResponseScheduling values. + * + * @return known VoiceAgentToolResponseScheduling values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentToolResponseScheduling.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java new file mode 100644 index 0000000000000..475a5b854c55d --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentToolboxTool.java @@ -0,0 +1,165 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A reference to a Foundry toolbox, which is a versioned bundle of tools executed through its MCP endpoint. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentToolboxTool extends VoiceAgentTool { + + /* + * The tool kind. + */ + @Generated + private String type = "toolbox"; + + /* + * The name of the toolbox to attach. + */ + @Generated + private final String toolboxName; + + /* + * The immutable version of the toolbox to attach. + */ + @Generated + private final String toolboxVersion; + + /* + * When the toolbox invocation creates a follow-up response. Defaults to `when_idle`. + */ + @Generated + private VoiceAgentToolResponseScheduling responseScheduling; + + /** + * Creates an instance of VoiceAgentToolboxTool class. + * + * @param toolboxName the toolboxName value to set. + * @param toolboxVersion the toolboxVersion value to set. + */ + @Generated + public VoiceAgentToolboxTool(String toolboxName, String toolboxVersion) { + this.toolboxName = toolboxName; + this.toolboxVersion = toolboxVersion; + } + + /** + * Get the type property: The tool kind. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the toolboxName property: The name of the toolbox to attach. + * + * @return the toolboxName value. + */ + @Generated + public String getToolboxName() { + return this.toolboxName; + } + + /** + * Get the toolboxVersion property: The immutable version of the toolbox to attach. + * + * @return the toolboxVersion value. + */ + @Generated + public String getToolboxVersion() { + return this.toolboxVersion; + } + + /** + * Get the responseScheduling property: When the toolbox invocation creates a follow-up response. Defaults to + * `when_idle`. + * + * @return the responseScheduling value. + */ + @Generated + public VoiceAgentToolResponseScheduling getResponseScheduling() { + return this.responseScheduling; + } + + /** + * Set the responseScheduling property: When the toolbox invocation creates a follow-up response. Defaults to + * `when_idle`. + * + * @param responseScheduling the responseScheduling value to set. + * @return the VoiceAgentToolboxTool object itself. + */ + @Generated + public VoiceAgentToolboxTool setResponseScheduling(VoiceAgentToolResponseScheduling responseScheduling) { + this.responseScheduling = responseScheduling; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("toolbox_name", this.toolboxName); + jsonWriter.writeStringField("toolbox_version", this.toolboxVersion); + jsonWriter.writeStringField("type", this.type); + jsonWriter.writeStringField("response_scheduling", + this.responseScheduling == null ? null : this.responseScheduling.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentToolboxTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentToolboxTool 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 VoiceAgentToolboxTool. + */ + @Generated + public static VoiceAgentToolboxTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String toolboxName = null; + String toolboxVersion = null; + String type = "toolbox"; + VoiceAgentToolResponseScheduling responseScheduling = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("toolbox_name".equals(fieldName)) { + toolboxName = reader.getString(); + } else if ("toolbox_version".equals(fieldName)) { + toolboxVersion = reader.getString(); + } else if ("type".equals(fieldName)) { + type = reader.getString(); + } else if ("response_scheduling".equals(fieldName)) { + responseScheduling = VoiceAgentToolResponseScheduling.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + VoiceAgentToolboxTool deserializedVoiceAgentToolboxTool + = new VoiceAgentToolboxTool(toolboxName, toolboxVersion); + deserializedVoiceAgentToolboxTool.type = type; + deserializedVoiceAgentToolboxTool.responseScheduling = responseScheduling; + return deserializedVoiceAgentToolboxTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionPhrase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionPhrase.java new file mode 100644 index 0000000000000..16a7f8dafca7b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionPhrase.java @@ -0,0 +1,203 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; +import java.util.List; + +/** + * A transcribed phrase with timing information. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentTranscriptionPhrase implements JsonSerializable { + + /* + * The phrase offset from the beginning of the audio, in milliseconds. + */ + @Generated + private final long offsetMilliseconds; + + /* + * The phrase duration in milliseconds. + */ + @Generated + private final long durationMilliseconds; + + /* + * The transcribed phrase text. + */ + @Generated + private final String text; + + /* + * Word-level timing details, when available. + */ + @Generated + private List words; + + /* + * The detected locale. + */ + @Generated + private String locale; + + /* + * The transcription confidence score. + */ + @Generated + private Double confidence; + + /** + * Creates an instance of VoiceAgentTranscriptionPhrase class. + * + * @param offsetMilliseconds the offsetMilliseconds value to set. + * @param durationMilliseconds the durationMilliseconds value to set. + * @param text the text value to set. + */ + @Generated + private VoiceAgentTranscriptionPhrase(Duration offsetMilliseconds, Duration durationMilliseconds, String text) { + if (offsetMilliseconds == null) { + this.offsetMilliseconds = 0L; + } else { + this.offsetMilliseconds = offsetMilliseconds.toMillis(); + } + if (durationMilliseconds == null) { + this.durationMilliseconds = 0L; + } else { + this.durationMilliseconds = durationMilliseconds.toMillis(); + } + this.text = text; + } + + /** + * Get the offsetMilliseconds property: The phrase offset from the beginning of the audio, in milliseconds. + * + * @return the offsetMilliseconds value. + */ + @Generated + public Duration getOffsetMilliseconds() { + return Duration.ofMillis(this.offsetMilliseconds); + } + + /** + * Get the durationMilliseconds property: The phrase duration in milliseconds. + * + * @return the durationMilliseconds value. + */ + @Generated + public Duration getDurationMilliseconds() { + return Duration.ofMillis(this.durationMilliseconds); + } + + /** + * Get the text property: The transcribed phrase text. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the words property: Word-level timing details, when available. + * + * @return the words value. + */ + @Generated + public List getWords() { + return this.words; + } + + /** + * Get the locale property: The detected locale. + * + * @return the locale value. + */ + @Generated + public String getLocale() { + return this.locale; + } + + /** + * Get the confidence property: The transcription confidence score. + * + * @return the confidence value. + */ + @Generated + public Double getConfidence() { + return this.confidence; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeLongField("offset_milliseconds", this.offsetMilliseconds); + jsonWriter.writeLongField("duration_milliseconds", this.durationMilliseconds); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeArrayField("words", this.words, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("locale", this.locale); + jsonWriter.writeNumberField("confidence", this.confidence); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentTranscriptionPhrase from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentTranscriptionPhrase 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 VoiceAgentTranscriptionPhrase. + */ + @Generated + public static VoiceAgentTranscriptionPhrase fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + Duration offsetMilliseconds = null; + Duration durationMilliseconds = null; + String text = null; + List words = null; + String locale = null; + Double confidence = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("offset_milliseconds".equals(fieldName)) { + offsetMilliseconds = Duration.ofMillis(reader.getLong()); + } else if ("duration_milliseconds".equals(fieldName)) { + durationMilliseconds = Duration.ofMillis(reader.getLong()); + } else if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("words".equals(fieldName)) { + words = reader.readArray(reader1 -> VoiceAgentTranscriptionWord.fromJson(reader1)); + } else if ("locale".equals(fieldName)) { + locale = reader.getString(); + } else if ("confidence".equals(fieldName)) { + confidence = reader.getNullable(JsonReader::getDouble); + } else { + reader.skipChildren(); + } + } + VoiceAgentTranscriptionPhrase deserializedVoiceAgentTranscriptionPhrase + = new VoiceAgentTranscriptionPhrase(offsetMilliseconds, durationMilliseconds, text); + deserializedVoiceAgentTranscriptionPhrase.words = words; + deserializedVoiceAgentTranscriptionPhrase.locale = locale; + deserializedVoiceAgentTranscriptionPhrase.confidence = confidence; + return deserializedVoiceAgentTranscriptionPhrase; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.java new file mode 100644 index 0000000000000..467ce92341d15 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.java @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * A time-stamped word in an input-audio transcription. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentTranscriptionWord implements JsonSerializable { + + /* + * The transcribed word text. + */ + @Generated + private final String text; + + /* + * The word offset from the beginning of the audio, in milliseconds. + */ + @Generated + private final long offsetMilliseconds; + + /* + * The word duration in milliseconds. + */ + @Generated + private final long durationMilliseconds; + + /** + * Creates an instance of VoiceAgentTranscriptionWord class. + * + * @param text the text value to set. + * @param offsetMilliseconds the offsetMilliseconds value to set. + * @param durationMilliseconds the durationMilliseconds value to set. + */ + @Generated + private VoiceAgentTranscriptionWord(String text, Duration offsetMilliseconds, Duration durationMilliseconds) { + this.text = text; + if (offsetMilliseconds == null) { + this.offsetMilliseconds = 0L; + } else { + this.offsetMilliseconds = offsetMilliseconds.toMillis(); + } + if (durationMilliseconds == null) { + this.durationMilliseconds = 0L; + } else { + this.durationMilliseconds = durationMilliseconds.toMillis(); + } + } + + /** + * Get the text property: The transcribed word text. + * + * @return the text value. + */ + @Generated + public String getText() { + return this.text; + } + + /** + * Get the offsetMilliseconds property: The word offset from the beginning of the audio, in milliseconds. + * + * @return the offsetMilliseconds value. + */ + @Generated + public Duration getOffsetMilliseconds() { + return Duration.ofMillis(this.offsetMilliseconds); + } + + /** + * Get the durationMilliseconds property: The word duration in milliseconds. + * + * @return the durationMilliseconds value. + */ + @Generated + public Duration getDurationMilliseconds() { + return Duration.ofMillis(this.durationMilliseconds); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("text", this.text); + jsonWriter.writeLongField("offset_milliseconds", this.offsetMilliseconds); + jsonWriter.writeLongField("duration_milliseconds", this.durationMilliseconds); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentTranscriptionWord from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentTranscriptionWord 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 VoiceAgentTranscriptionWord. + */ + @Generated + public static VoiceAgentTranscriptionWord fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String text = null; + Duration offsetMilliseconds = null; + Duration durationMilliseconds = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("text".equals(fieldName)) { + text = reader.getString(); + } else if ("offset_milliseconds".equals(fieldName)) { + offsetMilliseconds = Duration.ofMillis(reader.getLong()); + } else if ("duration_milliseconds".equals(fieldName)) { + durationMilliseconds = Duration.ofMillis(reader.getLong()); + } else { + reader.skipChildren(); + } + } + return new VoiceAgentTranscriptionWord(text, offsetMilliseconds, durationMilliseconds); + }); + } +} 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 0000000000000..d4f8506d9bde4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTransport.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The transport used for a voice-agent connection. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +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/VoiceAgentTurnDetectionConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionConfig.java new file mode 100644 index 0000000000000..1997f4f9f3aaa --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionConfig.java @@ -0,0 +1,148 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Turn-detection configuration for a voice agent. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceAgentTurnDetectionConfig implements JsonSerializable { + + /* + * The turn-detection strategy. + */ + @Generated + private VoiceAgentTurnDetectionType type = VoiceAgentTurnDetectionType.fromString("VoiceAgentTurnDetectionConfig"); + + /* + * Whether the input audio buffer is truncated automatically when speech stops. + */ + @Generated + private Boolean autoTruncate; + + /** + * Creates an instance of VoiceAgentTurnDetectionConfig class. + */ + @Generated + public VoiceAgentTurnDetectionConfig() { + } + + /** + * Get the type property: The turn-detection strategy. + * + * @return the type value. + */ + @Generated + public VoiceAgentTurnDetectionType getType() { + return this.type; + } + + /** + * Get the autoTruncate property: Whether the input audio buffer is truncated automatically when speech stops. + * + * @return the autoTruncate value. + */ + @Generated + public Boolean isAutoTruncate() { + return this.autoTruncate; + } + + /** + * Set the autoTruncate property: Whether the input audio buffer is truncated automatically when speech stops. + * + * @param autoTruncate the autoTruncate value to set. + * @return the VoiceAgentTurnDetectionConfig object itself. + */ + @Generated + public VoiceAgentTurnDetectionConfig setAutoTruncate(Boolean autoTruncate) { + this.autoTruncate = autoTruncate; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeBooleanField("auto_truncate", this.autoTruncate); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceAgentTurnDetectionConfig from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAgentTurnDetectionConfig 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 VoiceAgentTurnDetectionConfig. + */ + @Generated + public static VoiceAgentTurnDetectionConfig fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("server_vad".equals(discriminatorValue)) { + return VoiceAgentServerVadTurnDetection.fromJson(readerToUse.reset()); + } else if ("azure_semantic_vad".equals(discriminatorValue)) { + return VoiceAgentAzureSemanticVadTurnDetection.fromJson(readerToUse.reset()); + } else if ("azure_semantic_vad_en".equals(discriminatorValue)) { + return VoiceAgentAzureSemanticVadEnTurnDetection.fromJson(readerToUse.reset()); + } else if ("azure_semantic_vad_multilingual".equals(discriminatorValue)) { + return VoiceAgentAzureSemanticVadMultilingualTurnDetection.fromJson(readerToUse.reset()); + } else if ("semantic_vad".equals(discriminatorValue)) { + return VoiceAgentSemanticVadTurnDetection.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceAgentTurnDetectionConfig fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceAgentTurnDetectionConfig deserializedVoiceAgentTurnDetectionConfig + = new VoiceAgentTurnDetectionConfig(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedVoiceAgentTurnDetectionConfig.type + = VoiceAgentTurnDetectionType.fromString(reader.getString()); + } else if ("auto_truncate".equals(fieldName)) { + deserializedVoiceAgentTurnDetectionConfig.autoTruncate = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceAgentTurnDetectionConfig; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java new file mode 100644 index 0000000000000..d7fa47f72998b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentTurnDetectionType.java @@ -0,0 +1,78 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The turn-detection strategy. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAgentTurnDetectionType extends ExpandableStringEnum { + + /** + * Server-side voice activity detection. + */ + @Generated + public static final VoiceAgentTurnDetectionType SERVER_VAD = fromString("server_vad"); + + /** + * Semantic voice activity detection. + */ + @Generated + public static final VoiceAgentTurnDetectionType SEMANTIC_VAD = fromString("semantic_vad"); + + /** + * Azure semantic voice activity detection. + */ + @Generated + public static final VoiceAgentTurnDetectionType AZURE_SEMANTIC_VAD = fromString("azure_semantic_vad"); + + /** + * English-optimized Azure semantic voice activity detection. + */ + @Generated + public static final VoiceAgentTurnDetectionType AZURE_SEMANTIC_VAD_EN = fromString("azure_semantic_vad_en"); + + /** + * Multilingual Azure semantic voice activity detection. + */ + @Generated + public static final VoiceAgentTurnDetectionType AZURE_SEMANTIC_VAD_MULTILINGUAL + = fromString("azure_semantic_vad_multilingual"); + + /** + * Creates a new instance of VoiceAgentTurnDetectionType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAgentTurnDetectionType() { + } + + /** + * Creates or finds a VoiceAgentTurnDetectionType from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAgentTurnDetectionType. + */ + @Generated + public static VoiceAgentTurnDetectionType fromString(String name) { + return fromString(name, VoiceAgentTurnDetectionType.class); + } + + /** + * Gets known VoiceAgentTurnDetectionType values. + * + * @return known VoiceAgentTurnDetectionType values. + */ + @Generated + public static Collection values() { + return values(VoiceAgentTurnDetectionType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java new file mode 100644 index 0000000000000..d9e38a6219dee --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioCodec.java @@ -0,0 +1,65 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * An audio codec. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAudioCodec extends ExpandableStringEnum { + + /** + * 16-bit pulse-code modulation. + */ + @Generated + public static final VoiceAudioCodec PCM16 = fromString("pcm16"); + + /** + * G.711 mu-law. + */ + @Generated + public static final VoiceAudioCodec PCMU = fromString("pcmu"); + + /** + * G.711 A-law. + */ + @Generated + public static final VoiceAudioCodec PCMA = fromString("pcma"); + + /** + * Creates a new instance of VoiceAudioCodec value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAudioCodec() { + } + + /** + * Creates or finds a VoiceAudioCodec from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAudioCodec. + */ + @Generated + public static VoiceAudioCodec fromString(String name) { + return fromString(name, VoiceAudioCodec.class); + } + + /** + * Gets known VoiceAudioCodec values. + * + * @return known VoiceAudioCodec values. + */ + @Generated + public static Collection values() { + return values(VoiceAudioCodec.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java new file mode 100644 index 0000000000000..fcdd1178e0c5b --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java @@ -0,0 +1,53 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * An audio container format. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAudioContainerFormat extends ExpandableStringEnum { + + /** + * Waveform Audio File Format. + */ + @Generated + public static final VoiceAudioContainerFormat WAV = fromString("wav"); + + /** + * Creates a new instance of VoiceAudioContainerFormat value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAudioContainerFormat() { + } + + /** + * Creates or finds a VoiceAudioContainerFormat from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAudioContainerFormat. + */ + @Generated + public static VoiceAudioContainerFormat fromString(String name) { + return fromString(name, VoiceAudioContainerFormat.class); + } + + /** + * Gets known VoiceAudioContainerFormat values. + * + * @return known VoiceAudioContainerFormat values. + */ + @Generated + public static Collection values() { + return values(VoiceAudioContainerFormat.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.java new file mode 100644 index 0000000000000..3170b0a4d55e3 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.java @@ -0,0 +1,290 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * Metadata for a single conversation item's audio segment. 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/content` route. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAudioItemResponse 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 recording 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/content` route instead. + */ + @Generated + private String blobUri; + + /** + * Creates an instance of VoiceAudioItemResponse class. + * + * @param conversationId the conversationId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private VoiceAudioItemResponse(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 recording 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/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 VoiceAudioItemResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceAudioItemResponse 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 VoiceAudioItemResponse. + */ + @Generated + public static VoiceAudioItemResponse 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(); + } + } + VoiceAudioItemResponse deserializedVoiceAudioItemResponse + = new VoiceAudioItemResponse(conversationId, itemId); + deserializedVoiceAudioItemResponse.role = role; + deserializedVoiceAudioItemResponse.format = format; + deserializedVoiceAudioItemResponse.codec = codec; + deserializedVoiceAudioItemResponse.sampleRate = sampleRate; + deserializedVoiceAudioItemResponse.channels = channels; + deserializedVoiceAudioItemResponse.startOffsetMs = startOffsetMs; + deserializedVoiceAudioItemResponse.durationMs = durationMs; + deserializedVoiceAudioItemResponse.blobUri = blobUri; + return deserializedVoiceAudioItemResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java new file mode 100644 index 0000000000000..82a6eecfe7014 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAudioRole.java @@ -0,0 +1,59 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * A voice-audio participant role. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceAudioRole extends ExpandableStringEnum { + + /** + * Audio produced by the user. + */ + @Generated + public static final VoiceAudioRole USER = fromString("user"); + + /** + * Audio produced by the agent. + */ + @Generated + public static final VoiceAudioRole AGENT = fromString("agent"); + + /** + * Creates a new instance of VoiceAudioRole value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceAudioRole() { + } + + /** + * Creates or finds a VoiceAudioRole from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceAudioRole. + */ + @Generated + public static VoiceAudioRole fromString(String name) { + return fromString(name, VoiceAudioRole.class); + } + + /** + * Gets known VoiceAudioRole values. + * + * @return known VoiceAudioRole values. + */ + @Generated + public static Collection values() { + return values(VoiceAudioRole.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversation.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversation.java new file mode 100644 index 0000000000000..6a3bf3d025168 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversation.java @@ -0,0 +1,259 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeResponseUsage; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.Map; + +/** + * A persisted voice conversation. The Foundry envelope that owns a voice agent's stored + * transcript, responses, per-turn metrics, and audio. It is the parent, retention, and delete boundary: + * deleting it cascades to its responses, items, metrics, and audio. When finalization fails, any partial persisted + * responses, items, and item audio remain readable. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceConversation implements JsonSerializable { + + /* + * The unique id of the conversation. + */ + @Generated + private final String id; + + /* + * The object type. Always `voice.conversation`. + */ + @Generated + private final String object = "voice.conversation"; + + /* + * The lifecycle status of the conversation. + */ + @Generated + private final VoiceConversationStatus status; + + /* + * The Unix timestamp (in seconds) for when the conversation was created. + */ + @Generated + private final long createdAt; + + /* + * The Unix timestamp (in seconds) for when session and persistence finalization reached the terminal `completed` or + * `failed` status. Absent while `status` is `in_progress`. + */ + @Generated + private Long completedAt; + + /* + * A set of key-value pairs attached to the conversation. + */ + @Generated + private Map metadata; + + /* + * Final aggregate token usage across all responses in this conversation. Absent while `status` is `in_progress` and + * populated after successful `completed` finalization; it may be absent when `status` is `failed`, and values are + * not guaranteed to be reported incrementally. + */ + @Generated + private RealtimeResponseUsage usage; + + /* + * The terminal error that prevented persistence finalization. Present only when `status` is `failed`. + */ + @Generated + private ApiError lastError; + + /** + * Creates an instance of VoiceConversation class. + * + * @param id the id value to set. + * @param status the status value to set. + * @param createdAt the createdAt value to set. + */ + @Generated + private VoiceConversation(String id, VoiceConversationStatus status, OffsetDateTime createdAt) { + this.id = id; + this.status = status; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + } + + /** + * Get the id property: The unique id of the conversation. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the object property: The object type. Always `voice.conversation`. + * + * @return the object value. + */ + @Generated + public String getObject() { + return this.object; + } + + /** + * Get the status property: The lifecycle status of the conversation. + * + * @return the status value. + */ + @Generated + public VoiceConversationStatus getStatus() { + return this.status; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the conversation was created. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the completedAt property: The Unix timestamp (in seconds) for when session and persistence finalization + * reached the terminal `completed` or `failed` status. Absent while `status` is `in_progress`. + * + * @return the completedAt value. + */ + @Generated + public OffsetDateTime getCompletedAt() { + if (this.completedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.completedAt), ZoneOffset.UTC); + } + + /** + * Get the metadata property: A set of key-value pairs attached to the conversation. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Get the usage property: Final aggregate token usage across all responses in this conversation. Absent while + * `status` is `in_progress` and populated after successful `completed` finalization; it may be absent when `status` + * is `failed`, and values are not guaranteed to be reported incrementally. + * + * @return the usage value. + */ + @Generated + public RealtimeResponseUsage getUsage() { + return this.usage; + } + + /** + * Get the lastError property: The terminal error that prevented persistence finalization. Present only when + * `status` is `failed`. + * + * @return the lastError value. + */ + @Generated + public ApiError getLastError() { + return this.lastError; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("object", this.object); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + jsonWriter.writeLongField("created_at", this.createdAt); + jsonWriter.writeNumberField("completed_at", this.completedAt); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + // AI Tooling: openai-java de-dup + if (this.usage != null) { + jsonWriter.writeFieldName("usage"); + OpenAIJsonHelper.toBinaryData(this.usage).writeTo(jsonWriter); + } + jsonWriter.writeJsonField("last_error", this.lastError); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceConversation from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceConversation 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 VoiceConversation. + */ + public static VoiceConversation fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + VoiceConversationStatus status = null; + OffsetDateTime createdAt = null; + Long completedAt = null; + Map metadata = null; + RealtimeResponseUsage usage = null; + ApiError lastError = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("status".equals(fieldName)) { + status = VoiceConversationStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("completed_at".equals(fieldName)) { + completedAt = reader.getNullable(JsonReader::getLong); + } else if ("metadata".equals(fieldName)) { + metadata = reader.readMap(reader1 -> reader1.getString()); + } else if ("usage".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData usageData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + usage = OpenAIJsonHelper.fromBinaryData(usageData, RealtimeResponseUsage.class); + } else if ("last_error".equals(fieldName)) { + lastError = ApiError.fromJson(reader); + } else { + reader.skipChildren(); + } + } + VoiceConversation deserializedVoiceConversation = new VoiceConversation(id, status, createdAt); + deserializedVoiceConversation.completedAt = completedAt; + deserializedVoiceConversation.metadata = metadata; + deserializedVoiceConversation.usage = usage; + deserializedVoiceConversation.lastError = lastError; + return deserializedVoiceConversation; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationEngine.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationEngine.java new file mode 100644 index 0000000000000..6751badb18040 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationEngine.java @@ -0,0 +1,107 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * An engine that owns conversation handling for a voice agent. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceConversationEngine implements JsonSerializable { + + /* + * The conversation engine type. + */ + @Generated + private String type = "VoiceConversationEngine"; + + /** + * Creates an instance of VoiceConversationEngine class. + */ + @Generated + public VoiceConversationEngine() { + } + + /** + * Get the type property: The conversation engine type. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceConversationEngine from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceConversationEngine 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 VoiceConversationEngine. + */ + @Generated + public static VoiceConversationEngine fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("hosted_agent".equals(discriminatorValue)) { + return VoiceHostedAgentConversationEngine.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static VoiceConversationEngine fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceConversationEngine deserializedVoiceConversationEngine = new VoiceConversationEngine(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedVoiceConversationEngine.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceConversationEngine; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java new file mode 100644 index 0000000000000..8f96402609859 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java @@ -0,0 +1,70 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The lifecycle status of a persisted voice conversation: + * - `in_progress`: the live session is active, or post-session persistence finalization is pending. + * - `completed`: finalization succeeded after normal or client close, `end_conversation`, a max-duration `1001` + * close, or a client or network disconnect that the service can still finalize. + * - `failed`: a terminal service, bridge, storage, or unrecoverable transport failure prevented finalization. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceConversationStatus extends ExpandableStringEnum { + + /** + * The live session is active, or post-session persistence finalization is still pending. + */ + @Generated + public static final VoiceConversationStatus IN_PROGRESS = fromString("in_progress"); + + /** + * Persistence finalization succeeded. This includes normal or client-initiated close, the `end_conversation` system + * tool, a max-duration `1001` close, and client or network disconnects that the service can still finalize. + */ + @Generated + public static final VoiceConversationStatus COMPLETED = fromString("completed"); + + /** + * A terminal service, bridge, storage, or unrecoverable transport failure prevented persistence finalization. + */ + @Generated + public static final VoiceConversationStatus FAILED = fromString("failed"); + + /** + * Creates a new instance of VoiceConversationStatus value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceConversationStatus() { + } + + /** + * Creates or finds a VoiceConversationStatus from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceConversationStatus. + */ + @Generated + public static VoiceConversationStatus fromString(String name) { + return fromString(name, VoiceConversationStatus.class); + } + + /** + * Gets known VoiceConversationStatus values. + * + * @return known VoiceConversationStatus values. + */ + @Generated + public static Collection values() { + return values(VoiceConversationStatus.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java new file mode 100644 index 0000000000000..d9b5ee097a17c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * 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 +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceGeneratedAudioItemResponse 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 VoiceGeneratedAudioItemResponse class. + * + * @param conversationId the conversationId value to set. + * @param itemId the itemId value to set. + */ + @Generated + private VoiceGeneratedAudioItemResponse(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 VoiceGeneratedAudioItemResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceGeneratedAudioItemResponse 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 VoiceGeneratedAudioItemResponse. + */ + @Generated + public static VoiceGeneratedAudioItemResponse 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(); + } + } + VoiceGeneratedAudioItemResponse deserializedVoiceGeneratedAudioItemResponse + = new VoiceGeneratedAudioItemResponse(conversationId, itemId); + deserializedVoiceGeneratedAudioItemResponse.role = role; + deserializedVoiceGeneratedAudioItemResponse.format = format; + deserializedVoiceGeneratedAudioItemResponse.codec = codec; + deserializedVoiceGeneratedAudioItemResponse.sampleRate = sampleRate; + deserializedVoiceGeneratedAudioItemResponse.channels = channels; + deserializedVoiceGeneratedAudioItemResponse.startOffsetMs = startOffsetMs; + deserializedVoiceGeneratedAudioItemResponse.durationMs = durationMs; + deserializedVoiceGeneratedAudioItemResponse.blobUri = blobUri; + return deserializedVoiceGeneratedAudioItemResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java new file mode 100644 index 0000000000000..9fff9c3ba0f90 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java @@ -0,0 +1,201 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * A closed reference to the hosted text agent that owns conversation handling for a voice agent. The hosted agent is + * resolved within the same project and must support the `invocations_ws` protocol, Voice Live compatibility, and Bridge + * Protocol 1.0. + */ +@Fluent +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceHostedAgentConversationEngine extends VoiceConversationEngine { + + /* + * The conversation engine type. + */ + @Generated + private String type = "hosted_agent"; + + /* + * 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 owns conversation handling for a voice agent. The hosted agent + * is resolved within the same project and must support the `invocations_ws` protocol, Voice Live compatibility, and + * Bridge Protocol 1.0. + */ + @Generated + private Map additionalProperties; + + /** + * Creates an instance of VoiceHostedAgentConversationEngine class. + * + * @param name the name value to set. + */ + @Generated + public VoiceHostedAgentConversationEngine(String name) { + this.name = name; + } + + /** + * Get the type property: The conversation engine type. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * 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 VoiceHostedAgentConversationEngine object itself. + */ + @Generated + public VoiceHostedAgentConversationEngine setVersion(String version) { + this.version = version; + return this; + } + + /** + * Get the additionalProperties property: A closed reference to the hosted text agent that owns conversation + * handling for a voice agent. The hosted agent is resolved within the same project and must support the + * `invocations_ws` protocol, Voice Live compatibility, and Bridge Protocol 1.0. + * + * @return the additionalProperties value. + */ + @Generated + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + /** + * Set the additionalProperties property: A closed reference to the hosted text agent that owns conversation + * handling for a voice agent. The hosted agent is resolved within the same project and must support the + * `invocations_ws` protocol, Voice Live compatibility, and Bridge Protocol 1.0. + * + * @param additionalProperties the additionalProperties value to set. + * @return the VoiceHostedAgentConversationEngine object itself. + */ + @Generated + public VoiceHostedAgentConversationEngine 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("type", this.type); + 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 VoiceHostedAgentConversationEngine from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceHostedAgentConversationEngine 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 VoiceHostedAgentConversationEngine. + */ + @Generated + public static VoiceHostedAgentConversationEngine fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String type = "hosted_agent"; + 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 ("type".equals(fieldName)) { + type = 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()))); + } + } + VoiceHostedAgentConversationEngine deserializedVoiceHostedAgentConversationEngine + = new VoiceHostedAgentConversationEngine(name); + deserializedVoiceHostedAgentConversationEngine.type = type; + deserializedVoiceHostedAgentConversationEngine.version = version; + deserializedVoiceHostedAgentConversationEngine.additionalProperties = additionalProperties; + return deserializedVoiceHostedAgentConversationEngine; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceIdsShared.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceIdsShared.java new file mode 100644 index 0000000000000..ee6c45941e920 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceIdsShared.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Defines values for VoiceIdsShared. + */ +public final class VoiceIdsShared extends ExpandableStringEnum { + + /** + * Static value alloy for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared ALLOY = fromString("alloy"); + + /** + * Static value ash for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared ASH = fromString("ash"); + + /** + * Static value ballad for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared BALLAD = fromString("ballad"); + + /** + * Static value coral for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared CORAL = fromString("coral"); + + /** + * Static value echo for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared ECHO = fromString("echo"); + + /** + * Static value sage for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared SAGE = fromString("sage"); + + /** + * Static value shimmer for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared SHIMMER = fromString("shimmer"); + + /** + * Static value verse for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared VERSE = fromString("verse"); + + /** + * Static value marin for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared MARIN = fromString("marin"); + + /** + * Static value cedar for VoiceIdsShared. + */ + @Generated + public static final VoiceIdsShared CEDAR = fromString("cedar"); + + /** + * Creates a new instance of VoiceIdsShared value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceIdsShared() { + } + + /** + * Creates or finds a VoiceIdsShared from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceIdsShared. + */ + @Generated + public static VoiceIdsShared fromString(String name) { + return fromString(name, VoiceIdsShared.class); + } + + /** + * Gets known VoiceIdsShared values. + * + * @return known VoiceIdsShared values. + */ + @Generated + public static Collection values() { + return values(VoiceIdsShared.class); + } +} 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 new file mode 100644 index 0000000000000..bc23e09818304 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceModelType.java @@ -0,0 +1,60 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * How the model backing a voice agent is served. This is independent of the architecture (realtime or cascaded), + * which the service derives from the selected model. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceModelType extends ExpandableStringEnum { + + /** + * The service hosts and manages the named model, for example `gpt-realtime`. + */ + @Generated + public static final VoiceModelType MANAGED = fromString("managed"); + + /** + * The service uses the customer's own Foundry deployment named by `model`. + */ + @Generated + public static final VoiceModelType SELF_DEPLOYED = fromString("self_deployed"); + + /** + * Creates a new instance of VoiceModelType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceModelType() { + } + + /** + * Creates or finds a VoiceModelType from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceModelType. + */ + @Generated + public static VoiceModelType fromString(String name) { + return fromString(name, VoiceModelType.class); + } + + /** + * Gets known VoiceModelType values. + * + * @return known VoiceModelType values. + */ + @Generated + public static Collection values() { + return values(VoiceModelType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java new file mode 100644 index 0000000000000..978fed5621f64 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceOutputModality.java @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * An output modality the agent may produce. `animation` and `avatar` are used when an avatar is configured. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceOutputModality extends ExpandableStringEnum { + + /** + * Static value text for VoiceOutputModality. + */ + @Generated + public static final VoiceOutputModality TEXT = fromString("text"); + + /** + * Static value audio for VoiceOutputModality. + */ + @Generated + public static final VoiceOutputModality AUDIO = fromString("audio"); + + /** + * Static value animation for VoiceOutputModality. + */ + @Generated + public static final VoiceOutputModality ANIMATION = fromString("animation"); + + /** + * Static value avatar for VoiceOutputModality. + */ + @Generated + public static final VoiceOutputModality AVATAR = fromString("avatar"); + + /** + * Creates a new instance of VoiceOutputModality value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceOutputModality() { + } + + /** + * Creates or finds a VoiceOutputModality from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceOutputModality. + */ + @Generated + public static VoiceOutputModality fromString(String name) { + return fromString(name, VoiceOutputModality.class); + } + + /** + * Gets known VoiceOutputModality values. + * + * @return known VoiceOutputModality values. + */ + @Generated + public static Collection values() { + return values(VoiceOutputModality.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java new file mode 100644 index 0000000000000..079a44d8ea867 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingChannelLayout.java @@ -0,0 +1,94 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The role assigned to each channel of a merged stereo voice recording. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceRecordingChannelLayout implements JsonSerializable { + + /* + * The role carried on the left channel. Always `user`. + */ + @Generated + private final String left = "user"; + + /* + * The role carried on the right channel. Always `agent`. + */ + @Generated + private final String right = "agent"; + + /** + * Creates an instance of VoiceRecordingChannelLayout class. + */ + @Generated + private VoiceRecordingChannelLayout() { + } + + /** + * Get the left property: The role carried on the left channel. Always `user`. + * + * @return the left value. + */ + @Generated + public String getLeft() { + return this.left; + } + + /** + * Get the right property: The role carried on the right channel. Always `agent`. + * + * @return the right value. + */ + @Generated + public String getRight() { + return this.right; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("left", this.left); + jsonWriter.writeStringField("right", this.right); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceRecordingChannelLayout from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceRecordingChannelLayout 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 VoiceRecordingChannelLayout. + */ + @Generated + public static VoiceRecordingChannelLayout fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceRecordingChannelLayout deserializedVoiceRecordingChannelLayout = new VoiceRecordingChannelLayout(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + reader.skipChildren(); + } + return deserializedVoiceRecordingChannelLayout; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.java new file mode 100644 index 0000000000000..f859e9883e457 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceRecordingResponse.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.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Duration; + +/** + * Metadata for the merged, whole-call stereo recording of a voice conversation (user audio on the left channel, + * agent audio on the right). Built once from the per-turn segments after the session ends and durably cached. + * The common metadata (format, sample rate, channels, channel layout, duration) is returned for both + * Foundry-managed and bring-your-own-storage (BYOS) recordings. For BYOS the response also includes `blob_uri`, + * the URI of the recording in the customer's own storage (no SAS token), which the customer downloads using their + * own storage credentials. For Foundry-managed storage `blob_uri` is absent and the bytes are streamed via the + * `/audio/content` route instead. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceRecordingResponse implements JsonSerializable { + + /* + * The id of the conversation this recording belongs to. + */ + @Generated + private final String conversationId; + + /* + * The container format of the recording. + */ + @Generated + private final VoiceAudioContainerFormat format; + + /* + * The sample rate of the recording in Hz, e.g. 24000. + */ + @Generated + private final int sampleRate; + + /* + * The number of audio channels. The merged recording is stereo (`2`). + */ + @Generated + private final int channels; + + /* + * The role assigned to each stereo channel. + */ + @Generated + private final VoiceRecordingChannelLayout channelLayout; + + /* + * The total duration of the recording. + */ + @Generated + private final long durationMs; + + /* + * For bring-your-own-storage (BYOS) recordings only: the URI of the recording 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 `/audio/content` route instead. + */ + @Generated + private String blobUri; + + /** + * Creates an instance of VoiceRecordingResponse class. + * + * @param conversationId the conversationId value to set. + * @param format the format value to set. + * @param sampleRate the sampleRate value to set. + * @param channels the channels value to set. + * @param channelLayout the channelLayout value to set. + * @param durationMs the durationMs value to set. + */ + @Generated + private VoiceRecordingResponse(String conversationId, VoiceAudioContainerFormat format, int sampleRate, + int channels, VoiceRecordingChannelLayout channelLayout, Duration durationMs) { + this.conversationId = conversationId; + this.format = format; + this.sampleRate = sampleRate; + this.channels = channels; + this.channelLayout = channelLayout; + if (durationMs == null) { + this.durationMs = 0L; + } else { + this.durationMs = durationMs.toMillis(); + } + } + + /** + * Get the conversationId property: The id of the conversation this recording belongs to. + * + * @return the conversationId value. + */ + @Generated + public String getConversationId() { + return this.conversationId; + } + + /** + * Get the format property: The container format of the recording. + * + * @return the format value. + */ + @Generated + public VoiceAudioContainerFormat getFormat() { + return this.format; + } + + /** + * Get the sampleRate property: The sample rate of the recording in Hz, e.g. 24000. + * + * @return the sampleRate value. + */ + @Generated + public int getSampleRate() { + return this.sampleRate; + } + + /** + * Get the channels property: The number of audio channels. The merged recording is stereo (`2`). + * + * @return the channels value. + */ + @Generated + public int getChannels() { + return this.channels; + } + + /** + * Get the channelLayout property: The role assigned to each stereo channel. + * + * @return the channelLayout value. + */ + @Generated + public VoiceRecordingChannelLayout getChannelLayout() { + return this.channelLayout; + } + + /** + * Get the durationMs property: The total duration of the recording. + * + * @return the durationMs value. + */ + @Generated + public Duration getDurationMs() { + return Duration.ofMillis(this.durationMs); + } + + /** + * Get the blobUri property: For bring-your-own-storage (BYOS) recordings only: the URI of the recording 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 `/audio/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("format", this.format == null ? null : this.format.toString()); + jsonWriter.writeIntField("sample_rate", this.sampleRate); + jsonWriter.writeIntField("channels", this.channels); + jsonWriter.writeJsonField("channel_layout", this.channelLayout); + jsonWriter.writeLongField("duration_ms", this.durationMs); + jsonWriter.writeStringField("blob_uri", this.blobUri); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceRecordingResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceRecordingResponse 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 VoiceRecordingResponse. + */ + @Generated + public static VoiceRecordingResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String conversationId = null; + VoiceAudioContainerFormat format = null; + int sampleRate = 0; + int channels = 0; + VoiceRecordingChannelLayout channelLayout = null; + Duration 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 ("format".equals(fieldName)) { + format = VoiceAudioContainerFormat.fromString(reader.getString()); + } else if ("sample_rate".equals(fieldName)) { + sampleRate = reader.getInt(); + } else if ("channels".equals(fieldName)) { + channels = reader.getInt(); + } else if ("channel_layout".equals(fieldName)) { + channelLayout = VoiceRecordingChannelLayout.fromJson(reader); + } else if ("duration_ms".equals(fieldName)) { + durationMs = Duration.ofMillis(reader.getLong()); + } else if ("blob_uri".equals(fieldName)) { + blobUri = reader.getString(); + } else { + reader.skipChildren(); + } + } + VoiceRecordingResponse deserializedVoiceRecordingResponse + = new VoiceRecordingResponse(conversationId, format, sampleRate, channels, channelLayout, durationMs); + deserializedVoiceRecordingResponse.blobUri = blobUri; + return deserializedVoiceRecordingResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponse.java new file mode 100644 index 0000000000000..bcdd573120b61 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponse.java @@ -0,0 +1,421 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeResponseStatus; +import com.openai.models.realtime.RealtimeResponseUsage; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.List; +import java.util.Map; + +/** + * A persisted voice response representing one model inference turn within a conversation. In list results the + * `output` projection may be omitted; retrieve the + * full response (`GET .../responses/{response_id}`) or the paged response-items route + * (`GET .../responses/{response_id}/items`) for its output items. `created_at`/`completed_at` are Foundry + * durable ordering extensions. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceResponse extends VoiceResponseBase { + + /* + * The unique id of the response. + */ + @Generated + private final String id; + + /* + * The output items produced by the response. May be omitted in list results; retrieve the full response (GET + * .../responses/{response_id}) or use the paged response-items route (GET .../responses/{response_id}/items) for + * its output items. Each item's `response_id` also links it back to this response in the conversation-level items + * list. + */ + @Generated + private List output; + + /* + * The id of the conversation this response belongs to. + */ + @Generated + private final String conversationId; + + /* + * The audio configuration used for the response, including the voice and audio format used for output. + */ + @Generated + private VoiceResponseAudio audio; + + /* + * A set of key-value pairs attached to the response. + */ + @Generated + private Map metadata; + + /* + * The sampling temperature used for the response. + */ + @Generated + private Double temperature; + + /* + * The Unix timestamp (in seconds) for when the response was created. + */ + @Generated + private Long createdAt; + + /* + * The Unix timestamp (in seconds) for when the response completed. + */ + @Generated + private Long completedAt; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + */ + @Generated + private BinaryData maxOutputTokens; + + /* + * The set of modalities the model used to respond, currently the only possible values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + */ + @Generated + private List outputModalities; + + /* + * Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + */ + @Generated + private RealtimeResponseUsage usage; + + /* + * Additional details about the status. + */ + @Generated + private RealtimeResponseStatus statusDetails; + + /* + * The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + */ + @Generated + private VoiceResponseBaseStatus status; + + /* + * The object type, must be `realtime.response`. + */ + @Generated + private VoiceResponseBaseObject object; + + /** + * Creates an instance of VoiceResponse class. + * + * @param id the id value to set. + * @param conversationId the conversationId value to set. + */ + @Generated + private VoiceResponse(String id, String conversationId) { + this.id = id; + this.conversationId = conversationId; + } + + /** + * Get the id property: The unique id of the response. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the output property: The output items produced by the response. May be omitted in list results; retrieve the + * full response (GET .../responses/{response_id}) or use the paged response-items route (GET + * .../responses/{response_id}/items) for its output items. Each item's `response_id` also links it back to this + * response in the conversation-level items list. + * + * @return the output value. + */ + @Generated + public List getOutput() { + return this.output; + } + + /** + * Get the conversationId property: The id of the conversation this response belongs to. + * + * @return the conversationId value. + */ + @Generated + public String getConversationId() { + return this.conversationId; + } + + /** + * Get the audio property: The audio configuration used for the response, including the voice and audio format used + * for output. + * + * @return the audio value. + */ + @Generated + public VoiceResponseAudio getAudio() { + return this.audio; + } + + /** + * Get the metadata property: A set of key-value pairs attached to the response. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Get the temperature property: The sampling temperature used for the response. + * + * @return the temperature value. + */ + @Generated + public Double getTemperature() { + return this.temperature; + } + + /** + * Get the createdAt property: The Unix timestamp (in seconds) for when the response was created. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + if (this.createdAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the completedAt property: The Unix timestamp (in seconds) for when the response completed. + * + * @return the completedAt value. + */ + @Generated + public OffsetDateTime getCompletedAt() { + if (this.completedAt == null) { + return null; + } + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.completedAt), ZoneOffset.UTC); + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @return the maxOutputTokens value. + */ + @Generated + @Override + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Get the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @return the outputModalities value. + */ + @Generated + @Override + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Get the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @return the usage value. + */ + @Generated + @Override + public RealtimeResponseUsage getUsage() { + return this.usage; + } + + /** + * Get the statusDetails property: Additional details about the status. + * + * @return the statusDetails value. + */ + @Generated + @Override + public RealtimeResponseStatus getStatusDetails() { + return this.statusDetails; + } + + /** + * Get the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @return the status value. + */ + @Generated + @Override + public VoiceResponseBaseStatus getStatus() { + return this.status; + } + + /** + * Get the object property: The object type, must be `realtime.response`. + * + * @return the object value. + */ + @Generated + @Override + public VoiceResponseBaseObject getObject() { + return this.object; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("object", getObject() == null ? null : getObject().toString()); + jsonWriter.writeStringField("status", getStatus() == null ? null : getStatus().toString()); + // AI Tooling: openai-java de-dup + if (getStatusDetails() != null) { + jsonWriter.writeFieldName("status_details"); + OpenAIJsonHelper.toBinaryData(getStatusDetails()).writeTo(jsonWriter); + } + if (getUsage() != null) { + jsonWriter.writeFieldName("usage"); + OpenAIJsonHelper.toBinaryData(getUsage()).writeTo(jsonWriter); + } + jsonWriter.writeArrayField("output_modalities", getOutputModalities(), + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (getMaxOutputTokens() != null) { + jsonWriter.writeFieldName("max_output_tokens"); + getMaxOutputTokens().writeTo(jsonWriter); + } + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("conversation_id", this.conversationId); + jsonWriter.writeArrayField("output", this.output, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("audio", this.audio); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeNumberField("temperature", this.temperature); + jsonWriter.writeNumberField("created_at", this.createdAt); + jsonWriter.writeNumberField("completed_at", this.completedAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceResponse 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 VoiceResponse. + */ + public static VoiceResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceResponseBaseObject object = null; + VoiceResponseBaseStatus status = null; + RealtimeResponseStatus statusDetails = null; + RealtimeResponseUsage usage = null; + List outputModalities = null; + BinaryData maxOutputTokens = null; + String id = null; + String conversationId = null; + List output = null; + VoiceResponseAudio audio = null; + Map metadata = null; + Double temperature = null; + Long createdAt = null; + Long completedAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("object".equals(fieldName)) { + object = VoiceResponseBaseObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + status = VoiceResponseBaseStatus.fromString(reader.getString()); + } else if ("status_details".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData statusDetailsData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + statusDetails = OpenAIJsonHelper.fromBinaryData(statusDetailsData, RealtimeResponseStatus.class); + } else if ("usage".equals(fieldName)) { + BinaryData usageData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + usage = OpenAIJsonHelper.fromBinaryData(usageData, RealtimeResponseUsage.class); + } else if ("output_modalities".equals(fieldName)) { + outputModalities + = reader.readArray(reader1 -> VoiceResponseBaseOutputModality.fromString(reader1.getString())); + } else if ("max_output_tokens".equals(fieldName)) { + maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("conversation_id".equals(fieldName)) { + conversationId = reader.getString(); + } else if ("output".equals(fieldName)) { + output = reader.readArray(reader1 -> RealtimeConversationItem.fromJson(reader1)); + } else if ("audio".equals(fieldName)) { + audio = VoiceResponseAudio.fromJson(reader); + } else if ("metadata".equals(fieldName)) { + metadata = reader.readMap(reader1 -> reader1.getString()); + } else if ("temperature".equals(fieldName)) { + temperature = reader.getNullable(JsonReader::getDouble); + } else if ("created_at".equals(fieldName)) { + createdAt = reader.getNullable(JsonReader::getLong); + } else if ("completed_at".equals(fieldName)) { + completedAt = reader.getNullable(JsonReader::getLong); + } else { + reader.skipChildren(); + } + } + VoiceResponse deserializedVoiceResponse = new VoiceResponse(id, conversationId); + deserializedVoiceResponse.object = object; + deserializedVoiceResponse.status = status; + deserializedVoiceResponse.statusDetails = statusDetails; + deserializedVoiceResponse.usage = usage; + deserializedVoiceResponse.outputModalities = outputModalities; + deserializedVoiceResponse.maxOutputTokens = maxOutputTokens; + deserializedVoiceResponse.output = output; + deserializedVoiceResponse.audio = audio; + deserializedVoiceResponse.metadata = metadata; + deserializedVoiceResponse.temperature = temperature; + deserializedVoiceResponse.createdAt = createdAt; + deserializedVoiceResponse.completedAt = completedAt; + return deserializedVoiceResponse; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java new file mode 100644 index 0000000000000..a1593bfd90b9f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudio.java @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Audio configuration for a response. Follows the OpenAI Realtime GA `audio` object shape. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceResponseAudio implements JsonSerializable { + + /* + * The audio output configuration used for the response. + */ + @Generated + private VoiceResponseAudioOutput output; + + /** + * Creates an instance of VoiceResponseAudio class. + */ + @Generated + private VoiceResponseAudio() { + } + + /** + * Get the output property: The audio output configuration used for the response. + * + * @return the output value. + */ + @Generated + public VoiceResponseAudioOutput getOutput() { + return this.output; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("output", this.output); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceResponseAudio from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceResponseAudio 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 VoiceResponseAudio. + */ + @Generated + public static VoiceResponseAudio fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceResponseAudio deserializedVoiceResponseAudio = new VoiceResponseAudio(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("output".equals(fieldName)) { + deserializedVoiceResponseAudio.output = VoiceResponseAudioOutput.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceResponseAudio; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java new file mode 100644 index 0000000000000..98e89e1d64d30 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseAudioOutput.java @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The flat response audio-output projection, with optional `voice`, `voice_type`, `voice_locale`, and `format` fields. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceResponseAudioOutput implements JsonSerializable { + + /* + * The voice name used for the response's audio output. + */ + @Generated + private String voice; + + /* + * The extensible provider/type of the voice used for the response's audio output. + */ + @Generated + private VoiceType voiceType; + + /* + * The BCP-47 locale of the voice used for the response's audio output. + */ + @Generated + private String voiceLocale; + + /* + * The audio format used for the response's audio output. + */ + @Generated + private RealtimeAudioFormats format; + + /** + * Creates an instance of VoiceResponseAudioOutput class. + */ + @Generated + private VoiceResponseAudioOutput() { + } + + /** + * Get the voice property: The voice name used for the response's audio output. + * + * @return the voice value. + */ + @Generated + public String getVoice() { + return this.voice; + } + + /** + * Get the voiceType property: The extensible provider/type of the voice used for the response's audio output. + * + * @return the voiceType value. + */ + @Generated + public VoiceType getVoiceType() { + return this.voiceType; + } + + /** + * Get the voiceLocale property: The BCP-47 locale of the voice used for the response's audio output. + * + * @return the voiceLocale value. + */ + @Generated + public String getVoiceLocale() { + return this.voiceLocale; + } + + /** + * Get the format property: The audio format used for the response's audio output. + * + * @return the format value. + */ + @Generated + public RealtimeAudioFormats getFormat() { + return this.format; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("voice", this.voice); + jsonWriter.writeStringField("voice_type", this.voiceType == null ? null : this.voiceType.toString()); + jsonWriter.writeStringField("voice_locale", this.voiceLocale); + jsonWriter.writeJsonField("format", this.format); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceResponseAudioOutput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceResponseAudioOutput 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 VoiceResponseAudioOutput. + */ + @Generated + public static VoiceResponseAudioOutput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceResponseAudioOutput deserializedVoiceResponseAudioOutput = new VoiceResponseAudioOutput(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("voice".equals(fieldName)) { + deserializedVoiceResponseAudioOutput.voice = reader.getString(); + } else if ("voice_type".equals(fieldName)) { + deserializedVoiceResponseAudioOutput.voiceType = VoiceType.fromString(reader.getString()); + } else if ("voice_locale".equals(fieldName)) { + deserializedVoiceResponseAudioOutput.voiceLocale = reader.getString(); + } else if ("format".equals(fieldName)) { + deserializedVoiceResponseAudioOutput.format = RealtimeAudioFormats.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceResponseAudioOutput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java new file mode 100644 index 0000000000000..c399adcb6ff72 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java @@ -0,0 +1,294 @@ +// 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.OpenAIJsonHelper; +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.core.util.BinaryData; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.RealtimeResponseStatus; +import com.openai.models.realtime.RealtimeResponseUsage; +import java.io.IOException; +import java.util.List; + +/** + * Properties shared by persisted voice responses. + */ +@Immutable +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public class VoiceResponseBase implements JsonSerializable { + + /* + * The object type, must be `realtime.response`. + */ + @Generated + private VoiceResponseBaseObject object; + + /* + * The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + */ + @Generated + private VoiceResponseBaseStatus status; + + /* + * Additional details about the status. + */ + @Generated + private RealtimeResponseStatus statusDetails; + + /* + * Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + */ + @Generated + private RealtimeResponseUsage usage; + + /* + * The set of modalities the model used to respond, currently the only possible values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + */ + @Generated + private List outputModalities; + + /* + * Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + */ + @Generated + private BinaryData maxOutputTokens; + + /** + * Creates an instance of VoiceResponseBase class. + */ + @Generated + protected VoiceResponseBase() { + } + + /** + * Get the object property: The object type, must be `realtime.response`. + * + * @return the object value. + */ + @Generated + public VoiceResponseBaseObject getObject() { + return this.object; + } + + /** + * Set the object property: The object type, must be `realtime.response`. + * + * @param object the object value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setObject(VoiceResponseBaseObject object) { + this.object = object; + return this; + } + + /** + * Get the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @return the status value. + */ + @Generated + public VoiceResponseBaseStatus getStatus() { + return this.status; + } + + /** + * Set the status property: The final status of the response (`completed`, `cancelled`, `failed`, or + * `incomplete`, `in_progress`). + * + * @param status the status value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setStatus(VoiceResponseBaseStatus status) { + this.status = status; + return this; + } + + /** + * Get the statusDetails property: Additional details about the status. + * + * @return the statusDetails value. + */ + @Generated + public RealtimeResponseStatus getStatusDetails() { + return this.statusDetails; + } + + /** + * Get the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @return the usage value. + */ + @Generated + public RealtimeResponseUsage getUsage() { + return this.usage; + } + + /** + * Set the usage property: Usage statistics for the Response, this will correspond to billing. A + * Realtime API session will maintain a conversation context and append new + * Items to the Conversation, thus output from previous turns (text and + * audio tokens) will become the input for later turns. + * + * @param usage the usage value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setUsage(RealtimeResponseUsage usage) { + this.usage = usage; + return this; + } + + /** + * Get the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @return the outputModalities value. + */ + @Generated + public List getOutputModalities() { + return this.outputModalities; + } + + /** + * Set the outputModalities property: The set of modalities the model used to respond, currently the only possible + * values are + * `[\"audio\"]`, `[\"text\"]`. Audio output always include a text transcript. Setting the + * output to mode `text` will disable audio output from the model. + * + * @param outputModalities the outputModalities value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setOutputModalities(List outputModalities) { + this.outputModalities = outputModalities; + return this; + } + + /** + * Get the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @return the maxOutputTokens value. + */ + @Generated + public BinaryData getMaxOutputTokens() { + return this.maxOutputTokens; + } + + /** + * Set the maxOutputTokens property: Maximum number of output tokens for a single assistant response, + * inclusive of tool calls, that was used in this response. + * + * @param maxOutputTokens the maxOutputTokens value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setMaxOutputTokens(BinaryData maxOutputTokens) { + this.maxOutputTokens = maxOutputTokens; + return this; + } + + /** + * {@inheritDoc} + */ + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("object", this.object == null ? null : this.object.toString()); + jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); + // AI Tooling: openai-java de-dup + if (this.statusDetails != null) { + jsonWriter.writeFieldName("status_details"); + OpenAIJsonHelper.toBinaryData(this.statusDetails).writeTo(jsonWriter); + } + if (this.usage != null) { + jsonWriter.writeFieldName("usage"); + OpenAIJsonHelper.toBinaryData(this.usage).writeTo(jsonWriter); + } + jsonWriter.writeArrayField("output_modalities", this.outputModalities, + (writer, element) -> writer.writeString(element == null ? null : element.toString())); + if (this.maxOutputTokens != null) { + jsonWriter.writeFieldName("max_output_tokens"); + this.maxOutputTokens.writeTo(jsonWriter); + } + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of VoiceResponseBase from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of VoiceResponseBase 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 VoiceResponseBase. + */ + public static VoiceResponseBase fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + VoiceResponseBase deserializedVoiceResponseBase = new VoiceResponseBase(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("object".equals(fieldName)) { + deserializedVoiceResponseBase.object = VoiceResponseBaseObject.fromString(reader.getString()); + } else if ("status".equals(fieldName)) { + deserializedVoiceResponseBase.status = VoiceResponseBaseStatus.fromString(reader.getString()); + } else if ("status_details".equals(fieldName)) { + // AI Tooling: openai-java de-dup + BinaryData statusDetailsData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceResponseBase.statusDetails + = OpenAIJsonHelper.fromBinaryData(statusDetailsData, RealtimeResponseStatus.class); + } else if ("usage".equals(fieldName)) { + BinaryData usageData + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + deserializedVoiceResponseBase.usage + = OpenAIJsonHelper.fromBinaryData(usageData, RealtimeResponseUsage.class); + } else if ("output_modalities".equals(fieldName)) { + List outputModalities + = reader.readArray(reader1 -> VoiceResponseBaseOutputModality.fromString(reader1.getString())); + deserializedVoiceResponseBase.outputModalities = outputModalities; + } else if ("max_output_tokens".equals(fieldName)) { + deserializedVoiceResponseBase.maxOutputTokens + = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())); + } else { + reader.skipChildren(); + } + } + return deserializedVoiceResponseBase; + }); + } + + /** + * Set the statusDetails property: Additional details about the status. + * + * @param statusDetails the statusDetails value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setStatusDetails(RealtimeResponseStatus statusDetails) { + this.statusDetails = statusDetails; + return this; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java new file mode 100644 index 0000000000000..012cc60d2df17 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.agents.models; + +/** + * Defines values for VoiceResponseBaseObject. + */ +public enum VoiceResponseBaseObject { + /** + * Enum value realtime.response. + */ + REALTIME_RESPONSE("realtime.response"); + + /** + * The actual serialized value for a VoiceResponseBaseObject instance. + */ + private final String value; + + VoiceResponseBaseObject(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceResponseBaseObject instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceResponseBaseObject object, or null if unable to parse. + */ + public static VoiceResponseBaseObject fromString(String value) { + if (value == null) { + return null; + } + VoiceResponseBaseObject[] items = VoiceResponseBaseObject.values(); + for (VoiceResponseBaseObject item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java new file mode 100644 index 0000000000000..714655bac4833 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java @@ -0,0 +1,51 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.agents.models; + +/** + * Defines values for VoiceResponseBaseObject1. + */ +public enum VoiceResponseBaseObject1 { + /** + * Enum value realtime.response. + */ + REALTIME_RESPONSE("realtime.response"); + + /** + * The actual serialized value for a VoiceResponseBaseObject1 instance. + */ + private final String value; + + VoiceResponseBaseObject1(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceResponseBaseObject1 instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceResponseBaseObject1 object, or null if unable to parse. + */ + public static VoiceResponseBaseObject1 fromString(String value) { + if (value == null) { + return null; + } + VoiceResponseBaseObject1[] items = VoiceResponseBaseObject1.values(); + for (VoiceResponseBaseObject1 item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java new file mode 100644 index 0000000000000..6b80eea349aed --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseOutputModality.java @@ -0,0 +1,56 @@ +// 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; + +/** + * Defines values for VoiceResponseBaseOutputModality. + */ +public enum VoiceResponseBaseOutputModality { + /** + * Enum value text. + */ + TEXT("text"), + + /** + * Enum value audio. + */ + AUDIO("audio"); + + /** + * The actual serialized value for a VoiceResponseBaseOutputModality instance. + */ + private final String value; + + VoiceResponseBaseOutputModality(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceResponseBaseOutputModality instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceResponseBaseOutputModality object, or null if unable to parse. + */ + public static VoiceResponseBaseOutputModality fromString(String value) { + if (value == null) { + return null; + } + VoiceResponseBaseOutputModality[] items = VoiceResponseBaseOutputModality.values(); + for (VoiceResponseBaseOutputModality item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java new file mode 100644 index 0000000000000..8f93d5bd5f504 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseStatus.java @@ -0,0 +1,71 @@ +// 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; + +/** + * Defines values for VoiceResponseBaseStatus. + */ +public enum VoiceResponseBaseStatus { + /** + * Enum value completed. + */ + COMPLETED("completed"), + + /** + * Enum value cancelled. + */ + CANCELLED("cancelled"), + + /** + * Enum value failed. + */ + FAILED("failed"), + + /** + * Enum value incomplete. + */ + INCOMPLETE("incomplete"), + + /** + * Enum value in_progress. + */ + IN_PROGRESS("in_progress"); + + /** + * The actual serialized value for a VoiceResponseBaseStatus instance. + */ + private final String value; + + VoiceResponseBaseStatus(String value) { + this.value = value; + } + + /** + * Parses a serialized value to a VoiceResponseBaseStatus instance. + * + * @param value the serialized value to parse. + * @return the parsed VoiceResponseBaseStatus object, or null if unable to parse. + */ + public static VoiceResponseBaseStatus fromString(String value) { + if (value == null) { + return null; + } + VoiceResponseBaseStatus[] items = VoiceResponseBaseStatus.values(); + for (VoiceResponseBaseStatus item : items) { + if (item.toString().equalsIgnoreCase(value)) { + return item; + } + } + return null; + } + + /** + * {@inheritDoc} + */ + @Override + public String toString() { + return this.value; + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceType.java new file mode 100644 index 0000000000000..935044f1077bb --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceType.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.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The voice implementation. Additional values may be added over time. + */ +@Beta(warningText = "Preview API. VoiceAgents=V1Preview") +public final class VoiceType extends ExpandableStringEnum { + + /** + * An OpenAI voice. + */ + @Generated + public static final VoiceType OPENAI = fromString("openai"); + + /** + * An Azure standard voice. + */ + @Generated + public static final VoiceType AZURE_STANDARD = fromString("azure-standard"); + + /** + * An Azure custom voice. + */ + @Generated + public static final VoiceType AZURE_CUSTOM = fromString("azure-custom"); + + /** + * An Azure personal voice. + */ + @Generated + public static final VoiceType AZURE_PERSONAL = fromString("azure-personal"); + + /** + * A voice synchronized with an avatar. + */ + @Generated + public static final VoiceType AVATAR_VOICE_SYNC = fromString("avatar-voice-sync"); + + /** + * An Azure native realtime voice. + */ + @Generated + public static final VoiceType AZURE_REALTIME_NATIVE = fromString("azure-realtime-native"); + + /** + * Creates a new instance of VoiceType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public VoiceType() { + } + + /** + * Creates or finds a VoiceType from its string representation. + * + * @param name a name to look for. + * @return the corresponding VoiceType. + */ + @Generated + public static VoiceType fromString(String name) { + return fromString(name, VoiceType.class); + } + + /** + * Gets known VoiceType values. + * + * @return known VoiceType values. + */ + @Generated + public static Collection values() { + return values(VoiceType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/module-info.java b/sdk/ai/azure-ai-agents/src/main/java/module-info.java index cc62b970db7c4..ef7e2a9cd86e2 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/module-info.java +++ b/sdk/ai/azure-ai-agents/src/main/java/module-info.java @@ -10,6 +10,6 @@ exports com.azure.ai.agents; exports com.azure.ai.agents.models; - opens com.azure.ai.agents.implementation.models to com.azure.core; opens com.azure.ai.agents.models to com.azure.core; + opens com.azure.ai.agents.implementation.models to com.azure.core; } 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 fbec542461695..ae1b4bcdc2553 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":"1aa98d019f37","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.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.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsAsyncClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","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.getAgentConversationItemGeneratedAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContent":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioContentWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudioContent","com.azure.ai.agents.BetaAgentEndpointConversationsClient.getAgentConversationItemGeneratedAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItemGeneratedAudio","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.BetaAgentTelephonyAsyncClient":"Azure.AI.Projects.Beta.AgentTelephony","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyAsyncClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient":"Azure.AI.Projects.Beta.AgentTelephony","com.azure.ai.agents.BetaAgentTelephonyClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaAgentTelephonyClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaAgentTelephonyClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaAgentTelephonyClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsAsyncClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsAsyncClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaAgentsAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaAgentsAsyncClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsAsyncClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsAsyncClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaAgentsAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","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.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaAgentsClient.generateAgent":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsClient.generateAgentWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaAgentsClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaAgentsClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaAgentsClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaAgentsClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaAgentsClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaAgentsClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.AgentHarness":"Azure.AI.Projects.AgentHarness","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AudioTranscription":"OpenAI.AudioTranscription","com.azure.ai.agents.models.AudioTranscriptionModel":"OpenAI.AudioTranscription.model.anonymous","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.BrowserAutomationTool":"Azure.AI.Projects.BrowserAutomationTool","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.BrowserAutomationToolboxTool":"Azure.AI.Projects.BrowserAutomationToolboxTool","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.CreateTeamsPhoneExtensionTelephonyBindingRequest":"Azure.AI.Projects.CreateTeamsPhoneExtensionTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyBindingRequest":"Azure.AI.Projects.CreateTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyCallJobRequest":"Azure.AI.Projects.CreateTelephonyCallJobRequest","com.azure.ai.agents.models.CreateTelephonyCampaignRequest":"Azure.AI.Projects.CreateTelephonyCampaignRequest","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsage":"OpenAI.CreateTranscriptionResponseJsonUsage","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsageType":"OpenAI.CreateTranscriptionResponseJsonUsageType","com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest":"Azure.AI.Projects.CreateTwilioTelephonyBindingRequest","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.FileInputDetail":"OpenAI.FileInputDetail","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.GitHubCopilotBuiltInTool":"Azure.AI.Projects.GitHubCopilotBuiltInTool","com.azure.ai.agents.models.GitHubCopilotHarness":"Azure.AI.Projects.GitHubCopilotHarness","com.azure.ai.agents.models.GitHubCopilotToolsetConfig":"Azure.AI.Projects.GitHubCopilotToolsetConfig","com.azure.ai.agents.models.GitHubCopilotToolsetDefaultConfig":"Azure.AI.Projects.GitHubCopilotToolsetDefaultConfig","com.azure.ai.agents.models.GitHubCopilotToolsetPreview":"Azure.AI.Projects.GitHubCopilotToolsetPreview","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.ImageDetail":"OpenAI.ImageDetail","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.ImportTelephonyCampaignRecipientsRequest":"Azure.AI.Projects.ImportTelephonyCampaignRecipientsRequest","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.InputFileContent":"OpenAI.InputFileContent","com.azure.ai.agents.models.InputImageContent":"OpenAI.InputImageContent","com.azure.ai.agents.models.InputTextContent":"OpenAI.InputTextContent","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.LogProbProperties":"OpenAI.LogProbProperties","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.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.NoiseReductionType":"OpenAI.NoiseReductionType","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.PickPropertiesVoiceAgentAudioConfig":"TypeSpec.PickProperties","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.Prompt":"OpenAI.Prompt","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.PromptCacheBreakpointConfig":"OpenAI.PromptCacheBreakpointConfig","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.PublishTelephonyCampaignRequest":"Azure.AI.Projects.PublishTelephonyCampaignRequest","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RaiInvocationContentType":"Azure.AI.Projects.RaiInvocationContentType","com.azure.ai.agents.models.RaiInvocationMode":"Azure.AI.Projects.RaiInvocationMode","com.azure.ai.agents.models.RaiInvocationModeration":"Azure.AI.Projects.RaiInvocationModeration","com.azure.ai.agents.models.RaiSseTextSelector":"Azure.AI.Projects.RaiSseTextSelector","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.RealtimeClientEvent":"OpenAI.RealtimeClientEvent","com.azure.ai.agents.models.RealtimeClientEventConversationItemCreate":"OpenAI.RealtimeClientEventConversationItemCreate","com.azure.ai.agents.models.RealtimeClientEventConversationItemDelete":"OpenAI.RealtimeClientEventConversationItemDelete","com.azure.ai.agents.models.RealtimeClientEventConversationItemRetrieve":"OpenAI.RealtimeClientEventConversationItemRetrieve","com.azure.ai.agents.models.RealtimeClientEventConversationItemTruncate":"OpenAI.RealtimeClientEventConversationItemTruncate","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferAppend":"OpenAI.RealtimeClientEventInputAudioBufferAppend","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferClear":"OpenAI.RealtimeClientEventInputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferCommit":"OpenAI.RealtimeClientEventInputAudioBufferCommit","com.azure.ai.agents.models.RealtimeClientEventOutputAudioBufferClear":"OpenAI.RealtimeClientEventOutputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventResponseCancel":"OpenAI.RealtimeClientEventResponseCancel","com.azure.ai.agents.models.RealtimeClientEventResponseCreate":"OpenAI.RealtimeClientEventResponseCreate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdate":"OpenAI.RealtimeClientEventSessionUpdate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionModel":"OpenAI.RealtimeClientEventSessionUpdate.session.model.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionOutputModality":"OpenAI.RealtimeClientEventSessionUpdate.session.output_modality.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation1":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventType":"OpenAI.RealtimeClientEventType","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.RealtimeConversationItemMessage":"OpenAI.RealtimeConversationItemMessage","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant":"OpenAI.RealtimeConversationItemMessageAssistant","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContent":"OpenAI.RealtimeConversationItemMessageAssistantContent","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContentType":"OpenAI.RealtimeConversationItemMessageAssistantContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantStatus":"OpenAI.RealtimeConversationItemMessageAssistant.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystem":"OpenAI.RealtimeConversationItemMessageSystem","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContent":"OpenAI.RealtimeConversationItemMessageSystemContent","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContentType":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemStatus":"OpenAI.RealtimeConversationItemMessageSystem.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageType":"OpenAI.RealtimeConversationItemMessageType","com.azure.ai.agents.models.RealtimeConversationItemMessageUser":"OpenAI.RealtimeConversationItemMessageUser","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContent":"OpenAI.RealtimeConversationItemMessageUserContent","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentDetail":"OpenAI.RealtimeConversationItemMessageUserContent.detail.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentType":"OpenAI.RealtimeConversationItemMessageUserContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserStatus":"OpenAI.RealtimeConversationItemMessageUser.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemObject":"RealtimeConversationItemObject","com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","com.azure.ai.agents.models.RealtimeFunctionTool":"OpenAI.RealtimeFunctionTool","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.RealtimeReasoning":"OpenAI.RealtimeReasoning","com.azure.ai.agents.models.RealtimeReasoningEffort":"OpenAI.RealtimeReasoningEffort","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.RealtimeServerEvent":"OpenAI.RealtimeServerEvent","com.azure.ai.agents.models.RealtimeServerEventConversationCreated":"OpenAI.RealtimeServerEventConversationCreated","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversation":"OpenAI.RealtimeServerEventConversationCreatedConversation","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversationObject":null,"com.azure.ai.agents.models.RealtimeServerEventConversationItemAdded":"OpenAI.RealtimeServerEventConversationItemAdded","com.azure.ai.agents.models.RealtimeServerEventConversationItemCreated":"OpenAI.RealtimeServerEventConversationItemCreated","com.azure.ai.agents.models.RealtimeServerEventConversationItemDeleted":"OpenAI.RealtimeServerEventConversationItemDeleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemDone":"OpenAI.RealtimeServerEventConversationItemDone","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionDelta":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionDelta","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailed":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailed","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionSegment":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionSegment","com.azure.ai.agents.models.RealtimeServerEventConversationItemRetrieved":"OpenAI.RealtimeServerEventConversationItemRetrieved","com.azure.ai.agents.models.RealtimeServerEventConversationItemTruncated":"OpenAI.RealtimeServerEventConversationItemTruncated","com.azure.ai.agents.models.RealtimeServerEventErrorError":"OpenAI.RealtimeServerEventErrorError","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCleared":"OpenAI.RealtimeServerEventInputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCommitted":"OpenAI.RealtimeServerEventInputAudioBufferCommitted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferDtmfEventReceived":"OpenAI.RealtimeServerEventInputAudioBufferDtmfEventReceived","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStarted":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStarted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStopped":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStopped","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferTimeoutTriggered":"OpenAI.RealtimeServerEventInputAudioBufferTimeoutTriggered","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsCompleted":"OpenAI.RealtimeServerEventMCPListToolsCompleted","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsFailed":"OpenAI.RealtimeServerEventMCPListToolsFailed","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsInProgress":"OpenAI.RealtimeServerEventMCPListToolsInProgress","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferCleared":"OpenAI.RealtimeServerEventOutputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStarted":"OpenAI.RealtimeServerEventOutputAudioBufferStarted","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStopped":"OpenAI.RealtimeServerEventOutputAudioBufferStopped","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdated":"OpenAI.RealtimeServerEventRateLimitsUpdated","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimits":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimitsName":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits.name.anonymous","com.azure.ai.agents.models.RealtimeServerEventRealtimeServerEventError":"OpenAI.RealtimeServerEventRealtimeServerEventError","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDelta":"OpenAI.RealtimeServerEventResponseAudioDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDone":"OpenAI.RealtimeServerEventResponseAudioDone","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDelta":"OpenAI.RealtimeServerEventResponseAudioTranscriptDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDone":"OpenAI.RealtimeServerEventResponseAudioTranscriptDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAdded":"OpenAI.RealtimeServerEventResponseContentPartAdded","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPart":"OpenAI.RealtimeServerEventResponseContentPartAddedPart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPartType":"OpenAI.RealtimeServerEventResponseContentPartAddedPart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDone":"OpenAI.RealtimeServerEventResponseContentPartDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePart":"OpenAI.RealtimeServerEventResponseContentPartDonePart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePartType":"OpenAI.RealtimeServerEventResponseContentPartDonePart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseCreated":"OpenAI.RealtimeServerEventResponseCreated","com.azure.ai.agents.models.RealtimeServerEventResponseDone":"OpenAI.RealtimeServerEventResponseDone","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDone":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDone":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallCompleted":"OpenAI.RealtimeServerEventResponseMCPCallCompleted","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallFailed":"OpenAI.RealtimeServerEventResponseMCPCallFailed","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallInProgress":"OpenAI.RealtimeServerEventResponseMCPCallInProgress","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemAdded":"OpenAI.RealtimeServerEventResponseOutputItemAdded","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemDone":"OpenAI.RealtimeServerEventResponseOutputItemDone","com.azure.ai.agents.models.RealtimeServerEventResponseTextDelta":"OpenAI.RealtimeServerEventResponseTextDelta","com.azure.ai.agents.models.RealtimeServerEventResponseTextDone":"OpenAI.RealtimeServerEventResponseTextDone","com.azure.ai.agents.models.RealtimeServerEventSessionCreated":"OpenAI.RealtimeServerEventSessionCreated","com.azure.ai.agents.models.RealtimeServerEventSessionUpdated":"OpenAI.RealtimeServerEventSessionUpdated","com.azure.ai.agents.models.RealtimeServerEventType":"OpenAI.RealtimeServerEventType","com.azure.ai.agents.models.RealtimeSessionCreateRequestGA":"OpenAI.RealtimeSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudio":"OpenAI.RealtimeSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInput":"OpenAI.RealtimeSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutput":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutputVoice":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput.voice.anonymous","com.azure.ai.agents.models.RealtimeSessionCreateRequestGATracing":"OpenAI.RealtimeSessionCreateRequestGATracing","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnion":"OpenAI.RealtimeSessionCreateRequestUnion","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnionType":"OpenAI.RealtimeSessionCreateRequestUnionType","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGA":"OpenAI.RealtimeTranscriptionSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudio":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInput":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeTurnDetection":"OpenAI.RealtimeTurnDetection","com.azure.ai.agents.models.RealtimeTurnDetectionSemanticVad":"OpenAI.RealtimeTurnDetectionSemanticVad","com.azure.ai.agents.models.RealtimeTurnDetectionServerVad":"OpenAI.RealtimeTurnDetectionServerVad","com.azure.ai.agents.models.RealtimeTurnDetectionType":"OpenAI.RealtimeTurnDetectionType","com.azure.ai.agents.models.ReminderPreviewToolboxTool":"Azure.AI.Projects.ReminderPreviewToolboxTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponsePromptVariables":"OpenAI.ResponsePromptVariables","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.RoutingConfiguration":"Azure.AI.Projects.RoutingConfiguration","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.SessionAffinityConfiguration":"Azure.AI.Projects.SessionAffinityConfiguration","com.azure.ai.agents.models.SessionAffinityDecision":"Azure.AI.Projects.SessionAffinityDecision","com.azure.ai.agents.models.SessionAffinityDetails":"Azure.AI.Projects.SessionAffinityDetails","com.azure.ai.agents.models.SessionAffinityMode":"Azure.AI.Projects.SessionAffinityMode","com.azure.ai.agents.models.SessionAffinityRequestMode":"Azure.AI.Projects.SessionAffinityRequestMode","com.azure.ai.agents.models.SessionAffinitySource":"Azure.AI.Projects.SessionAffinitySource","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.SkillReference":"Azure.AI.Projects.SkillReference","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.TeamsPhoneExtensionTelephonyBinding":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBinding","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.TelephonyBinding":"Azure.AI.Projects.TelephonyBinding","com.azure.ai.agents.models.TelephonyBindingListItem":"Azure.AI.Projects.TelephonyBindingListItem","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.TelephonyCallJob":"Azure.AI.Projects.TelephonyCallJob","com.azure.ai.agents.models.TelephonyCallJobCancellation":"Azure.AI.Projects.TelephonyCallJobCancellation","com.azure.ai.agents.models.TelephonyCallJobSchedule":"Azure.AI.Projects.TelephonyCallJobSchedule","com.azure.ai.agents.models.TelephonyCallJobStatus":"Azure.AI.Projects.TelephonyCallJobStatus","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.TelephonyCampaign":"Azure.AI.Projects.TelephonyCampaign","com.azure.ai.agents.models.TelephonyCampaignCallJobCounts":"Azure.AI.Projects.TelephonyCampaignCallJobCounts","com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus":"Azure.AI.Projects.TelephonyCampaignConfigurationStatus","com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling":"Azure.AI.Projects.TelephonyCampaignDuplicateHandling","com.azure.ai.agents.models.TelephonyCampaignExecutionStatus":"Azure.AI.Projects.TelephonyCampaignExecutionStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientImport":"Azure.AI.Projects.TelephonyCampaignRecipientImport","com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat":"Azure.AI.Projects.TelephonyCampaignRecipientImportFormat","com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource":"Azure.AI.Projects.TelephonyCampaignRecipientImportSource","com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus":"Azure.AI.Projects.TelephonyCampaignRecipientImportStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientMapping":"Azure.AI.Projects.TelephonyCampaignRecipientMapping","com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest":"Azure.AI.Projects.TelephonyCampaignRecipientMappingRequest","com.azure.ai.agents.models.TelephonyCampaignSchedule":"Azure.AI.Projects.TelephonyCampaignSchedule","com.azure.ai.agents.models.TelephonyCampaignScheduleType":"Azure.AI.Projects.TelephonyCampaignScheduleType","com.azure.ai.agents.models.TelephonyOperation":"Azure.AI.Projects.TelephonyOperation","com.azure.ai.agents.models.TelephonyOperationResource":"Azure.AI.Projects.TelephonyOperationResource","com.azure.ai.agents.models.TelephonyOperationStatus":"Azure.AI.Projects.TelephonyOperationStatus","com.azure.ai.agents.models.TelephonyOutboundDestination":"Azure.AI.Projects.TelephonyOutboundDestination","com.azure.ai.agents.models.TelephonyOutboundDestinationType":"Azure.AI.Projects.TelephonyOutboundDestinationType","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicy":"Azure.AI.Projects.TelephonyOutboundRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType":"Azure.AI.Projects.TelephonyOutboundRetryPolicyType","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferDestination":"Azure.AI.Projects.TelephonyTransferDestination","com.azure.ai.agents.models.TelephonyTransferDestinationKind":"Azure.AI.Projects.TelephonyTransferDestinationKind","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.TokenLimits":"OpenAI.TokenLimits","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.ToolChoiceOptions":"OpenAI.ToolChoiceOptions","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.ToolboxVersions":"Azure.AI.Projects.ToolboxVersions","com.azure.ai.agents.models.TranscriptTextUsageDuration":"OpenAI.TranscriptTextUsageDuration","com.azure.ai.agents.models.TranscriptTextUsageTokens":"OpenAI.TranscriptTextUsageTokens","com.azure.ai.agents.models.TranscriptTextUsageTokensInputTokenDetails":"OpenAI.TranscriptTextUsageTokensInputTokenDetails","com.azure.ai.agents.models.TranscriptionLanguage":"OpenAI.TranscriptionLanguage","com.azure.ai.agents.models.TwilioTelephonyBinding":"Azure.AI.Projects.TwilioTelephonyBinding","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.VoiceAgentAnimationConfig":"Azure.AI.Projects.VoiceAgentAnimationConfig","com.azure.ai.agents.models.VoiceAgentAnimationOutputType":"Azure.AI.Projects.VoiceAgentAnimationOutputType","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.VoiceAgentAvatarIceServer":"Azure.AI.Projects.VoiceAgentAvatarIceServer","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.VoiceAgentClientEventRtcCallSdpCreate":"Azure.AI.Projects.VoiceAgentClientEventRtcCallSdpCreate","com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect":"Azure.AI.Projects.VoiceAgentClientEventSessionAvatarConnect","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.VoiceAgentEndConversationSystemTool":"Azure.AI.Projects.VoiceAgentEndConversationSystemTool","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.VoiceAgentFunctionToolType":null,"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.VoiceAgentRealtimeResponse":"Azure.AI.Projects.VoiceAgentRealtimeResponse","com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase":"Azure.AI.Projects.VoiceAgentRealtimeResponseBase","com.azure.ai.agents.models.VoiceAgentResponseCreateParams":"Azure.AI.Projects.VoiceAgentResponseCreateParams","com.azure.ai.agents.models.VoiceAgentResponseCreateParamsConversation":"Azure.AI.Projects.VoiceAgentResponseCreateParams.conversation.anonymous","com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails":"Azure.AI.Projects.VoiceAgentRtcCallErrorDetails","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.VoiceAgentServerEventResponseAnimationBlendshapesDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseVideoDelta","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError":"Azure.AI.Projects.VoiceAgentServerEventRtcCallError","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated":"Azure.AI.Projects.VoiceAgentServerEventRtcCallSdpCreated","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarConnecting","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToIdle","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToSpeaking","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentAborted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentCompleted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentStarted","com.azure.ai.agents.models.VoiceAgentServerEventWarning":"Azure.AI.Projects.VoiceAgentServerEventWarning","com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails":"Azure.AI.Projects.VoiceAgentServerEventWarningDetails","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig":"Azure.AI.Projects.VoiceAgentSessionAvatarConfig","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentSessionResponseConfig":"Azure.AI.Projects.VoiceAgentSessionResponseConfig","com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig":"Azure.AI.Projects.VoiceAgentSessionUpdateConfig","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.VoiceAgentSubagentAbortReason":"Azure.AI.Projects.VoiceAgentSubagentAbortReason","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.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.VoiceAgentTranscriptionPhrase":"Azure.AI.Projects.VoiceAgentTranscriptionPhrase","com.azure.ai.agents.models.VoiceAgentTranscriptionWord":"Azure.AI.Projects.VoiceAgentTranscriptionWord","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.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.VoiceConversationEngine":"Azure.AI.Projects.VoiceConversationEngine","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.VoiceHostedAgentConversationEngine":"Azure.AI.Projects.VoiceHostedAgentConversationEngine","com.azure.ai.agents.models.VoiceIdsShared":"OpenAI.VoiceIdsShared","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.VoiceResponseBaseObject1":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/BetaAgentTelephonyAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentTelephonyClient.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentEndpointConversationsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentTelephoniesImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/GetMicrosoft365AppPackageRequest.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/PublishAgentToMicrosoft365Request.java","src/main/java/com/azure/ai/agents/implementation/models/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/AgentHarness.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AudioTranscription.java","src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.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/BrowserAutomationTool.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/BrowserAutomationToolboxTool.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/CreateTeamsPhoneExtensionTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java","src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.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/FileInputDetail.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/GitHubCopilotBuiltInTool.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.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/ImageDetail.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/ImportTelephonyCampaignRecipientsRequest.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/InputFileContent.java","src/main/java/com/azure/ai/agents/models/InputImageContent.java","src/main/java/com/azure/ai/agents/models/InputTextContent.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/LogProbProperties.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/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/NoiseReductionType.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/PickPropertiesVoiceAgentAudioConfig.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/Prompt.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/PromptCacheBreakpointConfig.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/PublishTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java","src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java","src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java","src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.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/RealtimeClientEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.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/RealtimeConversationItemMessage.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.java","src/main/java/com/azure/ai/agents/models/RealtimeFunctionTool.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/RealtimeReasoning.java","src/main/java/com/azure/ai/agents/models/RealtimeReasoningEffort.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/RealtimeServerEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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/ResponsePromptVariables.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/RoutingConfiguration.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/SessionAffinityConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java","src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinitySource.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/SkillReference.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/TeamsPhoneExtensionTelephonyBinding.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/TelephonyBinding.java","src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.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/TelephonyCallJob.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.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/TelephonyCampaign.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java","src/main/java/com/azure/ai/agents/models/TelephonyOperation.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.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/TokenLimits.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/ToolChoiceOptions.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/ToolboxVersions.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java","src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.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/VoiceAgentAnimationConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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/VoiceAgentAvatarIceServer.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/VoiceAgentClientEventRtcCallSdpCreate.java","src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.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/VoiceAgentEndConversationSystemTool.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/VoiceAgentFunctionToolType.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/VoiceAgentRealtimeResponse.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.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/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.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/VoiceAgentSubagentAbortReason.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/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/VoiceAgentTranscriptionPhrase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.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/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/VoiceConversationEngine.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/VoiceHostedAgentConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceIdsShared.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/VoiceResponseBaseObject1.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":"78a1ac27ad87","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.BetaVoiceAgentsConversationsAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.AgentHarness":"Azure.AI.Projects.AgentHarness","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AudioTranscription":"OpenAI.AudioTranscription","com.azure.ai.agents.models.AudioTranscriptionModel":"OpenAI.AudioTranscription.model.anonymous","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.CreateTeamsPhoneExtensionTelephonyBindingRequest":"Azure.AI.Projects.CreateTeamsPhoneExtensionTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyBindingRequest":"Azure.AI.Projects.CreateTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyCallJobRequest":"Azure.AI.Projects.CreateTelephonyCallJobRequest","com.azure.ai.agents.models.CreateTelephonyCampaignRequest":"Azure.AI.Projects.CreateTelephonyCampaignRequest","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsage":"OpenAI.CreateTranscriptionResponseJsonUsage","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsageType":"OpenAI.CreateTranscriptionResponseJsonUsageType","com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest":"Azure.AI.Projects.CreateTwilioTelephonyBindingRequest","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.GitHubCopilotBuiltInTool":"Azure.AI.Projects.GitHubCopilotBuiltInTool","com.azure.ai.agents.models.GitHubCopilotHarness":"Azure.AI.Projects.GitHubCopilotHarness","com.azure.ai.agents.models.GitHubCopilotToolsetConfig":"Azure.AI.Projects.GitHubCopilotToolsetConfig","com.azure.ai.agents.models.GitHubCopilotToolsetDefaultConfig":"Azure.AI.Projects.GitHubCopilotToolsetDefaultConfig","com.azure.ai.agents.models.GitHubCopilotToolsetPreview":"Azure.AI.Projects.GitHubCopilotToolsetPreview","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.ImportTelephonyCampaignRecipientsRequest":"Azure.AI.Projects.ImportTelephonyCampaignRecipientsRequest","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.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PSTNTelephonyTransferDestination":"Azure.AI.Projects.PSTNTelephonyTransferDestination","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.PickPropertiesVoiceAgentAudioConfig":"TypeSpec.PickProperties","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.PublishAgentToMicrosoft365Options":null,"com.azure.ai.agents.models.PublishApprovalStatus":"Azure.AI.Projects.PublishApprovalStatus","com.azure.ai.agents.models.PublishTelephonyCampaignRequest":"Azure.AI.Projects.PublishTelephonyCampaignRequest","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RaiInvocationContentType":"Azure.AI.Projects.RaiInvocationContentType","com.azure.ai.agents.models.RaiInvocationMode":"Azure.AI.Projects.RaiInvocationMode","com.azure.ai.agents.models.RaiInvocationModeration":"Azure.AI.Projects.RaiInvocationModeration","com.azure.ai.agents.models.RaiSseTextSelector":"Azure.AI.Projects.RaiSseTextSelector","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.RealtimeClientEvent":"OpenAI.RealtimeClientEvent","com.azure.ai.agents.models.RealtimeClientEventConversationItemCreate":"OpenAI.RealtimeClientEventConversationItemCreate","com.azure.ai.agents.models.RealtimeClientEventConversationItemDelete":"OpenAI.RealtimeClientEventConversationItemDelete","com.azure.ai.agents.models.RealtimeClientEventConversationItemRetrieve":"OpenAI.RealtimeClientEventConversationItemRetrieve","com.azure.ai.agents.models.RealtimeClientEventConversationItemTruncate":"OpenAI.RealtimeClientEventConversationItemTruncate","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferAppend":"OpenAI.RealtimeClientEventInputAudioBufferAppend","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferClear":"OpenAI.RealtimeClientEventInputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferCommit":"OpenAI.RealtimeClientEventInputAudioBufferCommit","com.azure.ai.agents.models.RealtimeClientEventOutputAudioBufferClear":"OpenAI.RealtimeClientEventOutputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventResponseCancel":"OpenAI.RealtimeClientEventResponseCancel","com.azure.ai.agents.models.RealtimeClientEventResponseCreate":"OpenAI.RealtimeClientEventResponseCreate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdate":"OpenAI.RealtimeClientEventSessionUpdate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionModel":"OpenAI.RealtimeClientEventSessionUpdate.session.model.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionOutputModality":"OpenAI.RealtimeClientEventSessionUpdate.session.output_modality.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation1":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventType":"OpenAI.RealtimeClientEventType","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.RealtimeConversationItemMessage":"OpenAI.RealtimeConversationItemMessage","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant":"OpenAI.RealtimeConversationItemMessageAssistant","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContent":"OpenAI.RealtimeConversationItemMessageAssistantContent","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContentType":"OpenAI.RealtimeConversationItemMessageAssistantContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantStatus":"OpenAI.RealtimeConversationItemMessageAssistant.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystem":"OpenAI.RealtimeConversationItemMessageSystem","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContent":"OpenAI.RealtimeConversationItemMessageSystemContent","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContentType":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemStatus":"OpenAI.RealtimeConversationItemMessageSystem.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageType":"OpenAI.RealtimeConversationItemMessageType","com.azure.ai.agents.models.RealtimeConversationItemMessageUser":"OpenAI.RealtimeConversationItemMessageUser","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContent":"OpenAI.RealtimeConversationItemMessageUserContent","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentDetail":"OpenAI.RealtimeConversationItemMessageUserContent.detail.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentType":"OpenAI.RealtimeConversationItemMessageUserContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserStatus":"OpenAI.RealtimeConversationItemMessageUser.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemObject":"RealtimeConversationItemObject","com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","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.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.RealtimeMcpHttpError":"OpenAI.RealtimeMCPHTTPError","com.azure.ai.agents.models.RealtimeServerEvent":"OpenAI.RealtimeServerEvent","com.azure.ai.agents.models.RealtimeServerEventConversationCreated":"OpenAI.RealtimeServerEventConversationCreated","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversation":"OpenAI.RealtimeServerEventConversationCreatedConversation","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversationObject":null,"com.azure.ai.agents.models.RealtimeServerEventConversationItemAdded":"OpenAI.RealtimeServerEventConversationItemAdded","com.azure.ai.agents.models.RealtimeServerEventConversationItemCreated":"OpenAI.RealtimeServerEventConversationItemCreated","com.azure.ai.agents.models.RealtimeServerEventConversationItemDeleted":"OpenAI.RealtimeServerEventConversationItemDeleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemDone":"OpenAI.RealtimeServerEventConversationItemDone","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionDelta":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionDelta","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailed":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailed","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionSegment":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionSegment","com.azure.ai.agents.models.RealtimeServerEventConversationItemRetrieved":"OpenAI.RealtimeServerEventConversationItemRetrieved","com.azure.ai.agents.models.RealtimeServerEventConversationItemTruncated":"OpenAI.RealtimeServerEventConversationItemTruncated","com.azure.ai.agents.models.RealtimeServerEventErrorError":"OpenAI.RealtimeServerEventErrorError","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCleared":"OpenAI.RealtimeServerEventInputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCommitted":"OpenAI.RealtimeServerEventInputAudioBufferCommitted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferDtmfEventReceived":"OpenAI.RealtimeServerEventInputAudioBufferDtmfEventReceived","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStarted":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStarted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStopped":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStopped","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferTimeoutTriggered":"OpenAI.RealtimeServerEventInputAudioBufferTimeoutTriggered","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsCompleted":"OpenAI.RealtimeServerEventMCPListToolsCompleted","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsFailed":"OpenAI.RealtimeServerEventMCPListToolsFailed","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsInProgress":"OpenAI.RealtimeServerEventMCPListToolsInProgress","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferCleared":"OpenAI.RealtimeServerEventOutputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStarted":"OpenAI.RealtimeServerEventOutputAudioBufferStarted","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStopped":"OpenAI.RealtimeServerEventOutputAudioBufferStopped","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdated":"OpenAI.RealtimeServerEventRateLimitsUpdated","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimits":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimitsName":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits.name.anonymous","com.azure.ai.agents.models.RealtimeServerEventRealtimeServerEventError":"OpenAI.RealtimeServerEventRealtimeServerEventError","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDelta":"OpenAI.RealtimeServerEventResponseAudioDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDone":"OpenAI.RealtimeServerEventResponseAudioDone","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDelta":"OpenAI.RealtimeServerEventResponseAudioTranscriptDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDone":"OpenAI.RealtimeServerEventResponseAudioTranscriptDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAdded":"OpenAI.RealtimeServerEventResponseContentPartAdded","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPart":"OpenAI.RealtimeServerEventResponseContentPartAddedPart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPartType":"OpenAI.RealtimeServerEventResponseContentPartAddedPart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDone":"OpenAI.RealtimeServerEventResponseContentPartDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePart":"OpenAI.RealtimeServerEventResponseContentPartDonePart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePartType":"OpenAI.RealtimeServerEventResponseContentPartDonePart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseCreated":"OpenAI.RealtimeServerEventResponseCreated","com.azure.ai.agents.models.RealtimeServerEventResponseDone":"OpenAI.RealtimeServerEventResponseDone","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDone":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDone":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallCompleted":"OpenAI.RealtimeServerEventResponseMCPCallCompleted","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallFailed":"OpenAI.RealtimeServerEventResponseMCPCallFailed","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallInProgress":"OpenAI.RealtimeServerEventResponseMCPCallInProgress","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemAdded":"OpenAI.RealtimeServerEventResponseOutputItemAdded","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemDone":"OpenAI.RealtimeServerEventResponseOutputItemDone","com.azure.ai.agents.models.RealtimeServerEventResponseTextDelta":"OpenAI.RealtimeServerEventResponseTextDelta","com.azure.ai.agents.models.RealtimeServerEventResponseTextDone":"OpenAI.RealtimeServerEventResponseTextDone","com.azure.ai.agents.models.RealtimeServerEventSessionCreated":"OpenAI.RealtimeServerEventSessionCreated","com.azure.ai.agents.models.RealtimeServerEventSessionUpdated":"OpenAI.RealtimeServerEventSessionUpdated","com.azure.ai.agents.models.RealtimeServerEventType":"OpenAI.RealtimeServerEventType","com.azure.ai.agents.models.RealtimeSessionCreateRequestGA":"OpenAI.RealtimeSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudio":"OpenAI.RealtimeSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInput":"OpenAI.RealtimeSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutput":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutputVoice":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput.voice.anonymous","com.azure.ai.agents.models.RealtimeSessionCreateRequestGATracing":"OpenAI.RealtimeSessionCreateRequestGATracing","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnion":"OpenAI.RealtimeSessionCreateRequestUnion","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnionType":"OpenAI.RealtimeSessionCreateRequestUnionType","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGA":"OpenAI.RealtimeTranscriptionSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudio":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInput":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeTurnDetection":"OpenAI.RealtimeTurnDetection","com.azure.ai.agents.models.RealtimeTurnDetectionSemanticVad":"OpenAI.RealtimeTurnDetectionSemanticVad","com.azure.ai.agents.models.RealtimeTurnDetectionServerVad":"OpenAI.RealtimeTurnDetectionServerVad","com.azure.ai.agents.models.RealtimeTurnDetectionType":"OpenAI.RealtimeTurnDetectionType","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.RoutingConfiguration":"Azure.AI.Projects.RoutingConfiguration","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.SessionAffinityConfiguration":"Azure.AI.Projects.SessionAffinityConfiguration","com.azure.ai.agents.models.SessionAffinityDecision":"Azure.AI.Projects.SessionAffinityDecision","com.azure.ai.agents.models.SessionAffinityDetails":"Azure.AI.Projects.SessionAffinityDetails","com.azure.ai.agents.models.SessionAffinityMode":"Azure.AI.Projects.SessionAffinityMode","com.azure.ai.agents.models.SessionAffinityRequestMode":"Azure.AI.Projects.SessionAffinityRequestMode","com.azure.ai.agents.models.SessionAffinitySource":"Azure.AI.Projects.SessionAffinitySource","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.SkillReference":"Azure.AI.Projects.SkillReference","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.TeamsPhoneExtensionTelephonyBinding":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBinding","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.TelephonyBinding":"Azure.AI.Projects.TelephonyBinding","com.azure.ai.agents.models.TelephonyBindingListItem":"Azure.AI.Projects.TelephonyBindingListItem","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.TelephonyCallEndReason":"Azure.AI.Projects.TelephonyCallEndReason","com.azure.ai.agents.models.TelephonyCallJob":"Azure.AI.Projects.TelephonyCallJob","com.azure.ai.agents.models.TelephonyCallJobCancellation":"Azure.AI.Projects.TelephonyCallJobCancellation","com.azure.ai.agents.models.TelephonyCallJobSchedule":"Azure.AI.Projects.TelephonyCallJobSchedule","com.azure.ai.agents.models.TelephonyCallJobStatus":"Azure.AI.Projects.TelephonyCallJobStatus","com.azure.ai.agents.models.TelephonyCallJobTerminalReason":"Azure.AI.Projects.TelephonyCallJobTerminalReason","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.TelephonyCallLifecycleEventReason":"Azure.AI.Projects.TelephonyCallLifecycleEventReason","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.TelephonyCampaign":"Azure.AI.Projects.TelephonyCampaign","com.azure.ai.agents.models.TelephonyCampaignCallJobCounts":"Azure.AI.Projects.TelephonyCampaignCallJobCounts","com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus":"Azure.AI.Projects.TelephonyCampaignConfigurationStatus","com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling":"Azure.AI.Projects.TelephonyCampaignDuplicateHandling","com.azure.ai.agents.models.TelephonyCampaignExecutionStatus":"Azure.AI.Projects.TelephonyCampaignExecutionStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientImport":"Azure.AI.Projects.TelephonyCampaignRecipientImport","com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat":"Azure.AI.Projects.TelephonyCampaignRecipientImportFormat","com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource":"Azure.AI.Projects.TelephonyCampaignRecipientImportSource","com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus":"Azure.AI.Projects.TelephonyCampaignRecipientImportStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientMapping":"Azure.AI.Projects.TelephonyCampaignRecipientMapping","com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest":"Azure.AI.Projects.TelephonyCampaignRecipientMappingRequest","com.azure.ai.agents.models.TelephonyCampaignSchedule":"Azure.AI.Projects.TelephonyCampaignSchedule","com.azure.ai.agents.models.TelephonyCampaignScheduleType":"Azure.AI.Projects.TelephonyCampaignScheduleType","com.azure.ai.agents.models.TelephonyOperation":"Azure.AI.Projects.TelephonyOperation","com.azure.ai.agents.models.TelephonyOperationResource":"Azure.AI.Projects.TelephonyOperationResource","com.azure.ai.agents.models.TelephonyOperationStatus":"Azure.AI.Projects.TelephonyOperationStatus","com.azure.ai.agents.models.TelephonyOutboundDestination":"Azure.AI.Projects.TelephonyOutboundDestination","com.azure.ai.agents.models.TelephonyOutboundDestinationType":"Azure.AI.Projects.TelephonyOutboundDestinationType","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicy":"Azure.AI.Projects.TelephonyOutboundRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType":"Azure.AI.Projects.TelephonyOutboundRetryPolicyType","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferDestination":"Azure.AI.Projects.TelephonyTransferDestination","com.azure.ai.agents.models.TelephonyTransferDestinationKind":"Azure.AI.Projects.TelephonyTransferDestinationKind","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.TokenLimits":"OpenAI.TokenLimits","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.ToolChoiceOptions":"OpenAI.ToolChoiceOptions","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.ToolboxVersions":"Azure.AI.Projects.ToolboxVersions","com.azure.ai.agents.models.TranscriptTextUsageDuration":"OpenAI.TranscriptTextUsageDuration","com.azure.ai.agents.models.TranscriptTextUsageTokens":"OpenAI.TranscriptTextUsageTokens","com.azure.ai.agents.models.TranscriptTextUsageTokensInputTokenDetails":"OpenAI.TranscriptTextUsageTokensInputTokenDetails","com.azure.ai.agents.models.TranscriptionLanguage":"OpenAI.TranscriptionLanguage","com.azure.ai.agents.models.TwilioTelephonyBinding":"Azure.AI.Projects.TwilioTelephonyBinding","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.VoiceAgentAnimationConfig":"Azure.AI.Projects.VoiceAgentAnimationConfig","com.azure.ai.agents.models.VoiceAgentAnimationOutputType":"Azure.AI.Projects.VoiceAgentAnimationOutputType","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.VoiceAgentAvatarIceServer":"Azure.AI.Projects.VoiceAgentAvatarIceServer","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.VoiceAgentClientEventRtcCallSdpCreate":"Azure.AI.Projects.VoiceAgentClientEventRtcCallSdpCreate","com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect":"Azure.AI.Projects.VoiceAgentClientEventSessionAvatarConnect","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.VoiceAgentEndConversationSystemTool":"Azure.AI.Projects.VoiceAgentEndConversationSystemTool","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.VoiceAgentFunctionToolType":null,"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.VoiceAgentRealtimeResponse":"Azure.AI.Projects.VoiceAgentRealtimeResponse","com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase":"Azure.AI.Projects.VoiceAgentRealtimeResponseBase","com.azure.ai.agents.models.VoiceAgentResponseCreateParams":"Azure.AI.Projects.VoiceAgentResponseCreateParams","com.azure.ai.agents.models.VoiceAgentResponseCreateParamsConversation":"Azure.AI.Projects.VoiceAgentResponseCreateParams.conversation.anonymous","com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails":"Azure.AI.Projects.VoiceAgentRtcCallErrorDetails","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.VoiceAgentServerEventResponseAnimationBlendshapesDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseVideoDelta","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError":"Azure.AI.Projects.VoiceAgentServerEventRtcCallError","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated":"Azure.AI.Projects.VoiceAgentServerEventRtcCallSdpCreated","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarConnecting","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToIdle","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToSpeaking","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentAborted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentCompleted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentStarted","com.azure.ai.agents.models.VoiceAgentServerEventWarning":"Azure.AI.Projects.VoiceAgentServerEventWarning","com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails":"Azure.AI.Projects.VoiceAgentServerEventWarningDetails","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig":"Azure.AI.Projects.VoiceAgentSessionAvatarConfig","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentSessionResponseConfig":"Azure.AI.Projects.VoiceAgentSessionResponseConfig","com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig":"Azure.AI.Projects.VoiceAgentSessionUpdateConfig","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.VoiceAgentSubagentAbortReason":"Azure.AI.Projects.VoiceAgentSubagentAbortReason","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.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.VoiceAgentTranscriptionPhrase":"Azure.AI.Projects.VoiceAgentTranscriptionPhrase","com.azure.ai.agents.models.VoiceAgentTranscriptionWord":"Azure.AI.Projects.VoiceAgentTranscriptionWord","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.VoiceAudioCodec":"Azure.AI.Projects.VoiceAudioCodec","com.azure.ai.agents.models.VoiceAudioContainerFormat":"Azure.AI.Projects.VoiceAudioContainerFormat","com.azure.ai.agents.models.VoiceAudioItemResponse":"Azure.AI.Projects.VoiceAudioItemResponse","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.VoiceConversationEngine":"Azure.AI.Projects.VoiceConversationEngine","com.azure.ai.agents.models.VoiceConversationStatus":"Azure.AI.Projects.VoiceConversationStatus","com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse":"Azure.AI.Projects.VoiceGeneratedAudioItemResponse","com.azure.ai.agents.models.VoiceHostedAgentConversationEngine":"Azure.AI.Projects.VoiceHostedAgentConversationEngine","com.azure.ai.agents.models.VoiceIdsShared":"OpenAI.VoiceIdsShared","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.VoiceResponseBaseObject1":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/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/BetaVoiceAgentsConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.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/AgentHarness.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AudioTranscription.java","src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.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/CreateTeamsPhoneExtensionTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java","src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.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/GitHubCopilotBuiltInTool.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.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/ImportTelephonyCampaignRecipientsRequest.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/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java","src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java","src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java","src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java","src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java","src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.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/RealtimeClientEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.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/RealtimeConversationItemMessage.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.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/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/RealtimeMcpHttpError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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/RoutingConfiguration.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/SessionAffinityConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java","src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinitySource.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/SkillReference.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/TeamsPhoneExtensionTelephonyBinding.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/TelephonyBinding.java","src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.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/TelephonyCallEndReason.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.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/TelephonyCallLifecycleEventReason.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/TelephonyCampaign.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java","src/main/java/com/azure/ai/agents/models/TelephonyOperation.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.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/TokenLimits.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/ToolChoiceOptions.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/ToolboxVersions.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java","src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.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/VoiceAgentAnimationConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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/VoiceAgentAvatarIceServer.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/VoiceAgentClientEventRtcCallSdpCreate.java","src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.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/VoiceAgentEndConversationSystemTool.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/VoiceAgentFunctionToolType.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/VoiceAgentRealtimeResponse.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.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/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.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/VoiceAgentSubagentAbortReason.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/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/VoiceAgentTranscriptionPhrase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.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/VoiceAudioCodec.java","src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java","src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.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/VoiceConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java","src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java","src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceIdsShared.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/VoiceResponseBaseObject1.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/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java index 331011f11b899..7578842f39907 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java @@ -51,12 +51,19 @@ public void allowPreviewAddsAreaSpecificHeaders() { builder.beta().buildBetaAgentsClient().getOptimizationJobWithResponse("job", new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); - builder.beta().buildBetaAgentsClient().getOptimizationJobWithResponse("job", new RequestOptions()); - assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); - builder.beta().buildBetaMemoryStoresClient().getMemoryStoreWithResponse("store", new RequestOptions()); assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + builder.beta() + .buildBetaVoiceAgentsTelephonyClient() + .getTelephonyCallJobWithResponse("agent", "call-job", new RequestOptions()); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + builder.beta() + .buildBetaVoiceAgentsConversationsClient() + .getAgentConversationWithResponse("agent", "conversation", new RequestOptions()); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + builder.buildAgentsClient() .createAgentVersionWithResponse("agent", BinaryData.fromString("{}"), new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); @@ -72,6 +79,43 @@ public void betaClientsAddAreaSpecificHeadersByDefault() { builder.beta().buildBetaMemoryStoresClient().getMemoryStoreWithResponse("store", new RequestOptions()); assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + builder.beta() + .buildBetaVoiceAgentsTelephonyClient() + .getTelephonyCallJobWithResponse("agent", "call-job", new RequestOptions()); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + builder.beta() + .buildBetaVoiceAgentsConversationsClient() + .getAgentConversationWithResponse("agent", "conversation", new RequestOptions()); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + } + + @Test + public void betaAsyncClientsAddAreaSpecificHeadersByDefault() { + RecordingHttpClient httpClient = new RecordingHttpClient(); + AgentsClientBuilder builder = createBuilder(httpClient); + + builder.beta().buildBetaAgentsAsyncClient().getOptimizationJobWithResponse("job", new RequestOptions()).block(); + assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); + + builder.beta() + .buildBetaMemoryStoresAsyncClient() + .getMemoryStoreWithResponse("store", new RequestOptions()) + .block(); + assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + builder.beta() + .buildBetaVoiceAgentsTelephonyAsyncClient() + .getTelephonyCallJobWithResponse("agent", "call-job", new RequestOptions()) + .block(); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + builder.beta() + .buildBetaVoiceAgentsConversationsAsyncClient() + .getAgentConversationWithResponse("agent", "conversation", new RequestOptions()) + .block(); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); } @Test @@ -79,9 +123,14 @@ public void betaHeaderDoesNotLeakToGaClientBuiltFromSameBuilder() { RecordingHttpClient httpClient = new RecordingHttpClient(); AgentsClientBuilder builder = createBuilder(httpClient); - // Beta clients temporarily add their required Foundry-Features policy while their pipeline is being built. - // The policy must not remain on the reusable builder, otherwise a later GA client built from the same builder - // would silently inherit a beta opt-in header despite allowPreview defaulting to false for GA clients. + builder.beta() + .buildBetaVoiceAgentsConversationsClient() + .getAgentConversationWithResponse("agent", "conversation", new RequestOptions()); + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + + // Each beta client adds its required Foundry-Features policy only to its resolved pipeline. The policy must not + // remain on the reusable builder, otherwise a later GA client would silently inherit a beta opt-in header + // despite allowPreview defaulting to false for GA clients. builder.buildAgentsClient() .createAgentVersionWithResponse("agent", BinaryData.fromString("{}"), new RequestOptions()); assertNull(foundryFeatures(httpClient)); @@ -138,6 +187,22 @@ public void betaClientWithCustomPipelineAddsFoundryHeaderAndPreservesPipeline() assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); assertEquals(CUSTOM_PIPELINE_VALUE, customPipelineHeader(httpClient)); assertEquals(originalPolicyCount, customPipeline.getPolicyCount()); + + createBuilder(customPipeline).beta() + .buildBetaVoiceAgentsTelephonyClient() + .getTelephonyCallJobWithResponse("agent", "call-job", new RequestOptions()); + + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + assertEquals(CUSTOM_PIPELINE_VALUE, customPipelineHeader(httpClient)); + assertEquals(originalPolicyCount, customPipeline.getPolicyCount()); + + createBuilder(customPipeline).beta() + .buildBetaVoiceAgentsConversationsClient() + .getAgentConversationWithResponse("agent", "conversation", new RequestOptions()); + + assertEquals(AgentDefinitionOptInKeys.VOICE_AGENTS_V1_PREVIEW.toString(), foundryFeatures(httpClient)); + assertEquals(CUSTOM_PIPELINE_VALUE, customPipelineHeader(httpClient)); + assertEquals(originalPolicyCount, customPipeline.getPolicyCount()); } @Test diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/RealtimeOpenAIDedupSerializationTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/RealtimeOpenAIDedupSerializationTests.java new file mode 100644 index 0000000000000..092482b49e662 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/models/RealtimeOpenAIDedupSerializationTests.java @@ -0,0 +1,281 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.ai.agents.models; + +import com.azure.json.JsonProviders; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonWriter; +import com.openai.models.realtime.LogProbProperties; +import com.openai.models.realtime.NoiseReductionType; +import com.openai.models.realtime.RealtimeReasoning; +import com.openai.models.realtime.RealtimeReasoningEffort; +import com.openai.models.realtime.RealtimeResponseStatus; +import com.openai.models.realtime.RealtimeResponseUsage; +import com.openai.models.responses.ResponsePrompt; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; +import static org.junit.jupiter.api.Assertions.assertNotNull; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class RealtimeOpenAIDedupSerializationTests { + + private static final String USAGE_JSON = "{\"total_tokens\":15,\"input_tokens\":10,\"output_tokens\":5," + + "\"input_token_details\":{\"text_tokens\":7,\"audio_tokens\":3}," + + "\"output_token_details\":{\"text_tokens\":4,\"audio_tokens\":1}}"; + + private static final String RESPONSE_FIELDS_JSON + = "{\"object\":\"realtime.response\"," + "\"status\":\"failed\",\"status_details\":{\"type\":\"failed\"," + + "\"reason\":\"content_filter\",\"error\":{\"type\":\"server_error\",\"code\":\"bad_request\"}}," + + "\"usage\":" + USAGE_JSON + "}"; + + @Test + public void testRealtimeReasoningAndPromptRoundTrip() throws IOException { + RealtimeReasoningEffort[] efforts = { + RealtimeReasoningEffort.MINIMAL, + RealtimeReasoningEffort.LOW, + RealtimeReasoningEffort.MEDIUM, + RealtimeReasoningEffort.HIGH, + RealtimeReasoningEffort.XHIGH }; + + for (RealtimeReasoningEffort effort : efforts) { + RealtimeReasoning reasoning = RealtimeReasoning.builder().effort(effort).build(); + ResponsePrompt prompt = ResponsePrompt.builder().id("pmpt_123").version("2").build(); + RealtimeSessionCreateRequestGA original = new RealtimeSessionCreateRequestGA().setInstructions("Be concise") + .setReasoning(reasoning) + .setPrompt(prompt); + + String json = serialize(original); + assertTrue(json.contains("\"effort\":\"" + effort.asString() + "\"")); + assertTrue(json.contains("\"prompt\":{\"id\":\"pmpt_123\"")); + + RealtimeSessionCreateRequestGA result; + try (JsonReader reader = JsonProviders.createReader(json)) { + result = RealtimeSessionCreateRequestGA.fromJson(reader); + } + + assertEquals(effort, result.getReasoning().effort().get()); + assertEquals("pmpt_123", result.getPrompt().id()); + assertEquals("2", result.getPrompt().version().get()); + assertEquals(json, serialize(result)); + } + } + + @Test + public void testAbsentRealtimeReasoningAndPromptRemainAbsent() throws IOException { + String json = serialize(new RealtimeSessionCreateRequestGA().setInstructions("No reasoning")); + + assertFalse(json.contains("\"reasoning\"")); + assertFalse(json.contains("\"prompt\"")); + } + + @Test + public void testRealtimeReasoningAcrossVoiceSessionModels() throws IOException { + String input = "{\"reasoning\":{\"effort\":\"high\"}}"; + + VoiceAgentResponseCreateParams createParams; + VoiceAgentSessionUpdateConfig updateConfig; + VoiceAgentSessionResponseConfig responseConfig; + try (JsonReader reader = JsonProviders.createReader(input)) { + createParams = VoiceAgentResponseCreateParams.fromJson(reader); + } + try (JsonReader reader = JsonProviders.createReader(input)) { + updateConfig = VoiceAgentSessionUpdateConfig.fromJson(reader); + } + try (JsonReader reader = JsonProviders.createReader(input)) { + responseConfig = VoiceAgentSessionResponseConfig.fromJson(reader); + } + + assertReasoningRoundTrip(createParams.getReasoning(), serialize(createParams)); + assertReasoningRoundTrip(updateConfig.getReasoning(), serialize(updateConfig)); + assertReasoningRoundTrip(responseConfig.getReasoning(), serialize(responseConfig)); + } + + @Test + public void testNoiseReductionEnumRoundTrip() throws IOException { + NoiseReductionType[] types = { NoiseReductionType.NEAR_FIELD, NoiseReductionType.FAR_FIELD }; + + for (NoiseReductionType type : types) { + RealtimeSessionCreateRequestGAAudioInputNoiseReduction realtime + = new RealtimeSessionCreateRequestGAAudioInputNoiseReduction().setType(type); + RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction transcription + = new RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction().setType(type); + + String realtimeJson = serialize(realtime); + String transcriptionJson = serialize(transcription); + assertEquals("{\"type\":\"" + type.asString() + "\"}", realtimeJson); + assertEquals(realtimeJson, transcriptionJson); + + try (JsonReader reader = JsonProviders.createReader(realtimeJson)) { + assertEquals(type, RealtimeSessionCreateRequestGAAudioInputNoiseReduction.fromJson(reader).getType()); + } + try (JsonReader reader = JsonProviders.createReader(transcriptionJson)) { + assertEquals(type, + RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.fromJson(reader).getType()); + } + } + } + + @Test + public void testLogProbsRoundTripThroughPolymorphicServerEvent() throws IOException { + String input = "{\"type\":\"conversation.item.input_audio_transcription.delta\"," + + "\"event_id\":\"evt_1\",\"item_id\":\"item_1\",\"content_index\":0,\"delta\":\"hello\"," + + "\"logprobs\":[{\"token\":\"hello\",\"logprob\":-0.25,\"bytes\":[104,101]}]}"; + + RealtimeServerEvent event; + try (JsonReader reader = JsonProviders.createReader(input)) { + event = RealtimeServerEvent.fromJson(reader); + } + + RealtimeServerEventConversationItemInputAudioTranscriptionDelta delta + = assertInstanceOf(RealtimeServerEventConversationItemInputAudioTranscriptionDelta.class, event); + LogProbProperties logProb = delta.getLogprobs().get(0); + assertEquals("hello", logProb.token()); + assertEquals(-0.25, logProb.logprob()); + assertEquals(2, logProb.bytes().size()); + + String json = serialize(delta); + RealtimeServerEvent reparsed; + try (JsonReader reader = JsonProviders.createReader(json)) { + reparsed = RealtimeServerEvent.fromJson(reader); + } + assertEquals(json, serialize( + assertInstanceOf(RealtimeServerEventConversationItemInputAudioTranscriptionDelta.class, reparsed))); + } + + @Test + public void testStatusAndUsageRoundTripThroughPolymorphicServerEvent() throws IOException { + String input = "{\"type\":\"response.done\",\"event_id\":\"evt_2\",\"response\":{\"id\":\"resp_1\"," + + RESPONSE_FIELDS_JSON.substring(1) + "}"; + + RealtimeServerEvent event; + try (JsonReader reader = JsonProviders.createReader(input)) { + event = RealtimeServerEvent.fromJson(reader); + } + + RealtimeServerEventResponseDone done = assertInstanceOf(RealtimeServerEventResponseDone.class, event); + assertResponseFields(done.getResponse().getStatusDetails(), done.getResponse().getUsage()); + + String json = serialize(done); + RealtimeServerEvent reparsed; + try (JsonReader reader = JsonProviders.createReader(json)) { + reparsed = RealtimeServerEvent.fromJson(reader); + } + RealtimeServerEventResponseDone reparsedDone + = assertInstanceOf(RealtimeServerEventResponseDone.class, reparsed); + assertResponseFields(reparsedDone.getResponse().getStatusDetails(), reparsedDone.getResponse().getUsage()); + assertEquals(json, serialize(reparsedDone)); + } + + @Test + public void testStatusAndUsageAcrossVoiceResponseModels() throws IOException { + VoiceResponseBase responseBase; + VoiceAgentRealtimeResponseBase realtimeResponseBase; + VoiceAgentRealtimeResponse realtimeResponse; + VoiceResponse response; + VoiceConversation conversation; + + try (JsonReader reader = JsonProviders.createReader(RESPONSE_FIELDS_JSON)) { + responseBase = VoiceResponseBase.fromJson(reader); + } + try ( + JsonReader reader = JsonProviders.createReader("{\"id\":\"resp_1\"," + RESPONSE_FIELDS_JSON.substring(1))) { + realtimeResponseBase = VoiceAgentRealtimeResponseBase.fromJson(reader); + } + try ( + JsonReader reader = JsonProviders.createReader("{\"id\":\"resp_1\"," + RESPONSE_FIELDS_JSON.substring(1))) { + realtimeResponse = VoiceAgentRealtimeResponse.fromJson(reader); + } + try ( + JsonReader reader = JsonProviders.createReader("{\"id\":\"resp_1\"," + RESPONSE_FIELDS_JSON.substring(1))) { + response = VoiceResponse.fromJson(reader); + } + try (JsonReader reader = JsonProviders.createReader( + "{\"id\":\"conv_1\",\"status\":\"completed\"," + "\"created_at\":1,\"usage\":" + USAGE_JSON + "}")) { + conversation = VoiceConversation.fromJson(reader); + } + + assertResponseFields(responseBase.getStatusDetails(), responseBase.getUsage()); + assertResponseFields(realtimeResponseBase.getStatusDetails(), realtimeResponseBase.getUsage()); + assertResponseFields(realtimeResponse.getStatusDetails(), realtimeResponse.getUsage()); + assertResponseFields(response.getStatusDetails(), response.getUsage()); + assertUsage(conversation.getUsage()); + + assertStable(responseBase, VoiceResponseBase::fromJson); + assertStable(realtimeResponseBase, VoiceAgentRealtimeResponseBase::fromJson); + assertStable(realtimeResponse, VoiceAgentRealtimeResponse::fromJson); + assertStable(response, VoiceResponse::fromJson); + assertStable(conversation, VoiceConversation::fromJson); + } + + @Test + public void testAbsentStatusAndUsageRemainAbsent() throws IOException { + VoiceAgentRealtimeResponseBase response; + try (JsonReader reader = JsonProviders.createReader("{\"id\":\"resp_1\"}")) { + response = VoiceAgentRealtimeResponseBase.fromJson(reader); + } + + assertNull(response.getStatusDetails()); + assertNull(response.getUsage()); + String json = serialize(response); + assertFalse(json.contains("\"status_details\"")); + assertFalse(json.contains("\"usage\"")); + } + + private static void assertReasoningRoundTrip(RealtimeReasoning reasoning, String serialized) { + assertNotNull(reasoning); + assertEquals(RealtimeReasoningEffort.HIGH, reasoning.effort().get()); + assertTrue(serialized.contains("\"reasoning\":{\"effort\":\"high\"}"), serialized); + } + + private static void assertResponseFields(RealtimeResponseStatus status, RealtimeResponseUsage usage) { + assertNotNull(status); + assertEquals(RealtimeResponseStatus.Type.FAILED, status.type().get()); + assertEquals(RealtimeResponseStatus.Reason.CONTENT_FILTER, status.reason().get()); + assertEquals("server_error", status.error().get().type().get()); + assertEquals("bad_request", status.error().get().code().get()); + assertUsage(usage); + } + + private static void assertUsage(RealtimeResponseUsage usage) { + assertNotNull(usage); + assertEquals(15L, usage.totalTokens().get()); + assertEquals(10L, usage.inputTokens().get()); + assertEquals(5L, usage.outputTokens().get()); + assertEquals(7L, usage.inputTokenDetails().get().textTokens().get()); + assertEquals(3L, usage.inputTokenDetails().get().audioTokens().get()); + assertEquals(4L, usage.outputTokenDetails().get().textTokens().get()); + assertEquals(1L, usage.outputTokenDetails().get().audioTokens().get()); + } + + private static > void assertStable(T value, Deserializer deserializer) + throws IOException { + String json = serialize(value); + T result; + try (JsonReader reader = JsonProviders.createReader(json)) { + result = deserializer.deserialize(reader); + } + assertEquals(json, serialize(result)); + } + + private static String serialize(JsonSerializable value) throws IOException { + ByteArrayOutputStream output = new ByteArrayOutputStream(); + try (JsonWriter writer = JsonProviders.createWriter(output)) { + value.toJson(writer); + } + return new String(output.toByteArray(), StandardCharsets.UTF_8); + } + + @FunctionalInterface + private interface Deserializer { + T deserialize(JsonReader reader) throws IOException; + } +} diff --git a/sdk/ai/azure-ai-agents/tsp-location.yaml b/sdk/ai/azure-ai-agents/tsp-location.yaml index 0fec7c5973486..341a89ffbffb6 100644 --- a/sdk/ai/azure-ai-agents/tsp-location.yaml +++ b/sdk/ai/azure-ai-agents/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-agents -commit: 54d7fde47589d8a2ea9ca710a64e895e3f61e46d +commit: 96dc35d7b34f57fafb8fea1f636f9c3072a7042b repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents From 0f5adc54972c1123d8d910323a988564b45b1d2b Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 17:27:20 -0700 Subject: [PATCH 09/15] update cspell --- sdk/ai/cspell.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/ai/cspell.yml b/sdk/ai/cspell.yml index 0a86c3f508fae..7d5a13e2cb1ed 100644 --- a/sdk/ai/cspell.yml +++ b/sdk/ai/cspell.yml @@ -16,8 +16,11 @@ words: - "gitmcp" - "pcma" - "pcmu" + - "pstn" - "sixx" - "ubinary" + - "uhhm" - "upia" + - "viseme" - "webrtc" - "xhigh" From 434a4ca2c45e3713e6a5d799442b95fada41b01e Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 17:29:12 -0700 Subject: [PATCH 10/15] update builder links --- .../main/java/com/azure/ai/agents/AgentsClientBuilder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java index 8f3e7f338e08e..76589568267b1 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java @@ -537,8 +537,8 @@ public AgentsClient buildAgentsClient() { * policies, retry settings, logging options, client options, and service version. Use this method * when you want to build a client whose type is prefixed with {@code Beta}, such as {@link BetaAgentsClient}, * {@link BetaAgentsAsyncClient}, {@link BetaMemoryStoresClient}, {@link BetaMemoryStoresAsyncClient}, - * {@link BetaAgentTelephonyClient}, {@link BetaAgentTelephonyAsyncClient}, - * {@link BetaAgentEndpointConversationsClient}, or {@link BetaAgentEndpointConversationsAsyncClient}. + * {@link BetaVoiceAgentsTelephonyClient}, {@link BetaVoiceAgentsTelephonyAsyncClient}, + * {@link BetaVoiceAgentsConversationsClient}, or {@link BetaVoiceAgentsConversationsAsyncClient}. *

* Clients created by this sub-builder automatically opt in to the preview service area they target by adding the * required {@code Foundry-Features} header. Calling {@link #allowPreview(boolean)} is not required for these From d9c8a39349a956381b4d65c1f438aacc2703c3b8 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 18:00:08 -0700 Subject: [PATCH 11/15] update pom with local revapi config --- sdk/ai/azure-ai-agents/pom.xml | 15 +++++++++++++++ sdk/ai/azure-ai-projects/pom.xml | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/sdk/ai/azure-ai-agents/pom.xml b/sdk/ai/azure-ai-agents/pom.xml index 1a82aa412c12a..282157c69caf1 100644 --- a/sdk/ai/azure-ai-agents/pom.xml +++ b/sdk/ai/azure-ai-agents/pom.xml @@ -112,6 +112,21 @@ + + org.revapi + revapi-maven-plugin + 0.15.1 + + + + + class-and-package-tree-filter-provider + revapi.filter + + + + + diff --git a/sdk/ai/azure-ai-projects/pom.xml b/sdk/ai/azure-ai-projects/pom.xml index 6162aa59c03cd..9da15c2fa56a5 100644 --- a/sdk/ai/azure-ai-projects/pom.xml +++ b/sdk/ai/azure-ai-projects/pom.xml @@ -113,6 +113,21 @@ Code generated by Microsoft (R) TypeSpec Code Generator. + + org.revapi + revapi-maven-plugin + 0.15.1 + + + + + class-and-package-tree-filter-provider + revapi.filter + + + + + From 172ac074d460b53cb83c2fdc9b008d2819178bdb Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 18:24:54 -0700 Subject: [PATCH 12/15] simplify pom config --- sdk/ai/azure-ai-agents/pom.xml | 6 ++---- sdk/ai/azure-ai-projects/pom.xml | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/sdk/ai/azure-ai-agents/pom.xml b/sdk/ai/azure-ai-agents/pom.xml index 282157c69caf1..4f0b0a081fe1f 100644 --- a/sdk/ai/azure-ai-agents/pom.xml +++ b/sdk/ai/azure-ai-agents/pom.xml @@ -115,12 +115,10 @@ org.revapi revapi-maven-plugin - 0.15.1 - + - - class-and-package-tree-filter-provider + revapi.filter diff --git a/sdk/ai/azure-ai-projects/pom.xml b/sdk/ai/azure-ai-projects/pom.xml index 9da15c2fa56a5..fca69b4dda8b3 100644 --- a/sdk/ai/azure-ai-projects/pom.xml +++ b/sdk/ai/azure-ai-projects/pom.xml @@ -116,12 +116,10 @@ Code generated by Microsoft (R) TypeSpec Code Generator. org.revapi revapi-maven-plugin - 0.15.1 - + - - class-and-package-tree-filter-provider + revapi.filter From 39233ca90bdde751a29c89ed299262ca29d65ddf Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 18:31:53 -0700 Subject: [PATCH 13/15] renames --- .../customizations/beta-annotations.csv | 10 ++-- ... => PstnTelephonyTransferDestination.java} | 22 ++++---- ...pdateSessionTruncationRetentionRatio.java} | 33 ++++++------ .../models/RealtimeConversationItem.java | 8 +-- ...t.java => RealtimeMcpApprovalRequest.java} | 26 +++++----- ....java => RealtimeMcpApprovalResponse.java} | 32 ++++++------ ...imeMCPError.java => RealtimeMcpError.java} | 30 +++++------ .../agents/models/RealtimeMcpHttpError.java | 2 +- ...stTools.java => RealtimeMcpListTools.java} | 30 +++++------ ...ror.java => RealtimeMcpProtocolError.java} | 20 +++---- ...ToolCall.java => RealtimeMcpToolCall.java} | 52 +++++++++---------- ...ava => RealtimeMcpToolExecutionError.java} | 22 ++++---- ...r.java => RealtimeServerErrorDetails.java} | 30 +++++------ .../ai/agents/models/RealtimeServerEvent.java | 18 +++---- ...ror.java => RealtimeServerEventError.java} | 32 ++++++------ ...timeServerEventMcpListToolsCompleted.java} | 22 ++++---- ...ealtimeServerEventMcpListToolsFailed.java} | 22 ++++---- ...imeServerEventMcpListToolsInProgress.java} | 22 ++++---- ...erEventResponseMcpCallArgumentsDelta.java} | 24 ++++----- ...verEventResponseMcpCallArgumentsDone.java} | 22 ++++---- ...eServerEventResponseMcpCallCompleted.java} | 22 ++++---- ...timeServerEventResponseMcpCallFailed.java} | 22 ++++---- ...ServerEventResponseMcpCallInProgress.java} | 22 ++++---- .../RealtimeSessionCreateRequestGA.java | 24 ++++----- .../models/TelephonyTransferDestination.java | 2 +- ...{ToolChoiceMCP.java => ToolChoiceMcp.java} | 26 +++++----- .../ai/agents/models/ToolChoiceParam.java | 2 +- .../models/VoiceAgentRealtimeResponse.java | 6 +-- .../VoiceAgentRealtimeResponseBase.java | 32 ++++++------ ...ava => VoiceAgentResponseAudioConfig.java} | 30 +++++------ .../VoiceAgentResponseCreateParams.java | 9 ++-- .../ai/agents/models/VoiceResponseBase.java | 24 ++++----- .../models/VoiceResponseBaseObject1.java | 51 ------------------ .../META-INF/azure-ai-agents_metadata.json | 2 +- sdk/ai/azure-ai-agents/tsp-location.yaml | 2 +- 35 files changed, 351 insertions(+), 404 deletions(-) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{PSTNTelephonyTransferDestination.java => PstnTelephonyTransferDestination.java} (81%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeClientEventSessionUpdateSessionTruncation1.java => RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.java} (77%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPApprovalRequest.java => RealtimeMcpApprovalRequest.java} (88%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPApprovalResponse.java => RealtimeMcpApprovalResponse.java} (86%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPError.java => RealtimeMcpError.java} (79%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPListTools.java => RealtimeMcpListTools.java} (85%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPProtocolError.java => RealtimeMcpProtocolError.java} (83%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPToolCall.java => RealtimeMcpToolCall.java} (84%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeMCPToolExecutionError.java => RealtimeMcpToolExecutionError.java} (79%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventErrorError.java => RealtimeServerErrorDetails.java} (77%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventRealtimeServerEventError.java => RealtimeServerEventError.java} (70%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventMCPListToolsCompleted.java => RealtimeServerEventMcpListToolsCompleted.java} (82%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventMCPListToolsFailed.java => RealtimeServerEventMcpListToolsFailed.java} (82%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventMCPListToolsInProgress.java => RealtimeServerEventMcpListToolsInProgress.java} (82%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventResponseMCPCallArgumentsDelta.java => RealtimeServerEventResponseMcpCallArgumentsDelta.java} (88%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventResponseMCPCallArgumentsDone.java => RealtimeServerEventResponseMcpCallArgumentsDone.java} (88%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventResponseMCPCallCompleted.java => RealtimeServerEventResponseMcpCallCompleted.java} (85%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventResponseMCPCallFailed.java => RealtimeServerEventResponseMcpCallFailed.java} (85%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{RealtimeServerEventResponseMCPCallInProgress.java => RealtimeServerEventResponseMcpCallInProgress.java} (85%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{ToolChoiceMCP.java => ToolChoiceMcp.java} (83%) rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{PickPropertiesVoiceAgentAudioConfig.java => VoiceAgentResponseAudioConfig.java} (62%) delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java diff --git a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv index ad8a2df37a545..db8c94df1984a 100644 --- a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv +++ b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv @@ -85,7 +85,7 @@ class;com.azure.ai.agents.models.ProceduralMemoryItem;Preview API. MemoryStores= class;com.azure.ai.agents.models.PromotionInfo;Preview API. AgentsOptimization=V2Preview; field;com.azure.ai.agents.models.PromptAgentDefinition;Preview API. GitHubCopilot=V1Preview;harness field;com.azure.ai.agents.models.PromptAgentDefinition;Preview API. Skills=V1Preview;skills -class;com.azure.ai.agents.models.PSTNTelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.PstnTelephonyTransferDestination;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.PublishTelephonyCampaignRequest;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.RealtimeConversationItem;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.RealtimeConversationItemFunctionCall;Preview API. VoiceAgents=V1Preview; @@ -94,10 +94,10 @@ class;com.azure.ai.agents.models.RealtimeConversationItemMessage;Preview API. Vo class;com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.RealtimeConversationItemMessageSystem;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.RealtimeConversationItemMessageUser;Preview API. VoiceAgents=V1Preview; -class;com.azure.ai.agents.models.RealtimeMCPApprovalRequest;Preview API. VoiceAgents=V1Preview; -class;com.azure.ai.agents.models.RealtimeMCPApprovalResponse;Preview API. VoiceAgents=V1Preview; -class;com.azure.ai.agents.models.RealtimeMCPListTools;Preview API. VoiceAgents=V1Preview; -class;com.azure.ai.agents.models.RealtimeMCPToolCall;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMcpApprovalRequest;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMcpApprovalResponse;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMcpListTools;Preview API. VoiceAgents=V1Preview; +class;com.azure.ai.agents.models.RealtimeMcpToolCall;Preview API. VoiceAgents=V1Preview; class;com.azure.ai.agents.models.ReminderPreviewToolboxTool;Preview API. preview_tool; field;com.azure.ai.agents.models.Response;Preview API. ModelRouterControls=V1Preview;model_selection_details field;com.azure.ai.agents.models.RoutingConfiguration;Preview API. ModelRouterControls=V1Preview;session_affinity 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 similarity index 81% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PstnTelephonyTransferDestination.java index 5502a6e90afde..e64155a59ee54 100644 --- 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 @@ -16,7 +16,7 @@ */ @Immutable @Beta(warningText = "Preview API. VoiceAgents=V1Preview") -public final class PSTNTelephonyTransferDestination extends TelephonyTransferDestination { +public final class PstnTelephonyTransferDestination extends TelephonyTransferDestination { /* * The telephony transfer destination type. @@ -31,12 +31,12 @@ public final class PSTNTelephonyTransferDestination extends TelephonyTransferDes private final String value; /** - * Creates an instance of PSTNTelephonyTransferDestination class. + * Creates an instance of PstnTelephonyTransferDestination class. * * @param value the value value to set. */ @Generated - public PSTNTelephonyTransferDestination(String value) { + public PstnTelephonyTransferDestination(String value) { this.value = value; } @@ -74,16 +74,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of PSTNTelephonyTransferDestination from the JsonReader. + * 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 + * @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. + * @throws IOException If an error occurs while reading the PstnTelephonyTransferDestination. */ @Generated - public static PSTNTelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException { + public static PstnTelephonyTransferDestination fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String value = null; TelephonyTransferDestinationKind kind = TelephonyTransferDestinationKind.PSTN; @@ -98,10 +98,10 @@ public static PSTNTelephonyTransferDestination fromJson(JsonReader jsonReader) t reader.skipChildren(); } } - PSTNTelephonyTransferDestination deserializedPSTNTelephonyTransferDestination - = new PSTNTelephonyTransferDestination(value); - deserializedPSTNTelephonyTransferDestination.kind = kind; - return deserializedPSTNTelephonyTransferDestination; + PstnTelephonyTransferDestination deserializedPstnTelephonyTransferDestination + = new PstnTelephonyTransferDestination(value); + deserializedPstnTelephonyTransferDestination.kind = kind; + return deserializedPstnTelephonyTransferDestination; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.java similarity index 77% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.java index 7ef2c1fe644f9..d556aad1c6d31 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.java @@ -12,11 +12,11 @@ import java.io.IOException; /** - * The RealtimeClientEventSessionUpdateSessionTruncation1 model. + * The RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio model. */ @Fluent -public final class RealtimeClientEventSessionUpdateSessionTruncation1 - implements JsonSerializable { +public final class RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio + implements JsonSerializable { /* * The type property. @@ -37,12 +37,12 @@ public final class RealtimeClientEventSessionUpdateSessionTruncation1 private TokenLimits tokenLimits; /** - * Creates an instance of RealtimeClientEventSessionUpdateSessionTruncation1 class. + * Creates an instance of RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio class. * * @param retentionRatio the retentionRatio value to set. */ @Generated - public RealtimeClientEventSessionUpdateSessionTruncation1(double retentionRatio) { + public RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio(double retentionRatio) { this.retentionRatio = retentionRatio; } @@ -80,10 +80,10 @@ public TokenLimits getTokenLimits() { * Set the tokenLimits property: The token_limits property. * * @param tokenLimits the tokenLimits value to set. - * @return the RealtimeClientEventSessionUpdateSessionTruncation1 object itself. + * @return the RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio object itself. */ @Generated - public RealtimeClientEventSessionUpdateSessionTruncation1 setTokenLimits(TokenLimits tokenLimits) { + public RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio setTokenLimits(TokenLimits tokenLimits) { this.tokenLimits = tokenLimits; return this; } @@ -102,16 +102,17 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeClientEventSessionUpdateSessionTruncation1 from the JsonReader. + * Reads an instance of RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeClientEventSessionUpdateSessionTruncation1 if the JsonReader was pointing to an - * instance of it, or null if it was pointing to JSON null. + * @return An instance of RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio 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 RealtimeClientEventSessionUpdateSessionTruncation1. + * @throws IOException If an error occurs while reading the + * RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio. */ @Generated - public static RealtimeClientEventSessionUpdateSessionTruncation1 fromJson(JsonReader jsonReader) + public static RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { double retentionRatio = 0.0; @@ -127,10 +128,10 @@ public static RealtimeClientEventSessionUpdateSessionTruncation1 fromJson(JsonRe reader.skipChildren(); } } - RealtimeClientEventSessionUpdateSessionTruncation1 deserializedRealtimeClientEventSessionUpdateSessionTruncation1 - = new RealtimeClientEventSessionUpdateSessionTruncation1(retentionRatio); - deserializedRealtimeClientEventSessionUpdateSessionTruncation1.tokenLimits = tokenLimits; - return deserializedRealtimeClientEventSessionUpdateSessionTruncation1; + RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio deserializedRealtimeClientEventSessionUpdateSessionTruncationRetentionRatio + = new RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio(retentionRatio); + deserializedRealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.tokenLimits = tokenLimits; + return deserializedRealtimeClientEventSessionUpdateSessionTruncationRetentionRatio; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java index 8f73e5e01a004..8a46180994aea 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeConversationItem.java @@ -86,13 +86,13 @@ public static RealtimeConversationItem fromJson(JsonReader jsonReader) throws IO } else if ("function_call_output".equals(discriminatorValue)) { return RealtimeConversationItemFunctionCallOutput.fromJson(readerToUse.reset()); } else if ("mcp_approval_response".equals(discriminatorValue)) { - return RealtimeMCPApprovalResponse.fromJson(readerToUse.reset()); + return RealtimeMcpApprovalResponse.fromJson(readerToUse.reset()); } else if ("mcp_list_tools".equals(discriminatorValue)) { - return RealtimeMCPListTools.fromJson(readerToUse.reset()); + return RealtimeMcpListTools.fromJson(readerToUse.reset()); } else if ("mcp_call".equals(discriminatorValue)) { - return RealtimeMCPToolCall.fromJson(readerToUse.reset()); + return RealtimeMcpToolCall.fromJson(readerToUse.reset()); } else if ("mcp_approval_request".equals(discriminatorValue)) { - return RealtimeMCPApprovalRequest.fromJson(readerToUse.reset()); + return RealtimeMcpApprovalRequest.fromJson(readerToUse.reset()); } else { return fromJsonKnownDiscriminator(readerToUse.reset()); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalRequest.java similarity index 88% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalRequest.java index 9a6e354bdea91..f4716a5cf446f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalRequest.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalRequest.java @@ -18,7 +18,7 @@ */ @Immutable @Beta(warningText = "Preview API. VoiceAgents=V1Preview") -public final class RealtimeMCPApprovalRequest extends RealtimeConversationItem { +public final class RealtimeMcpApprovalRequest extends RealtimeConversationItem { /* * The type property. @@ -63,7 +63,7 @@ public final class RealtimeMCPApprovalRequest extends RealtimeConversationItem { private String responseId; /** - * Creates an instance of RealtimeMCPApprovalRequest class. + * Creates an instance of RealtimeMcpApprovalRequest class. * * @param id the id value to set. * @param serverLabel the serverLabel value to set. @@ -71,7 +71,7 @@ public final class RealtimeMCPApprovalRequest extends RealtimeConversationItem { * @param arguments the arguments value to set. */ @Generated - public RealtimeMCPApprovalRequest(String id, String serverLabel, String name, String arguments) { + public RealtimeMcpApprovalRequest(String id, String serverLabel, String name, String arguments) { this.id = id; this.serverLabel = serverLabel; this.name = name; @@ -165,16 +165,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPApprovalRequest from the JsonReader. + * Reads an instance of RealtimeMcpApprovalRequest from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPApprovalRequest if the JsonReader was pointing to an instance of it, or null if + * @return An instance of RealtimeMcpApprovalRequest 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 RealtimeMCPApprovalRequest. + * @throws IOException If an error occurs while reading the RealtimeMcpApprovalRequest. */ @Generated - public static RealtimeMCPApprovalRequest fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpApprovalRequest fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String id = null; String serverLabel = null; @@ -204,12 +204,12 @@ public static RealtimeMCPApprovalRequest fromJson(JsonReader jsonReader) throws reader.skipChildren(); } } - RealtimeMCPApprovalRequest deserializedRealtimeMCPApprovalRequest - = new RealtimeMCPApprovalRequest(id, serverLabel, name, arguments); - deserializedRealtimeMCPApprovalRequest.type = type; - deserializedRealtimeMCPApprovalRequest.createdAt = createdAt; - deserializedRealtimeMCPApprovalRequest.responseId = responseId; - return deserializedRealtimeMCPApprovalRequest; + RealtimeMcpApprovalRequest deserializedRealtimeMcpApprovalRequest + = new RealtimeMcpApprovalRequest(id, serverLabel, name, arguments); + deserializedRealtimeMcpApprovalRequest.type = type; + deserializedRealtimeMcpApprovalRequest.createdAt = createdAt; + deserializedRealtimeMcpApprovalRequest.responseId = responseId; + return deserializedRealtimeMcpApprovalRequest; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalResponse.java similarity index 86% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalResponse.java index d709f22bf0931..a930b16e04d00 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPApprovalResponse.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpApprovalResponse.java @@ -18,7 +18,7 @@ */ @Fluent @Beta(warningText = "Preview API. VoiceAgents=V1Preview") -public final class RealtimeMCPApprovalResponse extends RealtimeConversationItem { +public final class RealtimeMcpApprovalResponse extends RealtimeConversationItem { /* * The type property. @@ -63,14 +63,14 @@ public final class RealtimeMCPApprovalResponse extends RealtimeConversationItem private String responseId; /** - * Creates an instance of RealtimeMCPApprovalResponse class. + * Creates an instance of RealtimeMcpApprovalResponse class. * * @param id the id value to set. * @param approvalRequestId the approvalRequestId value to set. * @param approve the approve value to set. */ @Generated - public RealtimeMCPApprovalResponse(String id, String approvalRequestId, boolean approve) { + public RealtimeMcpApprovalResponse(String id, String approvalRequestId, boolean approve) { this.id = id; this.approvalRequestId = approvalRequestId; this.approve = approve; @@ -131,10 +131,10 @@ public String getReason() { * Set the reason property: The reason property. * * @param reason the reason value to set. - * @return the RealtimeMCPApprovalResponse object itself. + * @return the RealtimeMcpApprovalResponse object itself. */ @Generated - public RealtimeMCPApprovalResponse setReason(String reason) { + public RealtimeMcpApprovalResponse setReason(String reason) { this.reason = reason; return this; } @@ -175,16 +175,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPApprovalResponse from the JsonReader. + * Reads an instance of RealtimeMcpApprovalResponse from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPApprovalResponse if the JsonReader was pointing to an instance of it, or null + * @return An instance of RealtimeMcpApprovalResponse 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 RealtimeMCPApprovalResponse. + * @throws IOException If an error occurs while reading the RealtimeMcpApprovalResponse. */ @Generated - public static RealtimeMCPApprovalResponse fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpApprovalResponse fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String id = null; String approvalRequestId = null; @@ -214,13 +214,13 @@ public static RealtimeMCPApprovalResponse fromJson(JsonReader jsonReader) throws reader.skipChildren(); } } - RealtimeMCPApprovalResponse deserializedRealtimeMCPApprovalResponse - = new RealtimeMCPApprovalResponse(id, approvalRequestId, approve); - deserializedRealtimeMCPApprovalResponse.type = type; - deserializedRealtimeMCPApprovalResponse.reason = reason; - deserializedRealtimeMCPApprovalResponse.createdAt = createdAt; - deserializedRealtimeMCPApprovalResponse.responseId = responseId; - return deserializedRealtimeMCPApprovalResponse; + RealtimeMcpApprovalResponse deserializedRealtimeMcpApprovalResponse + = new RealtimeMcpApprovalResponse(id, approvalRequestId, approve); + deserializedRealtimeMcpApprovalResponse.type = type; + deserializedRealtimeMcpApprovalResponse.reason = reason; + deserializedRealtimeMcpApprovalResponse.createdAt = createdAt; + deserializedRealtimeMcpApprovalResponse.responseId = responseId; + return deserializedRealtimeMcpApprovalResponse; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpError.java similarity index 79% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpError.java index 7e9f589a055b3..5a060879c6e5c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpError.java @@ -12,22 +12,22 @@ import java.io.IOException; /** - * The RealtimeMCPError model. + * The RealtimeMcpError model. */ @Immutable -public class RealtimeMCPError implements JsonSerializable { +public class RealtimeMcpError implements JsonSerializable { /* * The type property. */ @Generated - private RealtimeMcpErrorType type = RealtimeMcpErrorType.fromString("RealtimeMCPError"); + private RealtimeMcpErrorType type = RealtimeMcpErrorType.fromString("RealtimeMcpError"); /** - * Creates an instance of RealtimeMCPError class. + * Creates an instance of RealtimeMcpError class. */ @Generated - public RealtimeMCPError() { + public RealtimeMcpError() { } /** @@ -52,15 +52,15 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPError from the JsonReader. + * Reads an instance of RealtimeMcpError from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPError if the JsonReader was pointing to an instance of it, or null if it was + * @return An instance of RealtimeMcpError 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 RealtimeMCPError. + * @throws IOException If an error occurs while reading the RealtimeMcpError. */ @Generated - public static RealtimeMCPError fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpError fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String discriminatorValue = null; try (JsonReader readerToUse = reader.bufferObject()) { @@ -78,9 +78,9 @@ public static RealtimeMCPError fromJson(JsonReader jsonReader) throws IOExceptio } // Use the discriminator value to determine which subtype should be deserialized. if ("protocol_error".equals(discriminatorValue)) { - return RealtimeMCPProtocolError.fromJson(readerToUse.reset()); + return RealtimeMcpProtocolError.fromJson(readerToUse.reset()); } else if ("tool_execution_error".equals(discriminatorValue)) { - return RealtimeMCPToolExecutionError.fromJson(readerToUse.reset()); + return RealtimeMcpToolExecutionError.fromJson(readerToUse.reset()); } else if ("http_error".equals(discriminatorValue)) { return RealtimeMcpHttpError.fromJson(readerToUse.reset()); } else { @@ -91,19 +91,19 @@ public static RealtimeMCPError fromJson(JsonReader jsonReader) throws IOExceptio } @Generated - static RealtimeMCPError fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + static RealtimeMcpError fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - RealtimeMCPError deserializedRealtimeMCPError = new RealtimeMCPError(); + RealtimeMcpError deserializedRealtimeMcpError = new RealtimeMcpError(); while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("type".equals(fieldName)) { - deserializedRealtimeMCPError.type = RealtimeMcpErrorType.fromString(reader.getString()); + deserializedRealtimeMcpError.type = RealtimeMcpErrorType.fromString(reader.getString()); } else { reader.skipChildren(); } } - return deserializedRealtimeMCPError; + return deserializedRealtimeMcpError; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java index 4d45f9e38f0ab..bf4312d3ead25 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpHttpError.java @@ -14,7 +14,7 @@ * Realtime MCP HTTP error. */ @Immutable -public final class RealtimeMcpHttpError extends RealtimeMCPError { +public final class RealtimeMcpHttpError extends RealtimeMcpError { /* * The type property. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpListTools.java similarity index 85% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpListTools.java index f4e30487fd436..53c435c577f8e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPListTools.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpListTools.java @@ -19,7 +19,7 @@ */ @Fluent @Beta(warningText = "Preview API. VoiceAgents=V1Preview") -public final class RealtimeMCPListTools extends RealtimeConversationItem { +public final class RealtimeMcpListTools extends RealtimeConversationItem { /* * The type property. @@ -58,13 +58,13 @@ public final class RealtimeMCPListTools extends RealtimeConversationItem { private String responseId; /** - * Creates an instance of RealtimeMCPListTools class. + * Creates an instance of RealtimeMcpListTools class. * * @param serverLabel the serverLabel value to set. * @param tools the tools value to set. */ @Generated - public RealtimeMCPListTools(String serverLabel, List tools) { + public RealtimeMcpListTools(String serverLabel, List tools) { this.serverLabel = serverLabel; this.tools = tools; } @@ -94,10 +94,10 @@ public String getId() { * Set the id property: The unique ID of the list. * * @param id the id value to set. - * @return the RealtimeMCPListTools object itself. + * @return the RealtimeMcpListTools object itself. */ @Generated - public RealtimeMCPListTools setId(String id) { + public RealtimeMcpListTools setId(String id) { this.id = id; return this; } @@ -157,16 +157,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPListTools from the JsonReader. + * Reads an instance of RealtimeMcpListTools from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPListTools if the JsonReader was pointing to an instance of it, or null if it + * @return An instance of RealtimeMcpListTools 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 RealtimeMCPListTools. + * @throws IOException If an error occurs while reading the RealtimeMcpListTools. */ @Generated - public static RealtimeMCPListTools fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpListTools fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String serverLabel = null; List tools = null; @@ -193,12 +193,12 @@ public static RealtimeMCPListTools fromJson(JsonReader jsonReader) throws IOExce reader.skipChildren(); } } - RealtimeMCPListTools deserializedRealtimeMCPListTools = new RealtimeMCPListTools(serverLabel, tools); - deserializedRealtimeMCPListTools.type = type; - deserializedRealtimeMCPListTools.id = id; - deserializedRealtimeMCPListTools.createdAt = createdAt; - deserializedRealtimeMCPListTools.responseId = responseId; - return deserializedRealtimeMCPListTools; + RealtimeMcpListTools deserializedRealtimeMcpListTools = new RealtimeMcpListTools(serverLabel, tools); + deserializedRealtimeMcpListTools.type = type; + deserializedRealtimeMcpListTools.id = id; + deserializedRealtimeMcpListTools.createdAt = createdAt; + deserializedRealtimeMcpListTools.responseId = responseId; + return deserializedRealtimeMcpListTools; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpProtocolError.java similarity index 83% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpProtocolError.java index d8076fa4e40bd..3f5e160f9f668 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPProtocolError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpProtocolError.java @@ -14,7 +14,7 @@ * Realtime MCP protocol error. */ @Immutable -public final class RealtimeMCPProtocolError extends RealtimeMCPError { +public final class RealtimeMcpProtocolError extends RealtimeMcpError { /* * The type property. @@ -35,13 +35,13 @@ public final class RealtimeMCPProtocolError extends RealtimeMCPError { private final String message; /** - * Creates an instance of RealtimeMCPProtocolError class. + * Creates an instance of RealtimeMcpProtocolError class. * * @param code the code value to set. * @param message the message value to set. */ @Generated - public RealtimeMCPProtocolError(long code, String message) { + public RealtimeMcpProtocolError(long code, String message) { this.code = code; this.message = message; } @@ -91,16 +91,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPProtocolError from the JsonReader. + * Reads an instance of RealtimeMcpProtocolError from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPProtocolError if the JsonReader was pointing to an instance of it, or null if + * @return An instance of RealtimeMcpProtocolError 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 RealtimeMCPProtocolError. + * @throws IOException If an error occurs while reading the RealtimeMcpProtocolError. */ @Generated - public static RealtimeMCPProtocolError fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpProtocolError fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { long code = 0L; String message = null; @@ -118,9 +118,9 @@ public static RealtimeMCPProtocolError fromJson(JsonReader jsonReader) throws IO reader.skipChildren(); } } - RealtimeMCPProtocolError deserializedRealtimeMCPProtocolError = new RealtimeMCPProtocolError(code, message); - deserializedRealtimeMCPProtocolError.type = type; - return deserializedRealtimeMCPProtocolError; + RealtimeMcpProtocolError deserializedRealtimeMcpProtocolError = new RealtimeMcpProtocolError(code, message); + deserializedRealtimeMcpProtocolError.type = type; + return deserializedRealtimeMcpProtocolError; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolCall.java similarity index 84% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolCall.java index 45a8a1b0e8108..f6ea4eac3455e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolCall.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolCall.java @@ -18,7 +18,7 @@ */ @Fluent @Beta(warningText = "Preview API. VoiceAgents=V1Preview") -public final class RealtimeMCPToolCall extends RealtimeConversationItem { +public final class RealtimeMcpToolCall extends RealtimeConversationItem { /* * The type property. @@ -66,7 +66,7 @@ public final class RealtimeMCPToolCall extends RealtimeConversationItem { * The error property. */ @Generated - private RealtimeMCPError error; + private RealtimeMcpError error; /* * The Unix timestamp (in seconds) for when the item was persisted. @@ -81,7 +81,7 @@ public final class RealtimeMCPToolCall extends RealtimeConversationItem { private String responseId; /** - * Creates an instance of RealtimeMCPToolCall class. + * Creates an instance of RealtimeMcpToolCall class. * * @param id the id value to set. * @param serverLabel the serverLabel value to set. @@ -89,7 +89,7 @@ public final class RealtimeMCPToolCall extends RealtimeConversationItem { * @param arguments the arguments value to set. */ @Generated - public RealtimeMCPToolCall(String id, String serverLabel, String name, String arguments) { + public RealtimeMcpToolCall(String id, String serverLabel, String name, String arguments) { this.id = id; this.serverLabel = serverLabel; this.name = name; @@ -161,10 +161,10 @@ public String getApprovalRequestId() { * Set the approvalRequestId property: The approval_request_id property. * * @param approvalRequestId the approvalRequestId value to set. - * @return the RealtimeMCPToolCall object itself. + * @return the RealtimeMcpToolCall object itself. */ @Generated - public RealtimeMCPToolCall setApprovalRequestId(String approvalRequestId) { + public RealtimeMcpToolCall setApprovalRequestId(String approvalRequestId) { this.approvalRequestId = approvalRequestId; return this; } @@ -183,10 +183,10 @@ public String getOutput() { * Set the output property: The output property. * * @param output the output value to set. - * @return the RealtimeMCPToolCall object itself. + * @return the RealtimeMcpToolCall object itself. */ @Generated - public RealtimeMCPToolCall setOutput(String output) { + public RealtimeMcpToolCall setOutput(String output) { this.output = output; return this; } @@ -197,7 +197,7 @@ public RealtimeMCPToolCall setOutput(String output) { * @return the error value. */ @Generated - public RealtimeMCPError getError() { + public RealtimeMcpError getError() { return this.error; } @@ -205,10 +205,10 @@ public RealtimeMCPError getError() { * Set the error property: The error property. * * @param error the error value to set. - * @return the RealtimeMCPToolCall object itself. + * @return the RealtimeMcpToolCall object itself. */ @Generated - public RealtimeMCPToolCall setError(RealtimeMCPError error) { + public RealtimeMcpToolCall setError(RealtimeMcpError error) { this.error = error; return this; } @@ -252,16 +252,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPToolCall from the JsonReader. + * Reads an instance of RealtimeMcpToolCall from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPToolCall if the JsonReader was pointing to an instance of it, or null if it was + * @return An instance of RealtimeMcpToolCall 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 RealtimeMCPToolCall. + * @throws IOException If an error occurs while reading the RealtimeMcpToolCall. */ @Generated - public static RealtimeMCPToolCall fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpToolCall fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String id = null; String serverLabel = null; @@ -270,7 +270,7 @@ public static RealtimeMCPToolCall fromJson(JsonReader jsonReader) throws IOExcep RealtimeConversationItemType type = RealtimeConversationItemType.MCP_CALL; String approvalRequestId = null; String output = null; - RealtimeMCPError error = null; + RealtimeMcpError error = null; Long createdAt = null; String responseId = null; while (reader.nextToken() != JsonToken.END_OBJECT) { @@ -291,7 +291,7 @@ public static RealtimeMCPToolCall fromJson(JsonReader jsonReader) throws IOExcep } else if ("output".equals(fieldName)) { output = reader.getString(); } else if ("error".equals(fieldName)) { - error = RealtimeMCPError.fromJson(reader); + error = RealtimeMcpError.fromJson(reader); } else if ("created_at".equals(fieldName)) { createdAt = reader.getNullable(JsonReader::getLong); } else if ("response_id".equals(fieldName)) { @@ -300,15 +300,15 @@ public static RealtimeMCPToolCall fromJson(JsonReader jsonReader) throws IOExcep reader.skipChildren(); } } - RealtimeMCPToolCall deserializedRealtimeMCPToolCall - = new RealtimeMCPToolCall(id, serverLabel, name, arguments); - deserializedRealtimeMCPToolCall.type = type; - deserializedRealtimeMCPToolCall.approvalRequestId = approvalRequestId; - deserializedRealtimeMCPToolCall.output = output; - deserializedRealtimeMCPToolCall.error = error; - deserializedRealtimeMCPToolCall.createdAt = createdAt; - deserializedRealtimeMCPToolCall.responseId = responseId; - return deserializedRealtimeMCPToolCall; + RealtimeMcpToolCall deserializedRealtimeMcpToolCall + = new RealtimeMcpToolCall(id, serverLabel, name, arguments); + deserializedRealtimeMcpToolCall.type = type; + deserializedRealtimeMcpToolCall.approvalRequestId = approvalRequestId; + deserializedRealtimeMcpToolCall.output = output; + deserializedRealtimeMcpToolCall.error = error; + deserializedRealtimeMcpToolCall.createdAt = createdAt; + deserializedRealtimeMcpToolCall.responseId = responseId; + return deserializedRealtimeMcpToolCall; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolExecutionError.java similarity index 79% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolExecutionError.java index 13dcf21512bdf..55ace1da33fb3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMCPToolExecutionError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeMcpToolExecutionError.java @@ -14,7 +14,7 @@ * Realtime MCP tool execution error. */ @Immutable -public final class RealtimeMCPToolExecutionError extends RealtimeMCPError { +public final class RealtimeMcpToolExecutionError extends RealtimeMcpError { /* * The type property. @@ -29,12 +29,12 @@ public final class RealtimeMCPToolExecutionError extends RealtimeMCPError { private final String message; /** - * Creates an instance of RealtimeMCPToolExecutionError class. + * Creates an instance of RealtimeMcpToolExecutionError class. * * @param message the message value to set. */ @Generated - public RealtimeMCPToolExecutionError(String message) { + public RealtimeMcpToolExecutionError(String message) { this.message = message; } @@ -72,16 +72,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeMCPToolExecutionError from the JsonReader. + * Reads an instance of RealtimeMcpToolExecutionError from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeMCPToolExecutionError if the JsonReader was pointing to an instance of it, or null + * @return An instance of RealtimeMcpToolExecutionError 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 RealtimeMCPToolExecutionError. + * @throws IOException If an error occurs while reading the RealtimeMcpToolExecutionError. */ @Generated - public static RealtimeMCPToolExecutionError fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeMcpToolExecutionError fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String message = null; RealtimeMcpErrorType type = RealtimeMcpErrorType.TOOL_EXECUTION_ERROR; @@ -96,10 +96,10 @@ public static RealtimeMCPToolExecutionError fromJson(JsonReader jsonReader) thro reader.skipChildren(); } } - RealtimeMCPToolExecutionError deserializedRealtimeMCPToolExecutionError - = new RealtimeMCPToolExecutionError(message); - deserializedRealtimeMCPToolExecutionError.type = type; - return deserializedRealtimeMCPToolExecutionError; + RealtimeMcpToolExecutionError deserializedRealtimeMcpToolExecutionError + = new RealtimeMcpToolExecutionError(message); + deserializedRealtimeMcpToolExecutionError.type = type; + return deserializedRealtimeMcpToolExecutionError; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerErrorDetails.java similarity index 77% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerErrorDetails.java index cbc909303d178..03396dc59a9c3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerErrorDetails.java @@ -12,10 +12,10 @@ import java.io.IOException; /** - * The RealtimeServerEventErrorError model. + * The RealtimeServerErrorDetails model. */ @Immutable -public final class RealtimeServerEventErrorError implements JsonSerializable { +public final class RealtimeServerErrorDetails implements JsonSerializable { /* * The type property. @@ -48,13 +48,13 @@ public final class RealtimeServerEventErrorError implements JsonSerializable { String type = null; String message = null; @@ -158,12 +158,12 @@ public static RealtimeServerEventErrorError fromJson(JsonReader jsonReader) thro reader.skipChildren(); } } - RealtimeServerEventErrorError deserializedRealtimeServerEventErrorError - = new RealtimeServerEventErrorError(type, message); - deserializedRealtimeServerEventErrorError.code = code; - deserializedRealtimeServerEventErrorError.param = param; - deserializedRealtimeServerEventErrorError.eventId = eventId; - return deserializedRealtimeServerEventErrorError; + RealtimeServerErrorDetails deserializedRealtimeServerErrorDetails + = new RealtimeServerErrorDetails(type, message); + deserializedRealtimeServerErrorDetails.code = code; + deserializedRealtimeServerErrorDetails.param = param; + deserializedRealtimeServerErrorDetails.eventId = eventId; + return deserializedRealtimeServerErrorDetails; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java index 85a978ccef2d5..62a6752cb01ac 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java @@ -156,23 +156,23 @@ public static RealtimeServerEvent fromJson(JsonReader jsonReader) throws IOExcep return RealtimeServerEventConversationItemInputAudioTranscriptionSegment .fromJson(readerToUse.reset()); } else if ("mcp_list_tools.in_progress".equals(discriminatorValue)) { - return RealtimeServerEventMCPListToolsInProgress.fromJson(readerToUse.reset()); + return RealtimeServerEventMcpListToolsInProgress.fromJson(readerToUse.reset()); } else if ("mcp_list_tools.completed".equals(discriminatorValue)) { - return RealtimeServerEventMCPListToolsCompleted.fromJson(readerToUse.reset()); + return RealtimeServerEventMcpListToolsCompleted.fromJson(readerToUse.reset()); } else if ("mcp_list_tools.failed".equals(discriminatorValue)) { - return RealtimeServerEventMCPListToolsFailed.fromJson(readerToUse.reset()); + return RealtimeServerEventMcpListToolsFailed.fromJson(readerToUse.reset()); } else if ("response.mcp_call_arguments.delta".equals(discriminatorValue)) { - return RealtimeServerEventResponseMCPCallArgumentsDelta.fromJson(readerToUse.reset()); + return RealtimeServerEventResponseMcpCallArgumentsDelta.fromJson(readerToUse.reset()); } else if ("response.mcp_call_arguments.done".equals(discriminatorValue)) { - return RealtimeServerEventResponseMCPCallArgumentsDone.fromJson(readerToUse.reset()); + return RealtimeServerEventResponseMcpCallArgumentsDone.fromJson(readerToUse.reset()); } else if ("response.mcp_call.in_progress".equals(discriminatorValue)) { - return RealtimeServerEventResponseMCPCallInProgress.fromJson(readerToUse.reset()); + return RealtimeServerEventResponseMcpCallInProgress.fromJson(readerToUse.reset()); } else if ("response.mcp_call.completed".equals(discriminatorValue)) { - return RealtimeServerEventResponseMCPCallCompleted.fromJson(readerToUse.reset()); + return RealtimeServerEventResponseMcpCallCompleted.fromJson(readerToUse.reset()); } else if ("response.mcp_call.failed".equals(discriminatorValue)) { - return RealtimeServerEventResponseMCPCallFailed.fromJson(readerToUse.reset()); + return RealtimeServerEventResponseMcpCallFailed.fromJson(readerToUse.reset()); } else if ("error".equals(discriminatorValue)) { - return RealtimeServerEventRealtimeServerEventError.fromJson(readerToUse.reset()); + return RealtimeServerEventError.fromJson(readerToUse.reset()); } else if ("session.subagent.started".equals(discriminatorValue)) { return VoiceAgentServerEventSessionSubagentStarted.fromJson(readerToUse.reset()); } else if ("session.subagent.aborted".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventError.java similarity index 70% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventError.java index e8be27d80b630..00391f318f88b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventError.java @@ -16,7 +16,7 @@ * recommend to implementors to monitor and log error messages by default. */ @Immutable -public final class RealtimeServerEventRealtimeServerEventError extends RealtimeServerEvent { +public final class RealtimeServerEventError extends RealtimeServerEvent { /* * The type property. @@ -34,16 +34,16 @@ public final class RealtimeServerEventRealtimeServerEventError extends RealtimeS * Details of the error. */ @Generated - private final RealtimeServerEventErrorError error; + private final RealtimeServerErrorDetails error; /** - * Creates an instance of RealtimeServerEventRealtimeServerEventError class. + * Creates an instance of RealtimeServerEventError class. * * @param eventId the eventId value to set. * @param error the error value to set. */ @Generated - private RealtimeServerEventRealtimeServerEventError(String eventId, RealtimeServerEventErrorError error) { + private RealtimeServerEventError(String eventId, RealtimeServerErrorDetails error) { this.eventId = eventId; this.error = error; } @@ -75,7 +75,7 @@ public String getEventId() { * @return the error value. */ @Generated - public RealtimeServerEventErrorError getError() { + public RealtimeServerErrorDetails getError() { return this.error; } @@ -93,19 +93,19 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventRealtimeServerEventError from the JsonReader. + * Reads an instance of RealtimeServerEventError from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventRealtimeServerEventError if the JsonReader was pointing to an instance - * of it, or null if it was pointing to JSON null. + * @return An instance of RealtimeServerEventError 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 RealtimeServerEventRealtimeServerEventError. + * @throws IOException If an error occurs while reading the RealtimeServerEventError. */ @Generated - public static RealtimeServerEventRealtimeServerEventError fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventError fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; - RealtimeServerEventErrorError error = null; + RealtimeServerErrorDetails error = null; RealtimeServerEventType type = RealtimeServerEventType.ERROR; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); @@ -113,17 +113,17 @@ public static RealtimeServerEventRealtimeServerEventError fromJson(JsonReader js if ("event_id".equals(fieldName)) { eventId = reader.getString(); } else if ("error".equals(fieldName)) { - error = RealtimeServerEventErrorError.fromJson(reader); + error = RealtimeServerErrorDetails.fromJson(reader); } else if ("type".equals(fieldName)) { type = RealtimeServerEventType.fromString(reader.getString()); } else { reader.skipChildren(); } } - RealtimeServerEventRealtimeServerEventError deserializedRealtimeServerEventRealtimeServerEventError - = new RealtimeServerEventRealtimeServerEventError(eventId, error); - deserializedRealtimeServerEventRealtimeServerEventError.type = type; - return deserializedRealtimeServerEventRealtimeServerEventError; + RealtimeServerEventError deserializedRealtimeServerEventError + = new RealtimeServerEventError(eventId, error); + deserializedRealtimeServerEventError.type = type; + return deserializedRealtimeServerEventError; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsCompleted.java similarity index 82% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsCompleted.java index b769b926e133a..b700a838c1039 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsCompleted.java @@ -14,7 +14,7 @@ * Returned when listing MCP tools has completed for an item. */ @Immutable -public final class RealtimeServerEventMCPListToolsCompleted extends RealtimeServerEvent { +public final class RealtimeServerEventMcpListToolsCompleted extends RealtimeServerEvent { /* * The type property. @@ -35,13 +35,13 @@ public final class RealtimeServerEventMCPListToolsCompleted extends RealtimeServ private final String itemId; /** - * Creates an instance of RealtimeServerEventMCPListToolsCompleted class. + * Creates an instance of RealtimeServerEventMcpListToolsCompleted class. * * @param eventId the eventId value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventMCPListToolsCompleted(String eventId, String itemId) { + private RealtimeServerEventMcpListToolsCompleted(String eventId, String itemId) { this.eventId = eventId; this.itemId = itemId; } @@ -91,16 +91,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventMCPListToolsCompleted from the JsonReader. + * Reads an instance of RealtimeServerEventMcpListToolsCompleted from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventMCPListToolsCompleted if the JsonReader was pointing to an instance of + * @return An instance of RealtimeServerEventMcpListToolsCompleted 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 RealtimeServerEventMCPListToolsCompleted. + * @throws IOException If an error occurs while reading the RealtimeServerEventMcpListToolsCompleted. */ @Generated - public static RealtimeServerEventMCPListToolsCompleted fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventMcpListToolsCompleted fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; String itemId = null; @@ -118,10 +118,10 @@ public static RealtimeServerEventMCPListToolsCompleted fromJson(JsonReader jsonR reader.skipChildren(); } } - RealtimeServerEventMCPListToolsCompleted deserializedRealtimeServerEventMCPListToolsCompleted - = new RealtimeServerEventMCPListToolsCompleted(eventId, itemId); - deserializedRealtimeServerEventMCPListToolsCompleted.type = type; - return deserializedRealtimeServerEventMCPListToolsCompleted; + RealtimeServerEventMcpListToolsCompleted deserializedRealtimeServerEventMcpListToolsCompleted + = new RealtimeServerEventMcpListToolsCompleted(eventId, itemId); + deserializedRealtimeServerEventMcpListToolsCompleted.type = type; + return deserializedRealtimeServerEventMcpListToolsCompleted; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsFailed.java similarity index 82% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsFailed.java index b1c17d30d1cd2..88464447ba18d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsFailed.java @@ -14,7 +14,7 @@ * Returned when listing MCP tools has failed for an item. */ @Immutable -public final class RealtimeServerEventMCPListToolsFailed extends RealtimeServerEvent { +public final class RealtimeServerEventMcpListToolsFailed extends RealtimeServerEvent { /* * The type property. @@ -35,13 +35,13 @@ public final class RealtimeServerEventMCPListToolsFailed extends RealtimeServerE private final String itemId; /** - * Creates an instance of RealtimeServerEventMCPListToolsFailed class. + * Creates an instance of RealtimeServerEventMcpListToolsFailed class. * * @param eventId the eventId value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventMCPListToolsFailed(String eventId, String itemId) { + private RealtimeServerEventMcpListToolsFailed(String eventId, String itemId) { this.eventId = eventId; this.itemId = itemId; } @@ -91,16 +91,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventMCPListToolsFailed from the JsonReader. + * Reads an instance of RealtimeServerEventMcpListToolsFailed from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventMCPListToolsFailed if the JsonReader was pointing to an instance of it, + * @return An instance of RealtimeServerEventMcpListToolsFailed 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 RealtimeServerEventMCPListToolsFailed. + * @throws IOException If an error occurs while reading the RealtimeServerEventMcpListToolsFailed. */ @Generated - public static RealtimeServerEventMCPListToolsFailed fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventMcpListToolsFailed fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; String itemId = null; @@ -118,10 +118,10 @@ public static RealtimeServerEventMCPListToolsFailed fromJson(JsonReader jsonRead reader.skipChildren(); } } - RealtimeServerEventMCPListToolsFailed deserializedRealtimeServerEventMCPListToolsFailed - = new RealtimeServerEventMCPListToolsFailed(eventId, itemId); - deserializedRealtimeServerEventMCPListToolsFailed.type = type; - return deserializedRealtimeServerEventMCPListToolsFailed; + RealtimeServerEventMcpListToolsFailed deserializedRealtimeServerEventMcpListToolsFailed + = new RealtimeServerEventMcpListToolsFailed(eventId, itemId); + deserializedRealtimeServerEventMcpListToolsFailed.type = type; + return deserializedRealtimeServerEventMcpListToolsFailed; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsInProgress.java similarity index 82% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsInProgress.java index b0fe2c8400490..ad2b78684eca2 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsInProgress.java @@ -14,7 +14,7 @@ * Returned when listing MCP tools is in progress for an item. */ @Immutable -public final class RealtimeServerEventMCPListToolsInProgress extends RealtimeServerEvent { +public final class RealtimeServerEventMcpListToolsInProgress extends RealtimeServerEvent { /* * The type property. @@ -35,13 +35,13 @@ public final class RealtimeServerEventMCPListToolsInProgress extends RealtimeSer private final String itemId; /** - * Creates an instance of RealtimeServerEventMCPListToolsInProgress class. + * Creates an instance of RealtimeServerEventMcpListToolsInProgress class. * * @param eventId the eventId value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventMCPListToolsInProgress(String eventId, String itemId) { + private RealtimeServerEventMcpListToolsInProgress(String eventId, String itemId) { this.eventId = eventId; this.itemId = itemId; } @@ -91,16 +91,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventMCPListToolsInProgress from the JsonReader. + * Reads an instance of RealtimeServerEventMcpListToolsInProgress from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventMCPListToolsInProgress if the JsonReader was pointing to an instance of + * @return An instance of RealtimeServerEventMcpListToolsInProgress 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 RealtimeServerEventMCPListToolsInProgress. + * @throws IOException If an error occurs while reading the RealtimeServerEventMcpListToolsInProgress. */ @Generated - public static RealtimeServerEventMCPListToolsInProgress fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventMcpListToolsInProgress fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; String itemId = null; @@ -118,10 +118,10 @@ public static RealtimeServerEventMCPListToolsInProgress fromJson(JsonReader json reader.skipChildren(); } } - RealtimeServerEventMCPListToolsInProgress deserializedRealtimeServerEventMCPListToolsInProgress - = new RealtimeServerEventMCPListToolsInProgress(eventId, itemId); - deserializedRealtimeServerEventMCPListToolsInProgress.type = type; - return deserializedRealtimeServerEventMCPListToolsInProgress; + RealtimeServerEventMcpListToolsInProgress deserializedRealtimeServerEventMcpListToolsInProgress + = new RealtimeServerEventMcpListToolsInProgress(eventId, itemId); + deserializedRealtimeServerEventMcpListToolsInProgress.type = type; + return deserializedRealtimeServerEventMcpListToolsInProgress; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDelta.java similarity index 88% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDelta.java index f5cc8c9ae1c94..f4b98f7425ab6 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDelta.java @@ -14,7 +14,7 @@ * Returned when MCP tool call arguments are updated during response generation. */ @Immutable -public final class RealtimeServerEventResponseMCPCallArgumentsDelta extends RealtimeServerEvent { +public final class RealtimeServerEventResponseMcpCallArgumentsDelta extends RealtimeServerEvent { /* * The type property. @@ -59,7 +59,7 @@ public final class RealtimeServerEventResponseMCPCallArgumentsDelta extends Real private String obfuscation; /** - * Creates an instance of RealtimeServerEventResponseMCPCallArgumentsDelta class. + * Creates an instance of RealtimeServerEventResponseMcpCallArgumentsDelta class. * * @param eventId the eventId value to set. * @param responseId the responseId value to set. @@ -68,7 +68,7 @@ public final class RealtimeServerEventResponseMCPCallArgumentsDelta extends Real * @param delta the delta value to set. */ @Generated - private RealtimeServerEventResponseMCPCallArgumentsDelta(String eventId, String responseId, String itemId, + private RealtimeServerEventResponseMcpCallArgumentsDelta(String eventId, String responseId, String itemId, long outputIndex, String delta) { this.eventId = eventId; this.responseId = responseId; @@ -166,16 +166,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventResponseMCPCallArgumentsDelta from the JsonReader. + * Reads an instance of RealtimeServerEventResponseMcpCallArgumentsDelta from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventResponseMCPCallArgumentsDelta if the JsonReader was pointing to an + * @return An instance of RealtimeServerEventResponseMcpCallArgumentsDelta 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 RealtimeServerEventResponseMCPCallArgumentsDelta. + * @throws IOException If an error occurs while reading the RealtimeServerEventResponseMcpCallArgumentsDelta. */ @Generated - public static RealtimeServerEventResponseMCPCallArgumentsDelta fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventResponseMcpCallArgumentsDelta fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; String responseId = null; @@ -205,11 +205,11 @@ public static RealtimeServerEventResponseMCPCallArgumentsDelta fromJson(JsonRead reader.skipChildren(); } } - RealtimeServerEventResponseMCPCallArgumentsDelta deserializedRealtimeServerEventResponseMCPCallArgumentsDelta - = new RealtimeServerEventResponseMCPCallArgumentsDelta(eventId, responseId, itemId, outputIndex, delta); - deserializedRealtimeServerEventResponseMCPCallArgumentsDelta.type = type; - deserializedRealtimeServerEventResponseMCPCallArgumentsDelta.obfuscation = obfuscation; - return deserializedRealtimeServerEventResponseMCPCallArgumentsDelta; + RealtimeServerEventResponseMcpCallArgumentsDelta deserializedRealtimeServerEventResponseMcpCallArgumentsDelta + = new RealtimeServerEventResponseMcpCallArgumentsDelta(eventId, responseId, itemId, outputIndex, delta); + deserializedRealtimeServerEventResponseMcpCallArgumentsDelta.type = type; + deserializedRealtimeServerEventResponseMcpCallArgumentsDelta.obfuscation = obfuscation; + return deserializedRealtimeServerEventResponseMcpCallArgumentsDelta; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDone.java similarity index 88% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDone.java index 8c9e1c6733416..bc30e49bee182 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDone.java @@ -14,7 +14,7 @@ * Returned when MCP tool call arguments are finalized during response generation. */ @Immutable -public final class RealtimeServerEventResponseMCPCallArgumentsDone extends RealtimeServerEvent { +public final class RealtimeServerEventResponseMcpCallArgumentsDone extends RealtimeServerEvent { /* * The type property. @@ -53,7 +53,7 @@ public final class RealtimeServerEventResponseMCPCallArgumentsDone extends Realt private final String arguments; /** - * Creates an instance of RealtimeServerEventResponseMCPCallArgumentsDone class. + * Creates an instance of RealtimeServerEventResponseMcpCallArgumentsDone class. * * @param eventId the eventId value to set. * @param responseId the responseId value to set. @@ -62,7 +62,7 @@ public final class RealtimeServerEventResponseMCPCallArgumentsDone extends Realt * @param arguments the arguments value to set. */ @Generated - private RealtimeServerEventResponseMCPCallArgumentsDone(String eventId, String responseId, String itemId, + private RealtimeServerEventResponseMcpCallArgumentsDone(String eventId, String responseId, String itemId, long outputIndex, String arguments) { this.eventId = eventId; this.responseId = responseId; @@ -149,16 +149,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventResponseMCPCallArgumentsDone from the JsonReader. + * Reads an instance of RealtimeServerEventResponseMcpCallArgumentsDone from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventResponseMCPCallArgumentsDone if the JsonReader was pointing to an + * @return An instance of RealtimeServerEventResponseMcpCallArgumentsDone 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 RealtimeServerEventResponseMCPCallArgumentsDone. + * @throws IOException If an error occurs while reading the RealtimeServerEventResponseMcpCallArgumentsDone. */ @Generated - public static RealtimeServerEventResponseMCPCallArgumentsDone fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventResponseMcpCallArgumentsDone fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; String responseId = null; @@ -185,11 +185,11 @@ public static RealtimeServerEventResponseMCPCallArgumentsDone fromJson(JsonReade reader.skipChildren(); } } - RealtimeServerEventResponseMCPCallArgumentsDone deserializedRealtimeServerEventResponseMCPCallArgumentsDone - = new RealtimeServerEventResponseMCPCallArgumentsDone(eventId, responseId, itemId, outputIndex, + RealtimeServerEventResponseMcpCallArgumentsDone deserializedRealtimeServerEventResponseMcpCallArgumentsDone + = new RealtimeServerEventResponseMcpCallArgumentsDone(eventId, responseId, itemId, outputIndex, arguments); - deserializedRealtimeServerEventResponseMCPCallArgumentsDone.type = type; - return deserializedRealtimeServerEventResponseMCPCallArgumentsDone; + deserializedRealtimeServerEventResponseMcpCallArgumentsDone.type = type; + return deserializedRealtimeServerEventResponseMcpCallArgumentsDone; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallCompleted.java similarity index 85% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallCompleted.java index 889a36b2c1941..867ebb1a90515 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallCompleted.java @@ -14,7 +14,7 @@ * Returned when an MCP tool call has completed successfully. */ @Immutable -public final class RealtimeServerEventResponseMCPCallCompleted extends RealtimeServerEvent { +public final class RealtimeServerEventResponseMcpCallCompleted extends RealtimeServerEvent { /* * The type property. @@ -41,14 +41,14 @@ public final class RealtimeServerEventResponseMCPCallCompleted extends RealtimeS private final String itemId; /** - * Creates an instance of RealtimeServerEventResponseMCPCallCompleted class. + * Creates an instance of RealtimeServerEventResponseMcpCallCompleted class. * * @param eventId the eventId value to set. * @param outputIndex the outputIndex value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventResponseMCPCallCompleted(String eventId, long outputIndex, String itemId) { + private RealtimeServerEventResponseMcpCallCompleted(String eventId, long outputIndex, String itemId) { this.eventId = eventId; this.outputIndex = outputIndex; this.itemId = itemId; @@ -110,16 +110,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventResponseMCPCallCompleted from the JsonReader. + * Reads an instance of RealtimeServerEventResponseMcpCallCompleted from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventResponseMCPCallCompleted if the JsonReader was pointing to an instance + * @return An instance of RealtimeServerEventResponseMcpCallCompleted 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 RealtimeServerEventResponseMCPCallCompleted. + * @throws IOException If an error occurs while reading the RealtimeServerEventResponseMcpCallCompleted. */ @Generated - public static RealtimeServerEventResponseMCPCallCompleted fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventResponseMcpCallCompleted fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; long outputIndex = 0L; @@ -140,10 +140,10 @@ public static RealtimeServerEventResponseMCPCallCompleted fromJson(JsonReader js reader.skipChildren(); } } - RealtimeServerEventResponseMCPCallCompleted deserializedRealtimeServerEventResponseMCPCallCompleted - = new RealtimeServerEventResponseMCPCallCompleted(eventId, outputIndex, itemId); - deserializedRealtimeServerEventResponseMCPCallCompleted.type = type; - return deserializedRealtimeServerEventResponseMCPCallCompleted; + RealtimeServerEventResponseMcpCallCompleted deserializedRealtimeServerEventResponseMcpCallCompleted + = new RealtimeServerEventResponseMcpCallCompleted(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMcpCallCompleted.type = type; + return deserializedRealtimeServerEventResponseMcpCallCompleted; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallFailed.java similarity index 85% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallFailed.java index 502d7cfe2db35..8a38a1e8f6b6e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallFailed.java @@ -14,7 +14,7 @@ * Returned when an MCP tool call has failed. */ @Immutable -public final class RealtimeServerEventResponseMCPCallFailed extends RealtimeServerEvent { +public final class RealtimeServerEventResponseMcpCallFailed extends RealtimeServerEvent { /* * The type property. @@ -41,14 +41,14 @@ public final class RealtimeServerEventResponseMCPCallFailed extends RealtimeServ private final String itemId; /** - * Creates an instance of RealtimeServerEventResponseMCPCallFailed class. + * Creates an instance of RealtimeServerEventResponseMcpCallFailed class. * * @param eventId the eventId value to set. * @param outputIndex the outputIndex value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventResponseMCPCallFailed(String eventId, long outputIndex, String itemId) { + private RealtimeServerEventResponseMcpCallFailed(String eventId, long outputIndex, String itemId) { this.eventId = eventId; this.outputIndex = outputIndex; this.itemId = itemId; @@ -110,16 +110,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventResponseMCPCallFailed from the JsonReader. + * Reads an instance of RealtimeServerEventResponseMcpCallFailed from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventResponseMCPCallFailed if the JsonReader was pointing to an instance of + * @return An instance of RealtimeServerEventResponseMcpCallFailed 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 RealtimeServerEventResponseMCPCallFailed. + * @throws IOException If an error occurs while reading the RealtimeServerEventResponseMcpCallFailed. */ @Generated - public static RealtimeServerEventResponseMCPCallFailed fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventResponseMcpCallFailed fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; long outputIndex = 0L; @@ -140,10 +140,10 @@ public static RealtimeServerEventResponseMCPCallFailed fromJson(JsonReader jsonR reader.skipChildren(); } } - RealtimeServerEventResponseMCPCallFailed deserializedRealtimeServerEventResponseMCPCallFailed - = new RealtimeServerEventResponseMCPCallFailed(eventId, outputIndex, itemId); - deserializedRealtimeServerEventResponseMCPCallFailed.type = type; - return deserializedRealtimeServerEventResponseMCPCallFailed; + RealtimeServerEventResponseMcpCallFailed deserializedRealtimeServerEventResponseMcpCallFailed + = new RealtimeServerEventResponseMcpCallFailed(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMcpCallFailed.type = type; + return deserializedRealtimeServerEventResponseMcpCallFailed; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallInProgress.java similarity index 85% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallInProgress.java index d50a0e6a8f782..29ec7d6999316 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallInProgress.java @@ -14,7 +14,7 @@ * Returned when an MCP tool call has started and is in progress. */ @Immutable -public final class RealtimeServerEventResponseMCPCallInProgress extends RealtimeServerEvent { +public final class RealtimeServerEventResponseMcpCallInProgress extends RealtimeServerEvent { /* * The type property. @@ -41,14 +41,14 @@ public final class RealtimeServerEventResponseMCPCallInProgress extends Realtime private final String itemId; /** - * Creates an instance of RealtimeServerEventResponseMCPCallInProgress class. + * Creates an instance of RealtimeServerEventResponseMcpCallInProgress class. * * @param eventId the eventId value to set. * @param outputIndex the outputIndex value to set. * @param itemId the itemId value to set. */ @Generated - private RealtimeServerEventResponseMCPCallInProgress(String eventId, long outputIndex, String itemId) { + private RealtimeServerEventResponseMcpCallInProgress(String eventId, long outputIndex, String itemId) { this.eventId = eventId; this.outputIndex = outputIndex; this.itemId = itemId; @@ -110,16 +110,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of RealtimeServerEventResponseMCPCallInProgress from the JsonReader. + * Reads an instance of RealtimeServerEventResponseMcpCallInProgress from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of RealtimeServerEventResponseMCPCallInProgress if the JsonReader was pointing to an instance + * @return An instance of RealtimeServerEventResponseMcpCallInProgress 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 RealtimeServerEventResponseMCPCallInProgress. + * @throws IOException If an error occurs while reading the RealtimeServerEventResponseMcpCallInProgress. */ @Generated - public static RealtimeServerEventResponseMCPCallInProgress fromJson(JsonReader jsonReader) throws IOException { + public static RealtimeServerEventResponseMcpCallInProgress fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String eventId = null; long outputIndex = 0L; @@ -140,10 +140,10 @@ public static RealtimeServerEventResponseMCPCallInProgress fromJson(JsonReader j reader.skipChildren(); } } - RealtimeServerEventResponseMCPCallInProgress deserializedRealtimeServerEventResponseMCPCallInProgress - = new RealtimeServerEventResponseMCPCallInProgress(eventId, outputIndex, itemId); - deserializedRealtimeServerEventResponseMCPCallInProgress.type = type; - return deserializedRealtimeServerEventResponseMCPCallInProgress; + RealtimeServerEventResponseMcpCallInProgress deserializedRealtimeServerEventResponseMcpCallInProgress + = new RealtimeServerEventResponseMcpCallInProgress(eventId, outputIndex, itemId); + deserializedRealtimeServerEventResponseMcpCallInProgress.type = type; + return deserializedRealtimeServerEventResponseMcpCallInProgress; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java index 64fddd0741e96..5c393d66c3751 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java @@ -462,6 +462,18 @@ public ResponsePrompt getPrompt() { return this.prompt; } + /** + * Set the prompt property: The prompt property. + * + * @param prompt the prompt value to set. + * @return the RealtimeSessionCreateRequestGA object itself. + */ + @Generated + public RealtimeSessionCreateRequestGA setPrompt(ResponsePrompt prompt) { + this.prompt = prompt; + return this; + } + /** * {@inheritDoc} */ @@ -582,16 +594,4 @@ public static RealtimeSessionCreateRequestGA fromJson(JsonReader jsonReader) thr return deserializedRealtimeSessionCreateRequestGA; }); } - - /** - * Set the prompt property: The prompt property. - * - * @param prompt the prompt value to set. - * @return the RealtimeSessionCreateRequestGA object itself. - */ - @Generated - public RealtimeSessionCreateRequestGA setPrompt(ResponsePrompt prompt) { - this.prompt = prompt; - return this; - } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java index ddcfc5fee1b4c..e287104d91f6f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java @@ -81,7 +81,7 @@ public static TelephonyTransferDestination fromJson(JsonReader jsonReader) throw } // Use the discriminator value to determine which subtype should be deserialized. if ("pstn".equals(discriminatorValue)) { - return PSTNTelephonyTransferDestination.fromJson(readerToUse.reset()); + return PstnTelephonyTransferDestination.fromJson(readerToUse.reset()); } else if ("teams".equals(discriminatorValue)) { return TeamsTelephonyTransferDestination.fromJson(readerToUse.reset()); } else if ("sip".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMcp.java similarity index 83% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMcp.java index 5b380a36145f9..c66cd499e8939 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMCP.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceMcp.java @@ -16,7 +16,7 @@ * Use this option to force the model to call a specific tool on a remote MCP server. */ @Fluent -public final class ToolChoiceMCP extends ToolChoiceParam { +public final class ToolChoiceMcp extends ToolChoiceParam { /* * The type property. @@ -37,12 +37,12 @@ public final class ToolChoiceMCP extends ToolChoiceParam { private String name; /** - * Creates an instance of ToolChoiceMCP class. + * Creates an instance of ToolChoiceMcp class. * * @param serverLabel the serverLabel value to set. */ @Generated - public ToolChoiceMCP(String serverLabel) { + public ToolChoiceMcp(String serverLabel) { this.serverLabel = serverLabel; } @@ -81,10 +81,10 @@ public String getName() { * Set the name property: The name property. * * @param name the name value to set. - * @return the ToolChoiceMCP object itself. + * @return the ToolChoiceMcp object itself. */ @Generated - public ToolChoiceMCP setName(String name) { + public ToolChoiceMcp setName(String name) { this.name = name; return this; } @@ -103,16 +103,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of ToolChoiceMCP from the JsonReader. + * Reads an instance of ToolChoiceMcp from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of ToolChoiceMCP if the JsonReader was pointing to an instance of it, or null if it was + * @return An instance of ToolChoiceMcp 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 ToolChoiceMCP. + * @throws IOException If an error occurs while reading the ToolChoiceMcp. */ @Generated - public static ToolChoiceMCP fromJson(JsonReader jsonReader) throws IOException { + public static ToolChoiceMcp fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String serverLabel = null; ToolChoiceParamType type = ToolChoiceParamType.MCP; @@ -130,10 +130,10 @@ public static ToolChoiceMCP fromJson(JsonReader jsonReader) throws IOException { reader.skipChildren(); } } - ToolChoiceMCP deserializedToolChoiceMCP = new ToolChoiceMCP(serverLabel); - deserializedToolChoiceMCP.type = type; - deserializedToolChoiceMCP.name = name; - return deserializedToolChoiceMCP; + ToolChoiceMcp deserializedToolChoiceMcp = new ToolChoiceMcp(serverLabel); + deserializedToolChoiceMcp.type = type; + deserializedToolChoiceMcp.name = name; + return deserializedToolChoiceMcp; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java index 3b9b0a35330c3..45c19edc1dcf3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolChoiceParam.java @@ -80,7 +80,7 @@ public static ToolChoiceParam fromJson(JsonReader jsonReader) throws IOException } // Use the discriminator value to determine which subtype should be deserialized. if ("mcp".equals(discriminatorValue)) { - return ToolChoiceMCP.fromJson(readerToUse.reset()); + return ToolChoiceMcp.fromJson(readerToUse.reset()); } else if ("function".equals(discriminatorValue)) { return ToolChoiceFunction.fromJson(readerToUse.reset()); } else { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java index a95a3eda70ce0..f718a42717a7d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponse.java @@ -95,7 +95,7 @@ public final class VoiceAgentRealtimeResponse extends VoiceAgentRealtimeResponse * The object type, must be `realtime.response`. */ @Generated - private VoiceResponseBaseObject1 object; + private VoiceResponseBaseObject object; /* * The unique ID of the response, will look like `resp_1234`. @@ -228,7 +228,7 @@ public VoiceResponseBaseStatus getStatus() { */ @Generated @Override - public VoiceResponseBaseObject1 getObject() { + public VoiceResponseBaseObject getObject() { return this.object; } @@ -292,7 +292,7 @@ public static VoiceAgentRealtimeResponse fromJson(JsonReader jsonReader) throws deserializedVoiceAgentRealtimeResponse.id = reader.getString(); } else if ("object".equals(fieldName)) { deserializedVoiceAgentRealtimeResponse.object - = VoiceResponseBaseObject1.fromString(reader.getString()); + = VoiceResponseBaseObject.fromString(reader.getString()); } else if ("status".equals(fieldName)) { deserializedVoiceAgentRealtimeResponse.status = VoiceResponseBaseStatus.fromString(reader.getString()); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java index a06cec492047a..c6a23f231b884 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java @@ -35,7 +35,7 @@ public class VoiceAgentRealtimeResponseBase implements JsonSerializable { +public final class VoiceAgentResponseAudioConfig implements JsonSerializable { /* * Output (agent speech) audio configuration. @@ -25,10 +24,10 @@ public final class PickPropertiesVoiceAgentAudioConfig private VoiceAgentAudioOutputConfig output; /** - * Creates an instance of PickPropertiesVoiceAgentAudioConfig class. + * Creates an instance of VoiceAgentResponseAudioConfig class. */ @Generated - public PickPropertiesVoiceAgentAudioConfig() { + public VoiceAgentResponseAudioConfig() { } /** @@ -45,10 +44,10 @@ public VoiceAgentAudioOutputConfig getOutput() { * Set the output property: Output (agent speech) audio configuration. * * @param output the output value to set. - * @return the PickPropertiesVoiceAgentAudioConfig object itself. + * @return the VoiceAgentResponseAudioConfig object itself. */ @Generated - public PickPropertiesVoiceAgentAudioConfig setOutput(VoiceAgentAudioOutputConfig output) { + public VoiceAgentResponseAudioConfig setOutput(VoiceAgentAudioOutputConfig output) { this.output = output; return this; } @@ -65,29 +64,28 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of PickPropertiesVoiceAgentAudioConfig from the JsonReader. + * Reads an instance of VoiceAgentResponseAudioConfig from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of PickPropertiesVoiceAgentAudioConfig 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 PickPropertiesVoiceAgentAudioConfig. + * @return An instance of VoiceAgentResponseAudioConfig 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 VoiceAgentResponseAudioConfig. */ @Generated - public static PickPropertiesVoiceAgentAudioConfig fromJson(JsonReader jsonReader) throws IOException { + public static VoiceAgentResponseAudioConfig fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - PickPropertiesVoiceAgentAudioConfig deserializedPickPropertiesVoiceAgentAudioConfig - = new PickPropertiesVoiceAgentAudioConfig(); + VoiceAgentResponseAudioConfig deserializedVoiceAgentResponseAudioConfig + = new VoiceAgentResponseAudioConfig(); while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("output".equals(fieldName)) { - deserializedPickPropertiesVoiceAgentAudioConfig.output - = VoiceAgentAudioOutputConfig.fromJson(reader); + deserializedVoiceAgentResponseAudioConfig.output = VoiceAgentAudioOutputConfig.fromJson(reader); } else { reader.skipChildren(); } } - return deserializedPickPropertiesVoiceAgentAudioConfig; + return deserializedVoiceAgentResponseAudioConfig; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java index 7359051ce5819..d961d7009462b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java @@ -97,7 +97,7 @@ public final class VoiceAgentResponseCreateParams implements JsonSerializable VoiceOutputModality.fromString(reader1.getString())); deserializedVoiceAgentResponseCreateParams.outputModalities = outputModalities; } else if ("audio".equals(fieldName)) { - deserializedVoiceAgentResponseCreateParams.audio - = PickPropertiesVoiceAgentAudioConfig.fromJson(reader); + deserializedVoiceAgentResponseCreateParams.audio = VoiceAgentResponseAudioConfig.fromJson(reader); } else if ("input".equals(fieldName)) { List input = reader.readArray(reader1 -> RealtimeConversationItem.fromJson(reader1)); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java index c399adcb6ff72..2812995203ab3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBase.java @@ -130,6 +130,18 @@ public RealtimeResponseStatus getStatusDetails() { return this.statusDetails; } + /** + * Set the statusDetails property: Additional details about the status. + * + * @param statusDetails the statusDetails value to set. + * @return the VoiceResponseBase object itself. + */ + @Generated + VoiceResponseBase setStatusDetails(RealtimeResponseStatus statusDetails) { + this.statusDetails = statusDetails; + return this; + } + /** * Get the usage property: Usage statistics for the Response, this will correspond to billing. A * Realtime API session will maintain a conversation context and append new @@ -279,16 +291,4 @@ public static VoiceResponseBase fromJson(JsonReader jsonReader) throws IOExcepti return deserializedVoiceResponseBase; }); } - - /** - * Set the statusDetails property: Additional details about the status. - * - * @param statusDetails the statusDetails value to set. - * @return the VoiceResponseBase object itself. - */ - @Generated - VoiceResponseBase setStatusDetails(RealtimeResponseStatus statusDetails) { - this.statusDetails = statusDetails; - return this; - } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java deleted file mode 100644 index 714655bac4833..0000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VoiceResponseBaseObject1.java +++ /dev/null @@ -1,51 +0,0 @@ -// 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; - -/** - * Defines values for VoiceResponseBaseObject1. - */ -public enum VoiceResponseBaseObject1 { - /** - * Enum value realtime.response. - */ - REALTIME_RESPONSE("realtime.response"); - - /** - * The actual serialized value for a VoiceResponseBaseObject1 instance. - */ - private final String value; - - VoiceResponseBaseObject1(String value) { - this.value = value; - } - - /** - * Parses a serialized value to a VoiceResponseBaseObject1 instance. - * - * @param value the serialized value to parse. - * @return the parsed VoiceResponseBaseObject1 object, or null if unable to parse. - */ - public static VoiceResponseBaseObject1 fromString(String value) { - if (value == null) { - return null; - } - VoiceResponseBaseObject1[] items = VoiceResponseBaseObject1.values(); - for (VoiceResponseBaseObject1 item : items) { - if (item.toString().equalsIgnoreCase(value)) { - return item; - } - } - return null; - } - - /** - * {@inheritDoc} - */ - @Override - public String toString() { - return this.value; - } -} 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 ae1b4bcdc2553..98cfdb68fb5c7 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":"78a1ac27ad87","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.BetaVoiceAgentsConversationsAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.AgentHarness":"Azure.AI.Projects.AgentHarness","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AudioTranscription":"OpenAI.AudioTranscription","com.azure.ai.agents.models.AudioTranscriptionModel":"OpenAI.AudioTranscription.model.anonymous","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.CreateTeamsPhoneExtensionTelephonyBindingRequest":"Azure.AI.Projects.CreateTeamsPhoneExtensionTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyBindingRequest":"Azure.AI.Projects.CreateTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyCallJobRequest":"Azure.AI.Projects.CreateTelephonyCallJobRequest","com.azure.ai.agents.models.CreateTelephonyCampaignRequest":"Azure.AI.Projects.CreateTelephonyCampaignRequest","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsage":"OpenAI.CreateTranscriptionResponseJsonUsage","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsageType":"OpenAI.CreateTranscriptionResponseJsonUsageType","com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest":"Azure.AI.Projects.CreateTwilioTelephonyBindingRequest","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.GitHubCopilotBuiltInTool":"Azure.AI.Projects.GitHubCopilotBuiltInTool","com.azure.ai.agents.models.GitHubCopilotHarness":"Azure.AI.Projects.GitHubCopilotHarness","com.azure.ai.agents.models.GitHubCopilotToolsetConfig":"Azure.AI.Projects.GitHubCopilotToolsetConfig","com.azure.ai.agents.models.GitHubCopilotToolsetDefaultConfig":"Azure.AI.Projects.GitHubCopilotToolsetDefaultConfig","com.azure.ai.agents.models.GitHubCopilotToolsetPreview":"Azure.AI.Projects.GitHubCopilotToolsetPreview","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.ImportTelephonyCampaignRecipientsRequest":"Azure.AI.Projects.ImportTelephonyCampaignRecipientsRequest","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.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PSTNTelephonyTransferDestination":"Azure.AI.Projects.PSTNTelephonyTransferDestination","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.PickPropertiesVoiceAgentAudioConfig":"TypeSpec.PickProperties","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.PublishAgentToMicrosoft365Options":null,"com.azure.ai.agents.models.PublishApprovalStatus":"Azure.AI.Projects.PublishApprovalStatus","com.azure.ai.agents.models.PublishTelephonyCampaignRequest":"Azure.AI.Projects.PublishTelephonyCampaignRequest","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RaiInvocationContentType":"Azure.AI.Projects.RaiInvocationContentType","com.azure.ai.agents.models.RaiInvocationMode":"Azure.AI.Projects.RaiInvocationMode","com.azure.ai.agents.models.RaiInvocationModeration":"Azure.AI.Projects.RaiInvocationModeration","com.azure.ai.agents.models.RaiSseTextSelector":"Azure.AI.Projects.RaiSseTextSelector","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.RealtimeClientEvent":"OpenAI.RealtimeClientEvent","com.azure.ai.agents.models.RealtimeClientEventConversationItemCreate":"OpenAI.RealtimeClientEventConversationItemCreate","com.azure.ai.agents.models.RealtimeClientEventConversationItemDelete":"OpenAI.RealtimeClientEventConversationItemDelete","com.azure.ai.agents.models.RealtimeClientEventConversationItemRetrieve":"OpenAI.RealtimeClientEventConversationItemRetrieve","com.azure.ai.agents.models.RealtimeClientEventConversationItemTruncate":"OpenAI.RealtimeClientEventConversationItemTruncate","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferAppend":"OpenAI.RealtimeClientEventInputAudioBufferAppend","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferClear":"OpenAI.RealtimeClientEventInputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferCommit":"OpenAI.RealtimeClientEventInputAudioBufferCommit","com.azure.ai.agents.models.RealtimeClientEventOutputAudioBufferClear":"OpenAI.RealtimeClientEventOutputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventResponseCancel":"OpenAI.RealtimeClientEventResponseCancel","com.azure.ai.agents.models.RealtimeClientEventResponseCreate":"OpenAI.RealtimeClientEventResponseCreate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdate":"OpenAI.RealtimeClientEventSessionUpdate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionModel":"OpenAI.RealtimeClientEventSessionUpdate.session.model.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionOutputModality":"OpenAI.RealtimeClientEventSessionUpdate.session.output_modality.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation1":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventType":"OpenAI.RealtimeClientEventType","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.RealtimeConversationItemMessage":"OpenAI.RealtimeConversationItemMessage","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant":"OpenAI.RealtimeConversationItemMessageAssistant","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContent":"OpenAI.RealtimeConversationItemMessageAssistantContent","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContentType":"OpenAI.RealtimeConversationItemMessageAssistantContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantStatus":"OpenAI.RealtimeConversationItemMessageAssistant.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystem":"OpenAI.RealtimeConversationItemMessageSystem","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContent":"OpenAI.RealtimeConversationItemMessageSystemContent","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContentType":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemStatus":"OpenAI.RealtimeConversationItemMessageSystem.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageType":"OpenAI.RealtimeConversationItemMessageType","com.azure.ai.agents.models.RealtimeConversationItemMessageUser":"OpenAI.RealtimeConversationItemMessageUser","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContent":"OpenAI.RealtimeConversationItemMessageUserContent","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentDetail":"OpenAI.RealtimeConversationItemMessageUserContent.detail.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentType":"OpenAI.RealtimeConversationItemMessageUserContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserStatus":"OpenAI.RealtimeConversationItemMessageUser.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemObject":"RealtimeConversationItemObject","com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","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.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.RealtimeMcpHttpError":"OpenAI.RealtimeMCPHTTPError","com.azure.ai.agents.models.RealtimeServerEvent":"OpenAI.RealtimeServerEvent","com.azure.ai.agents.models.RealtimeServerEventConversationCreated":"OpenAI.RealtimeServerEventConversationCreated","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversation":"OpenAI.RealtimeServerEventConversationCreatedConversation","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversationObject":null,"com.azure.ai.agents.models.RealtimeServerEventConversationItemAdded":"OpenAI.RealtimeServerEventConversationItemAdded","com.azure.ai.agents.models.RealtimeServerEventConversationItemCreated":"OpenAI.RealtimeServerEventConversationItemCreated","com.azure.ai.agents.models.RealtimeServerEventConversationItemDeleted":"OpenAI.RealtimeServerEventConversationItemDeleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemDone":"OpenAI.RealtimeServerEventConversationItemDone","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionDelta":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionDelta","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailed":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailed","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionSegment":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionSegment","com.azure.ai.agents.models.RealtimeServerEventConversationItemRetrieved":"OpenAI.RealtimeServerEventConversationItemRetrieved","com.azure.ai.agents.models.RealtimeServerEventConversationItemTruncated":"OpenAI.RealtimeServerEventConversationItemTruncated","com.azure.ai.agents.models.RealtimeServerEventErrorError":"OpenAI.RealtimeServerEventErrorError","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCleared":"OpenAI.RealtimeServerEventInputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCommitted":"OpenAI.RealtimeServerEventInputAudioBufferCommitted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferDtmfEventReceived":"OpenAI.RealtimeServerEventInputAudioBufferDtmfEventReceived","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStarted":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStarted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStopped":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStopped","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferTimeoutTriggered":"OpenAI.RealtimeServerEventInputAudioBufferTimeoutTriggered","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsCompleted":"OpenAI.RealtimeServerEventMCPListToolsCompleted","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsFailed":"OpenAI.RealtimeServerEventMCPListToolsFailed","com.azure.ai.agents.models.RealtimeServerEventMCPListToolsInProgress":"OpenAI.RealtimeServerEventMCPListToolsInProgress","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferCleared":"OpenAI.RealtimeServerEventOutputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStarted":"OpenAI.RealtimeServerEventOutputAudioBufferStarted","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStopped":"OpenAI.RealtimeServerEventOutputAudioBufferStopped","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdated":"OpenAI.RealtimeServerEventRateLimitsUpdated","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimits":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimitsName":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits.name.anonymous","com.azure.ai.agents.models.RealtimeServerEventRealtimeServerEventError":"OpenAI.RealtimeServerEventRealtimeServerEventError","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDelta":"OpenAI.RealtimeServerEventResponseAudioDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDone":"OpenAI.RealtimeServerEventResponseAudioDone","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDelta":"OpenAI.RealtimeServerEventResponseAudioTranscriptDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDone":"OpenAI.RealtimeServerEventResponseAudioTranscriptDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAdded":"OpenAI.RealtimeServerEventResponseContentPartAdded","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPart":"OpenAI.RealtimeServerEventResponseContentPartAddedPart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPartType":"OpenAI.RealtimeServerEventResponseContentPartAddedPart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDone":"OpenAI.RealtimeServerEventResponseContentPartDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePart":"OpenAI.RealtimeServerEventResponseContentPartDonePart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePartType":"OpenAI.RealtimeServerEventResponseContentPartDonePart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseCreated":"OpenAI.RealtimeServerEventResponseCreated","com.azure.ai.agents.models.RealtimeServerEventResponseDone":"OpenAI.RealtimeServerEventResponseDone","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDone":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallArgumentsDone":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallCompleted":"OpenAI.RealtimeServerEventResponseMCPCallCompleted","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallFailed":"OpenAI.RealtimeServerEventResponseMCPCallFailed","com.azure.ai.agents.models.RealtimeServerEventResponseMCPCallInProgress":"OpenAI.RealtimeServerEventResponseMCPCallInProgress","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemAdded":"OpenAI.RealtimeServerEventResponseOutputItemAdded","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemDone":"OpenAI.RealtimeServerEventResponseOutputItemDone","com.azure.ai.agents.models.RealtimeServerEventResponseTextDelta":"OpenAI.RealtimeServerEventResponseTextDelta","com.azure.ai.agents.models.RealtimeServerEventResponseTextDone":"OpenAI.RealtimeServerEventResponseTextDone","com.azure.ai.agents.models.RealtimeServerEventSessionCreated":"OpenAI.RealtimeServerEventSessionCreated","com.azure.ai.agents.models.RealtimeServerEventSessionUpdated":"OpenAI.RealtimeServerEventSessionUpdated","com.azure.ai.agents.models.RealtimeServerEventType":"OpenAI.RealtimeServerEventType","com.azure.ai.agents.models.RealtimeSessionCreateRequestGA":"OpenAI.RealtimeSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudio":"OpenAI.RealtimeSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInput":"OpenAI.RealtimeSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutput":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutputVoice":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput.voice.anonymous","com.azure.ai.agents.models.RealtimeSessionCreateRequestGATracing":"OpenAI.RealtimeSessionCreateRequestGATracing","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnion":"OpenAI.RealtimeSessionCreateRequestUnion","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnionType":"OpenAI.RealtimeSessionCreateRequestUnionType","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGA":"OpenAI.RealtimeTranscriptionSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudio":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInput":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeTurnDetection":"OpenAI.RealtimeTurnDetection","com.azure.ai.agents.models.RealtimeTurnDetectionSemanticVad":"OpenAI.RealtimeTurnDetectionSemanticVad","com.azure.ai.agents.models.RealtimeTurnDetectionServerVad":"OpenAI.RealtimeTurnDetectionServerVad","com.azure.ai.agents.models.RealtimeTurnDetectionType":"OpenAI.RealtimeTurnDetectionType","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.RoutingConfiguration":"Azure.AI.Projects.RoutingConfiguration","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.SessionAffinityConfiguration":"Azure.AI.Projects.SessionAffinityConfiguration","com.azure.ai.agents.models.SessionAffinityDecision":"Azure.AI.Projects.SessionAffinityDecision","com.azure.ai.agents.models.SessionAffinityDetails":"Azure.AI.Projects.SessionAffinityDetails","com.azure.ai.agents.models.SessionAffinityMode":"Azure.AI.Projects.SessionAffinityMode","com.azure.ai.agents.models.SessionAffinityRequestMode":"Azure.AI.Projects.SessionAffinityRequestMode","com.azure.ai.agents.models.SessionAffinitySource":"Azure.AI.Projects.SessionAffinitySource","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.SkillReference":"Azure.AI.Projects.SkillReference","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.TeamsPhoneExtensionTelephonyBinding":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBinding","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.TelephonyBinding":"Azure.AI.Projects.TelephonyBinding","com.azure.ai.agents.models.TelephonyBindingListItem":"Azure.AI.Projects.TelephonyBindingListItem","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.TelephonyCallEndReason":"Azure.AI.Projects.TelephonyCallEndReason","com.azure.ai.agents.models.TelephonyCallJob":"Azure.AI.Projects.TelephonyCallJob","com.azure.ai.agents.models.TelephonyCallJobCancellation":"Azure.AI.Projects.TelephonyCallJobCancellation","com.azure.ai.agents.models.TelephonyCallJobSchedule":"Azure.AI.Projects.TelephonyCallJobSchedule","com.azure.ai.agents.models.TelephonyCallJobStatus":"Azure.AI.Projects.TelephonyCallJobStatus","com.azure.ai.agents.models.TelephonyCallJobTerminalReason":"Azure.AI.Projects.TelephonyCallJobTerminalReason","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.TelephonyCallLifecycleEventReason":"Azure.AI.Projects.TelephonyCallLifecycleEventReason","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.TelephonyCampaign":"Azure.AI.Projects.TelephonyCampaign","com.azure.ai.agents.models.TelephonyCampaignCallJobCounts":"Azure.AI.Projects.TelephonyCampaignCallJobCounts","com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus":"Azure.AI.Projects.TelephonyCampaignConfigurationStatus","com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling":"Azure.AI.Projects.TelephonyCampaignDuplicateHandling","com.azure.ai.agents.models.TelephonyCampaignExecutionStatus":"Azure.AI.Projects.TelephonyCampaignExecutionStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientImport":"Azure.AI.Projects.TelephonyCampaignRecipientImport","com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat":"Azure.AI.Projects.TelephonyCampaignRecipientImportFormat","com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource":"Azure.AI.Projects.TelephonyCampaignRecipientImportSource","com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus":"Azure.AI.Projects.TelephonyCampaignRecipientImportStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientMapping":"Azure.AI.Projects.TelephonyCampaignRecipientMapping","com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest":"Azure.AI.Projects.TelephonyCampaignRecipientMappingRequest","com.azure.ai.agents.models.TelephonyCampaignSchedule":"Azure.AI.Projects.TelephonyCampaignSchedule","com.azure.ai.agents.models.TelephonyCampaignScheduleType":"Azure.AI.Projects.TelephonyCampaignScheduleType","com.azure.ai.agents.models.TelephonyOperation":"Azure.AI.Projects.TelephonyOperation","com.azure.ai.agents.models.TelephonyOperationResource":"Azure.AI.Projects.TelephonyOperationResource","com.azure.ai.agents.models.TelephonyOperationStatus":"Azure.AI.Projects.TelephonyOperationStatus","com.azure.ai.agents.models.TelephonyOutboundDestination":"Azure.AI.Projects.TelephonyOutboundDestination","com.azure.ai.agents.models.TelephonyOutboundDestinationType":"Azure.AI.Projects.TelephonyOutboundDestinationType","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicy":"Azure.AI.Projects.TelephonyOutboundRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType":"Azure.AI.Projects.TelephonyOutboundRetryPolicyType","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferDestination":"Azure.AI.Projects.TelephonyTransferDestination","com.azure.ai.agents.models.TelephonyTransferDestinationKind":"Azure.AI.Projects.TelephonyTransferDestinationKind","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.TokenLimits":"OpenAI.TokenLimits","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.ToolChoiceOptions":"OpenAI.ToolChoiceOptions","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.ToolboxVersions":"Azure.AI.Projects.ToolboxVersions","com.azure.ai.agents.models.TranscriptTextUsageDuration":"OpenAI.TranscriptTextUsageDuration","com.azure.ai.agents.models.TranscriptTextUsageTokens":"OpenAI.TranscriptTextUsageTokens","com.azure.ai.agents.models.TranscriptTextUsageTokensInputTokenDetails":"OpenAI.TranscriptTextUsageTokensInputTokenDetails","com.azure.ai.agents.models.TranscriptionLanguage":"OpenAI.TranscriptionLanguage","com.azure.ai.agents.models.TwilioTelephonyBinding":"Azure.AI.Projects.TwilioTelephonyBinding","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.VoiceAgentAnimationConfig":"Azure.AI.Projects.VoiceAgentAnimationConfig","com.azure.ai.agents.models.VoiceAgentAnimationOutputType":"Azure.AI.Projects.VoiceAgentAnimationOutputType","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.VoiceAgentAvatarIceServer":"Azure.AI.Projects.VoiceAgentAvatarIceServer","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.VoiceAgentClientEventRtcCallSdpCreate":"Azure.AI.Projects.VoiceAgentClientEventRtcCallSdpCreate","com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect":"Azure.AI.Projects.VoiceAgentClientEventSessionAvatarConnect","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.VoiceAgentEndConversationSystemTool":"Azure.AI.Projects.VoiceAgentEndConversationSystemTool","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.VoiceAgentFunctionToolType":null,"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.VoiceAgentRealtimeResponse":"Azure.AI.Projects.VoiceAgentRealtimeResponse","com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase":"Azure.AI.Projects.VoiceAgentRealtimeResponseBase","com.azure.ai.agents.models.VoiceAgentResponseCreateParams":"Azure.AI.Projects.VoiceAgentResponseCreateParams","com.azure.ai.agents.models.VoiceAgentResponseCreateParamsConversation":"Azure.AI.Projects.VoiceAgentResponseCreateParams.conversation.anonymous","com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails":"Azure.AI.Projects.VoiceAgentRtcCallErrorDetails","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.VoiceAgentServerEventResponseAnimationBlendshapesDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseVideoDelta","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError":"Azure.AI.Projects.VoiceAgentServerEventRtcCallError","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated":"Azure.AI.Projects.VoiceAgentServerEventRtcCallSdpCreated","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarConnecting","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToIdle","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToSpeaking","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentAborted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentCompleted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentStarted","com.azure.ai.agents.models.VoiceAgentServerEventWarning":"Azure.AI.Projects.VoiceAgentServerEventWarning","com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails":"Azure.AI.Projects.VoiceAgentServerEventWarningDetails","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig":"Azure.AI.Projects.VoiceAgentSessionAvatarConfig","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentSessionResponseConfig":"Azure.AI.Projects.VoiceAgentSessionResponseConfig","com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig":"Azure.AI.Projects.VoiceAgentSessionUpdateConfig","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.VoiceAgentSubagentAbortReason":"Azure.AI.Projects.VoiceAgentSubagentAbortReason","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.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.VoiceAgentTranscriptionPhrase":"Azure.AI.Projects.VoiceAgentTranscriptionPhrase","com.azure.ai.agents.models.VoiceAgentTranscriptionWord":"Azure.AI.Projects.VoiceAgentTranscriptionWord","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.VoiceAudioCodec":"Azure.AI.Projects.VoiceAudioCodec","com.azure.ai.agents.models.VoiceAudioContainerFormat":"Azure.AI.Projects.VoiceAudioContainerFormat","com.azure.ai.agents.models.VoiceAudioItemResponse":"Azure.AI.Projects.VoiceAudioItemResponse","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.VoiceConversationEngine":"Azure.AI.Projects.VoiceConversationEngine","com.azure.ai.agents.models.VoiceConversationStatus":"Azure.AI.Projects.VoiceConversationStatus","com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse":"Azure.AI.Projects.VoiceGeneratedAudioItemResponse","com.azure.ai.agents.models.VoiceHostedAgentConversationEngine":"Azure.AI.Projects.VoiceHostedAgentConversationEngine","com.azure.ai.agents.models.VoiceIdsShared":"OpenAI.VoiceIdsShared","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.VoiceResponseBaseObject1":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/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/BetaVoiceAgentsConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.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/AgentHarness.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AudioTranscription.java","src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.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/CreateTeamsPhoneExtensionTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java","src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.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/GitHubCopilotBuiltInTool.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.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/ImportTelephonyCampaignRecipientsRequest.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/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PSTNTelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/PickPropertiesVoiceAgentAudioConfig.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/PublishAgentToMicrosoft365Options.java","src/main/java/com/azure/ai/agents/models/PublishApprovalStatus.java","src/main/java/com/azure/ai/agents/models/PublishTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java","src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java","src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java","src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.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/RealtimeClientEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation1.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.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/RealtimeConversationItemMessage.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.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/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/RealtimeMcpHttpError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventErrorError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMCPListToolsInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRealtimeServerEventError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMCPCallInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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/RoutingConfiguration.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/SessionAffinityConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java","src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinitySource.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/SkillReference.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/TeamsPhoneExtensionTelephonyBinding.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/TelephonyBinding.java","src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.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/TelephonyCallEndReason.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.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/TelephonyCallLifecycleEventReason.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/TelephonyCampaign.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java","src/main/java/com/azure/ai/agents/models/TelephonyOperation.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.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/TokenLimits.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/ToolChoiceOptions.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/ToolboxVersions.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java","src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.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/VoiceAgentAnimationConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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/VoiceAgentAvatarIceServer.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/VoiceAgentClientEventRtcCallSdpCreate.java","src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.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/VoiceAgentEndConversationSystemTool.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/VoiceAgentFunctionToolType.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/VoiceAgentRealtimeResponse.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.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/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.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/VoiceAgentSubagentAbortReason.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/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/VoiceAgentTranscriptionPhrase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.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/VoiceAudioCodec.java","src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java","src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.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/VoiceConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java","src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java","src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceIdsShared.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/VoiceResponseBaseObject1.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":"4f1554308480","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackage":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365AppPackageWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365AppPackage","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaults":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getMicrosoft365PublishDefaultsWithResponse":"Azure.AI.Projects.Microsoft365Publishing.getMicrosoft365PublishDefaults","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.publishAgentToMicrosoft365WithResponse":"Azure.AI.Projects.Microsoft365Publishing.publishAgentToMicrosoft365","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponseInternal":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.beginCreateOptimizationJobWithModel":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.createAgentFromPrompt":"Azure.AI.Projects.Agents.generateAgent","com.azure.ai.agents.BetaAgentsClient.createAgentFromPromptWithResponse":"Azure.AI.Projects.Agents.generateAgent","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.BetaVoiceAgentsConversationsAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsAsyncClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient":"Azure.AI.Projects.Beta.VoiceAgents.Conversations","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.deleteAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.deleteAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.downloadAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItemContent","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversation":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudio":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationAudioWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationAudio","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationGeneratedAudioItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationGeneratedAudioItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItem":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationItemWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationItem","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationResponseWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversationResponse","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.getAgentConversationWithResponse":"Azure.AI.Projects.AgentEndpointConversations.getAgentConversation","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponseItems":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponseItems","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversationResponses":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversationResponses","com.azure.ai.agents.BetaVoiceAgentsConversationsClient.listAgentConversations":"Azure.AI.Projects.AgentEndpointConversations.listAgentConversations","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyAsyncClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient":"Azure.AI.Projects.Beta.VoiceAgents.Telephony","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipients":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginImportTelephonyCampaignRecipientsWithModel":"Azure.AI.Projects.AgentTelephony.importTelephonyCampaignRecipients","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginPublishTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.publishTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.beginValidateTelephonyCampaignWithModel":"Azure.AI.Projects.AgentTelephony.validateTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.cancelTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.cancelTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBinding":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.createTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.createTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBinding":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.deleteTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.deleteTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCall":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.endTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.endTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBinding":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCall":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJob":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallJobWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCallJob","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImport":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignRecipientImportWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaignRecipientImport","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperation":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyOperationWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyOperation","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.getTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.getTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyBindings":"Azure.AI.Projects.AgentTelephony.listTelephonyBindings","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.listTelephonyCalls":"Azure.AI.Projects.AgentTelephony.listTelephonyCalls","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.pauseTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.pauseTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargets":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.replaceTelephonyTransferTargetsWithResponse":"Azure.AI.Projects.AgentTelephony.replaceTelephonyTransferTargets","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaign":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.resumeTelephonyCampaignWithResponse":"Azure.AI.Projects.AgentTelephony.resumeTelephonyCampaign","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCall":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.transferTelephonyCallWithResponse":"Azure.AI.Projects.AgentTelephony.transferTelephonyCall","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBinding":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","com.azure.ai.agents.BetaVoiceAgentsTelephonyClient.updateTelephonyBindingWithResponse":"Azure.AI.Projects.AgentTelephony.updateTelephonyBinding","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesAsyncClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.invokeLatestToolboxMcp":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","com.azure.ai.agents.ToolboxesClient.invokeLatestToolboxMcpWithResponse":"Azure.AI.Projects.Toolboxes.invokeLatestToolboxMcp","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.AgentHarness":"Azure.AI.Projects.AgentHarness","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentIdentityStatus":"Azure.AI.Projects.AgentIdentityStatus","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationCandidate","com.azure.ai.agents.models.AgentOptimizationDatasetCriterion":"Azure.AI.Projects.AgentOptimizationDatasetCriterion","com.azure.ai.agents.models.AgentOptimizationDatasetInput":"Azure.AI.Projects.AgentOptimizationDatasetInput","com.azure.ai.agents.models.AgentOptimizationDatasetInputType":"Azure.AI.Projects.AgentOptimizationDatasetInputType","com.azure.ai.agents.models.AgentOptimizationDatasetItem":"Azure.AI.Projects.AgentOptimizationDatasetItem","com.azure.ai.agents.models.AgentOptimizationEvaluatorReference":"Azure.AI.Projects.AgentOptimizationEvaluatorRef","com.azure.ai.agents.models.AgentOptimizationInlineDatasetInput":"Azure.AI.Projects.AgentOptimizationInlineDatasetInput","com.azure.ai.agents.models.AgentOptimizationJob":"Azure.AI.Projects.AgentOptimizationJob","com.azure.ai.agents.models.AgentOptimizationJobInputs":"Azure.AI.Projects.AgentOptimizationJobInputs","com.azure.ai.agents.models.AgentOptimizationJobListItem":"Azure.AI.Projects.AgentOptimizationJobListItem","com.azure.ai.agents.models.AgentOptimizationJobProgress":"Azure.AI.Projects.AgentOptimizationJobProgress","com.azure.ai.agents.models.AgentOptimizationJobResult":"Azure.AI.Projects.AgentOptimizationJobResult","com.azure.ai.agents.models.AgentOptimizationOptions":"Azure.AI.Projects.AgentOptimizationOptions","com.azure.ai.agents.models.AgentOptimizationReferenceDatasetInput":"Azure.AI.Projects.AgentOptimizationReferenceDatasetInput","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentStateSource":"Azure.AI.Projects.AgentStateSource","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AudioTranscription":"OpenAI.AudioTranscription","com.azure.ai.agents.models.AudioTranscriptionModel":"OpenAI.AudioTranscription.model.anonymous","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.CreateTeamsPhoneExtensionTelephonyBindingRequest":"Azure.AI.Projects.CreateTeamsPhoneExtensionTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyBindingRequest":"Azure.AI.Projects.CreateTelephonyBindingRequest","com.azure.ai.agents.models.CreateTelephonyCallJobRequest":"Azure.AI.Projects.CreateTelephonyCallJobRequest","com.azure.ai.agents.models.CreateTelephonyCampaignRequest":"Azure.AI.Projects.CreateTelephonyCampaignRequest","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsage":"OpenAI.CreateTranscriptionResponseJsonUsage","com.azure.ai.agents.models.CreateTranscriptionResponseJsonUsageType":"OpenAI.CreateTranscriptionResponseJsonUsageType","com.azure.ai.agents.models.CreateTwilioTelephonyBindingRequest":"Azure.AI.Projects.CreateTwilioTelephonyBindingRequest","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.GitHubCopilotBuiltInTool":"Azure.AI.Projects.GitHubCopilotBuiltInTool","com.azure.ai.agents.models.GitHubCopilotHarness":"Azure.AI.Projects.GitHubCopilotHarness","com.azure.ai.agents.models.GitHubCopilotToolsetConfig":"Azure.AI.Projects.GitHubCopilotToolsetConfig","com.azure.ai.agents.models.GitHubCopilotToolsetDefaultConfig":"Azure.AI.Projects.GitHubCopilotToolsetDefaultConfig","com.azure.ai.agents.models.GitHubCopilotToolsetPreview":"Azure.AI.Projects.GitHubCopilotToolsetPreview","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.ImportTelephonyCampaignRecipientsRequest":"Azure.AI.Projects.ImportTelephonyCampaignRecipientsRequest","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.Microsoft365PublishResult":"Azure.AI.Projects.Microsoft365PublishResponse","com.azure.ai.agents.models.Microsoft365PublishScope":"Azure.AI.Projects.Microsoft365PublishScope","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.ModelRouterAttempt":"Azure.AI.Projects.ModelRouterAttempt","com.azure.ai.agents.models.ModelRouterAttemptError":"Azure.AI.Projects.ModelRouterAttemptError","com.azure.ai.agents.models.ModelRouterAttemptResult":"Azure.AI.Projects.ModelRouterAttemptResult","com.azure.ai.agents.models.ModelRouterDetails":"Azure.AI.Projects.ModelRouterDetails","com.azure.ai.agents.models.ModelRouterMode":"Azure.AI.Projects.ModelRouterMode","com.azure.ai.agents.models.ModelSelectionDetails":"Azure.AI.Projects.ModelSelectionDetails","com.azure.ai.agents.models.NamespaceTool":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OpenApiToolboxTool":"Azure.AI.Projects.OpenApiToolboxTool","com.azure.ai.agents.models.OptimizedAgentIdentifier":"Azure.AI.Projects.OptimizedAgentIdentifier","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.ProgrammaticToolCallingParameter":"OpenAI.ProgrammaticToolCallingParam","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolConfiguration":"Azure.AI.Projects.ProtocolConfiguration","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.PstnTelephonyTransferDestination":"Azure.AI.Projects.PSTNTelephonyTransferDestination","com.azure.ai.agents.models.PublishAgentToMicrosoft365Options":null,"com.azure.ai.agents.models.PublishApprovalStatus":"Azure.AI.Projects.PublishApprovalStatus","com.azure.ai.agents.models.PublishTelephonyCampaignRequest":"Azure.AI.Projects.PublishTelephonyCampaignRequest","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RaiInvocationContentType":"Azure.AI.Projects.RaiInvocationContentType","com.azure.ai.agents.models.RaiInvocationMode":"Azure.AI.Projects.RaiInvocationMode","com.azure.ai.agents.models.RaiInvocationModeration":"Azure.AI.Projects.RaiInvocationModeration","com.azure.ai.agents.models.RaiSseTextSelector":"Azure.AI.Projects.RaiSseTextSelector","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.RealtimeClientEvent":"OpenAI.RealtimeClientEvent","com.azure.ai.agents.models.RealtimeClientEventConversationItemCreate":"OpenAI.RealtimeClientEventConversationItemCreate","com.azure.ai.agents.models.RealtimeClientEventConversationItemDelete":"OpenAI.RealtimeClientEventConversationItemDelete","com.azure.ai.agents.models.RealtimeClientEventConversationItemRetrieve":"OpenAI.RealtimeClientEventConversationItemRetrieve","com.azure.ai.agents.models.RealtimeClientEventConversationItemTruncate":"OpenAI.RealtimeClientEventConversationItemTruncate","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferAppend":"OpenAI.RealtimeClientEventInputAudioBufferAppend","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferClear":"OpenAI.RealtimeClientEventInputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventInputAudioBufferCommit":"OpenAI.RealtimeClientEventInputAudioBufferCommit","com.azure.ai.agents.models.RealtimeClientEventOutputAudioBufferClear":"OpenAI.RealtimeClientEventOutputAudioBufferClear","com.azure.ai.agents.models.RealtimeClientEventResponseCancel":"OpenAI.RealtimeClientEventResponseCancel","com.azure.ai.agents.models.RealtimeClientEventResponseCreate":"OpenAI.RealtimeClientEventResponseCreate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdate":"OpenAI.RealtimeClientEventSessionUpdate","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionModel":"OpenAI.RealtimeClientEventSessionUpdate.session.model.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionOutputModality":"OpenAI.RealtimeClientEventSessionUpdate.session.output_modality.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncation":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio":"OpenAI.RealtimeClientEventSessionUpdate.session.truncation.anonymous","com.azure.ai.agents.models.RealtimeClientEventType":"OpenAI.RealtimeClientEventType","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.RealtimeConversationItemMessage":"OpenAI.RealtimeConversationItemMessage","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistant":"OpenAI.RealtimeConversationItemMessageAssistant","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContent":"OpenAI.RealtimeConversationItemMessageAssistantContent","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantContentType":"OpenAI.RealtimeConversationItemMessageAssistantContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageAssistantStatus":"OpenAI.RealtimeConversationItemMessageAssistant.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageSystem":"OpenAI.RealtimeConversationItemMessageSystem","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContent":"OpenAI.RealtimeConversationItemMessageSystemContent","com.azure.ai.agents.models.RealtimeConversationItemMessageSystemContentType":null,"com.azure.ai.agents.models.RealtimeConversationItemMessageSystemStatus":"OpenAI.RealtimeConversationItemMessageSystem.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageType":"OpenAI.RealtimeConversationItemMessageType","com.azure.ai.agents.models.RealtimeConversationItemMessageUser":"OpenAI.RealtimeConversationItemMessageUser","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContent":"OpenAI.RealtimeConversationItemMessageUserContent","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentDetail":"OpenAI.RealtimeConversationItemMessageUserContent.detail.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserContentType":"OpenAI.RealtimeConversationItemMessageUserContent.type.anonymous","com.azure.ai.agents.models.RealtimeConversationItemMessageUserStatus":"OpenAI.RealtimeConversationItemMessageUser.status.anonymous","com.azure.ai.agents.models.RealtimeConversationItemObject":"RealtimeConversationItemObject","com.azure.ai.agents.models.RealtimeConversationItemType":"OpenAI.RealtimeConversationItemType","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.RealtimeMcpErrorType":"OpenAI.RealtimeMcpErrorType","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.RealtimeServerErrorDetails":"OpenAI.RealtimeServerEventErrorError","com.azure.ai.agents.models.RealtimeServerEvent":"OpenAI.RealtimeServerEvent","com.azure.ai.agents.models.RealtimeServerEventConversationCreated":"OpenAI.RealtimeServerEventConversationCreated","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversation":"OpenAI.RealtimeServerEventConversationCreatedConversation","com.azure.ai.agents.models.RealtimeServerEventConversationCreatedConversationObject":null,"com.azure.ai.agents.models.RealtimeServerEventConversationItemAdded":"OpenAI.RealtimeServerEventConversationItemAdded","com.azure.ai.agents.models.RealtimeServerEventConversationItemCreated":"OpenAI.RealtimeServerEventConversationItemCreated","com.azure.ai.agents.models.RealtimeServerEventConversationItemDeleted":"OpenAI.RealtimeServerEventConversationItemDeleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemDone":"OpenAI.RealtimeServerEventConversationItemDone","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionCompleted","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionDelta":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionDelta","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailed":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailed","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionFailedError","com.azure.ai.agents.models.RealtimeServerEventConversationItemInputAudioTranscriptionSegment":"OpenAI.RealtimeServerEventConversationItemInputAudioTranscriptionSegment","com.azure.ai.agents.models.RealtimeServerEventConversationItemRetrieved":"OpenAI.RealtimeServerEventConversationItemRetrieved","com.azure.ai.agents.models.RealtimeServerEventConversationItemTruncated":"OpenAI.RealtimeServerEventConversationItemTruncated","com.azure.ai.agents.models.RealtimeServerEventError":"OpenAI.RealtimeServerEventRealtimeServerEventError","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCleared":"OpenAI.RealtimeServerEventInputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferCommitted":"OpenAI.RealtimeServerEventInputAudioBufferCommitted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferDtmfEventReceived":"OpenAI.RealtimeServerEventInputAudioBufferDtmfEventReceived","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStarted":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStarted","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferSpeechStopped":"OpenAI.RealtimeServerEventInputAudioBufferSpeechStopped","com.azure.ai.agents.models.RealtimeServerEventInputAudioBufferTimeoutTriggered":"OpenAI.RealtimeServerEventInputAudioBufferTimeoutTriggered","com.azure.ai.agents.models.RealtimeServerEventMcpListToolsCompleted":"OpenAI.RealtimeServerEventMCPListToolsCompleted","com.azure.ai.agents.models.RealtimeServerEventMcpListToolsFailed":"OpenAI.RealtimeServerEventMCPListToolsFailed","com.azure.ai.agents.models.RealtimeServerEventMcpListToolsInProgress":"OpenAI.RealtimeServerEventMCPListToolsInProgress","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferCleared":"OpenAI.RealtimeServerEventOutputAudioBufferCleared","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStarted":"OpenAI.RealtimeServerEventOutputAudioBufferStarted","com.azure.ai.agents.models.RealtimeServerEventOutputAudioBufferStopped":"OpenAI.RealtimeServerEventOutputAudioBufferStopped","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdated":"OpenAI.RealtimeServerEventRateLimitsUpdated","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimits":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits","com.azure.ai.agents.models.RealtimeServerEventRateLimitsUpdatedRateLimitsName":"OpenAI.RealtimeServerEventRateLimitsUpdatedRateLimits.name.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDelta":"OpenAI.RealtimeServerEventResponseAudioDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioDone":"OpenAI.RealtimeServerEventResponseAudioDone","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDelta":"OpenAI.RealtimeServerEventResponseAudioTranscriptDelta","com.azure.ai.agents.models.RealtimeServerEventResponseAudioTranscriptDone":"OpenAI.RealtimeServerEventResponseAudioTranscriptDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAdded":"OpenAI.RealtimeServerEventResponseContentPartAdded","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPart":"OpenAI.RealtimeServerEventResponseContentPartAddedPart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartAddedPartType":"OpenAI.RealtimeServerEventResponseContentPartAddedPart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDone":"OpenAI.RealtimeServerEventResponseContentPartDone","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePart":"OpenAI.RealtimeServerEventResponseContentPartDonePart","com.azure.ai.agents.models.RealtimeServerEventResponseContentPartDonePartType":"OpenAI.RealtimeServerEventResponseContentPartDonePart.type.anonymous","com.azure.ai.agents.models.RealtimeServerEventResponseCreated":"OpenAI.RealtimeServerEventResponseCreated","com.azure.ai.agents.models.RealtimeServerEventResponseDone":"OpenAI.RealtimeServerEventResponseDone","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseFunctionCallArgumentsDone":"OpenAI.RealtimeServerEventResponseFunctionCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMcpCallArgumentsDelta":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDelta","com.azure.ai.agents.models.RealtimeServerEventResponseMcpCallArgumentsDone":"OpenAI.RealtimeServerEventResponseMCPCallArgumentsDone","com.azure.ai.agents.models.RealtimeServerEventResponseMcpCallCompleted":"OpenAI.RealtimeServerEventResponseMCPCallCompleted","com.azure.ai.agents.models.RealtimeServerEventResponseMcpCallFailed":"OpenAI.RealtimeServerEventResponseMCPCallFailed","com.azure.ai.agents.models.RealtimeServerEventResponseMcpCallInProgress":"OpenAI.RealtimeServerEventResponseMCPCallInProgress","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemAdded":"OpenAI.RealtimeServerEventResponseOutputItemAdded","com.azure.ai.agents.models.RealtimeServerEventResponseOutputItemDone":"OpenAI.RealtimeServerEventResponseOutputItemDone","com.azure.ai.agents.models.RealtimeServerEventResponseTextDelta":"OpenAI.RealtimeServerEventResponseTextDelta","com.azure.ai.agents.models.RealtimeServerEventResponseTextDone":"OpenAI.RealtimeServerEventResponseTextDone","com.azure.ai.agents.models.RealtimeServerEventSessionCreated":"OpenAI.RealtimeServerEventSessionCreated","com.azure.ai.agents.models.RealtimeServerEventSessionUpdated":"OpenAI.RealtimeServerEventSessionUpdated","com.azure.ai.agents.models.RealtimeServerEventType":"OpenAI.RealtimeServerEventType","com.azure.ai.agents.models.RealtimeSessionCreateRequestGA":"OpenAI.RealtimeSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudio":"OpenAI.RealtimeSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInput":"OpenAI.RealtimeSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutput":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput","com.azure.ai.agents.models.RealtimeSessionCreateRequestGAAudioOutputVoice":"OpenAI.RealtimeSessionCreateRequestGAAudioOutput.voice.anonymous","com.azure.ai.agents.models.RealtimeSessionCreateRequestGATracing":"OpenAI.RealtimeSessionCreateRequestGATracing","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnion":"OpenAI.RealtimeSessionCreateRequestUnion","com.azure.ai.agents.models.RealtimeSessionCreateRequestUnionType":"OpenAI.RealtimeSessionCreateRequestUnionType","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGA":"OpenAI.RealtimeTranscriptionSessionCreateRequestGA","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudio":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudio","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInput":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInput","com.azure.ai.agents.models.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction":"OpenAI.RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction","com.azure.ai.agents.models.RealtimeTurnDetection":"OpenAI.RealtimeTurnDetection","com.azure.ai.agents.models.RealtimeTurnDetectionSemanticVad":"OpenAI.RealtimeTurnDetectionSemanticVad","com.azure.ai.agents.models.RealtimeTurnDetectionServerVad":"OpenAI.RealtimeTurnDetectionServerVad","com.azure.ai.agents.models.RealtimeTurnDetectionType":"OpenAI.RealtimeTurnDetectionType","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.RoutingConfiguration":"Azure.AI.Projects.RoutingConfiguration","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.SessionAffinityConfiguration":"Azure.AI.Projects.SessionAffinityConfiguration","com.azure.ai.agents.models.SessionAffinityDecision":"Azure.AI.Projects.SessionAffinityDecision","com.azure.ai.agents.models.SessionAffinityDetails":"Azure.AI.Projects.SessionAffinityDetails","com.azure.ai.agents.models.SessionAffinityMode":"Azure.AI.Projects.SessionAffinityMode","com.azure.ai.agents.models.SessionAffinityRequestMode":"Azure.AI.Projects.SessionAffinityRequestMode","com.azure.ai.agents.models.SessionAffinitySource":"Azure.AI.Projects.SessionAffinitySource","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.SkillReference":"Azure.AI.Projects.SkillReference","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.TeamsPhoneExtensionTelephonyBinding":"Azure.AI.Projects.TeamsPhoneExtensionTelephonyBinding","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.TelephonyBinding":"Azure.AI.Projects.TelephonyBinding","com.azure.ai.agents.models.TelephonyBindingListItem":"Azure.AI.Projects.TelephonyBindingListItem","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.TelephonyCallEndReason":"Azure.AI.Projects.TelephonyCallEndReason","com.azure.ai.agents.models.TelephonyCallJob":"Azure.AI.Projects.TelephonyCallJob","com.azure.ai.agents.models.TelephonyCallJobCancellation":"Azure.AI.Projects.TelephonyCallJobCancellation","com.azure.ai.agents.models.TelephonyCallJobSchedule":"Azure.AI.Projects.TelephonyCallJobSchedule","com.azure.ai.agents.models.TelephonyCallJobStatus":"Azure.AI.Projects.TelephonyCallJobStatus","com.azure.ai.agents.models.TelephonyCallJobTerminalReason":"Azure.AI.Projects.TelephonyCallJobTerminalReason","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.TelephonyCallLifecycleEventReason":"Azure.AI.Projects.TelephonyCallLifecycleEventReason","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.TelephonyCampaign":"Azure.AI.Projects.TelephonyCampaign","com.azure.ai.agents.models.TelephonyCampaignCallJobCounts":"Azure.AI.Projects.TelephonyCampaignCallJobCounts","com.azure.ai.agents.models.TelephonyCampaignConfigurationStatus":"Azure.AI.Projects.TelephonyCampaignConfigurationStatus","com.azure.ai.agents.models.TelephonyCampaignDuplicateHandling":"Azure.AI.Projects.TelephonyCampaignDuplicateHandling","com.azure.ai.agents.models.TelephonyCampaignExecutionStatus":"Azure.AI.Projects.TelephonyCampaignExecutionStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientImport":"Azure.AI.Projects.TelephonyCampaignRecipientImport","com.azure.ai.agents.models.TelephonyCampaignRecipientImportFormat":"Azure.AI.Projects.TelephonyCampaignRecipientImportFormat","com.azure.ai.agents.models.TelephonyCampaignRecipientImportSource":"Azure.AI.Projects.TelephonyCampaignRecipientImportSource","com.azure.ai.agents.models.TelephonyCampaignRecipientImportStatus":"Azure.AI.Projects.TelephonyCampaignRecipientImportStatus","com.azure.ai.agents.models.TelephonyCampaignRecipientMapping":"Azure.AI.Projects.TelephonyCampaignRecipientMapping","com.azure.ai.agents.models.TelephonyCampaignRecipientMappingRequest":"Azure.AI.Projects.TelephonyCampaignRecipientMappingRequest","com.azure.ai.agents.models.TelephonyCampaignSchedule":"Azure.AI.Projects.TelephonyCampaignSchedule","com.azure.ai.agents.models.TelephonyCampaignScheduleType":"Azure.AI.Projects.TelephonyCampaignScheduleType","com.azure.ai.agents.models.TelephonyOperation":"Azure.AI.Projects.TelephonyOperation","com.azure.ai.agents.models.TelephonyOperationResource":"Azure.AI.Projects.TelephonyOperationResource","com.azure.ai.agents.models.TelephonyOperationStatus":"Azure.AI.Projects.TelephonyOperationStatus","com.azure.ai.agents.models.TelephonyOutboundDestination":"Azure.AI.Projects.TelephonyOutboundDestination","com.azure.ai.agents.models.TelephonyOutboundDestinationType":"Azure.AI.Projects.TelephonyOutboundDestinationType","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicy":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundFixedIntervalRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundFixedIntervalRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicy":"Azure.AI.Projects.TelephonyOutboundRetryPolicy","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyResponse":"Azure.AI.Projects.TelephonyOutboundRetryPolicyResponse","com.azure.ai.agents.models.TelephonyOutboundRetryPolicyType":"Azure.AI.Projects.TelephonyOutboundRetryPolicyType","com.azure.ai.agents.models.TelephonyProvider":"Azure.AI.Projects.TelephonyProvider","com.azure.ai.agents.models.TelephonyTransferDestination":"Azure.AI.Projects.TelephonyTransferDestination","com.azure.ai.agents.models.TelephonyTransferDestinationKind":"Azure.AI.Projects.TelephonyTransferDestinationKind","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.TokenLimits":"OpenAI.TokenLimits","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.ToolChoiceOptions":"OpenAI.ToolChoiceOptions","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.ToolboxVersions":"Azure.AI.Projects.ToolboxVersions","com.azure.ai.agents.models.TranscriptTextUsageDuration":"OpenAI.TranscriptTextUsageDuration","com.azure.ai.agents.models.TranscriptTextUsageTokens":"OpenAI.TranscriptTextUsageTokens","com.azure.ai.agents.models.TranscriptTextUsageTokensInputTokenDetails":"OpenAI.TranscriptTextUsageTokensInputTokenDetails","com.azure.ai.agents.models.TranscriptionLanguage":"OpenAI.TranscriptionLanguage","com.azure.ai.agents.models.TwilioTelephonyBinding":"Azure.AI.Projects.TwilioTelephonyBinding","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.VoiceAgentAnimationConfig":"Azure.AI.Projects.VoiceAgentAnimationConfig","com.azure.ai.agents.models.VoiceAgentAnimationOutputType":"Azure.AI.Projects.VoiceAgentAnimationOutputType","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.VoiceAgentAvatarIceServer":"Azure.AI.Projects.VoiceAgentAvatarIceServer","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.VoiceAgentClientEventRtcCallSdpCreate":"Azure.AI.Projects.VoiceAgentClientEventRtcCallSdpCreate","com.azure.ai.agents.models.VoiceAgentClientEventSessionAvatarConnect":"Azure.AI.Projects.VoiceAgentClientEventSessionAvatarConnect","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.VoiceAgentEndConversationSystemTool":"Azure.AI.Projects.VoiceAgentEndConversationSystemTool","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.VoiceAgentFunctionToolType":null,"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.VoiceAgentRealtimeResponse":"Azure.AI.Projects.VoiceAgentRealtimeResponse","com.azure.ai.agents.models.VoiceAgentRealtimeResponseBase":"Azure.AI.Projects.VoiceAgentRealtimeResponseBase","com.azure.ai.agents.models.VoiceAgentResponseAudioConfig":"TypeSpec.PickProperties","com.azure.ai.agents.models.VoiceAgentResponseCreateParams":"Azure.AI.Projects.VoiceAgentResponseCreateParams","com.azure.ai.agents.models.VoiceAgentResponseCreateParamsConversation":"Azure.AI.Projects.VoiceAgentResponseCreateParams.conversation.anonymous","com.azure.ai.agents.models.VoiceAgentRtcCallErrorDetails":"Azure.AI.Projects.VoiceAgentRtcCallErrorDetails","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.VoiceAgentServerEventResponseAnimationBlendshapesDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationBlendshapesDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationBlendshapesDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAnimationVisemeDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAnimationVisemeDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDelta","com.azure.ai.agents.models.VoiceAgentServerEventResponseAudioTimestampDone":"Azure.AI.Projects.VoiceAgentServerEventResponseAudioTimestampDone","com.azure.ai.agents.models.VoiceAgentServerEventResponseVideoDelta":"Azure.AI.Projects.VoiceAgentServerEventResponseVideoDelta","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallError":"Azure.AI.Projects.VoiceAgentServerEventRtcCallError","com.azure.ai.agents.models.VoiceAgentServerEventRtcCallSdpCreated":"Azure.AI.Projects.VoiceAgentServerEventRtcCallSdpCreated","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarConnecting":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarConnecting","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToIdle":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToIdle","com.azure.ai.agents.models.VoiceAgentServerEventSessionAvatarSwitchToSpeaking":"Azure.AI.Projects.VoiceAgentServerEventSessionAvatarSwitchToSpeaking","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentAborted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentAborted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentCompleted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentCompleted","com.azure.ai.agents.models.VoiceAgentServerEventSessionSubagentStarted":"Azure.AI.Projects.VoiceAgentServerEventSessionSubagentStarted","com.azure.ai.agents.models.VoiceAgentServerEventWarning":"Azure.AI.Projects.VoiceAgentServerEventWarning","com.azure.ai.agents.models.VoiceAgentServerEventWarningDetails":"Azure.AI.Projects.VoiceAgentServerEventWarningDetails","com.azure.ai.agents.models.VoiceAgentServerVadTurnDetection":"Azure.AI.Projects.VoiceAgentServerVadTurnDetection","com.azure.ai.agents.models.VoiceAgentSessionAvatarConfig":"Azure.AI.Projects.VoiceAgentSessionAvatarConfig","com.azure.ai.agents.models.VoiceAgentSessionIncludeOption":"Azure.AI.Projects.VoiceAgentSessionIncludeOption","com.azure.ai.agents.models.VoiceAgentSessionResponseConfig":"Azure.AI.Projects.VoiceAgentSessionResponseConfig","com.azure.ai.agents.models.VoiceAgentSessionUpdateConfig":"Azure.AI.Projects.VoiceAgentSessionUpdateConfig","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.VoiceAgentSubagentAbortReason":"Azure.AI.Projects.VoiceAgentSubagentAbortReason","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.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.VoiceAgentTranscriptionPhrase":"Azure.AI.Projects.VoiceAgentTranscriptionPhrase","com.azure.ai.agents.models.VoiceAgentTranscriptionWord":"Azure.AI.Projects.VoiceAgentTranscriptionWord","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.VoiceAudioCodec":"Azure.AI.Projects.VoiceAudioCodec","com.azure.ai.agents.models.VoiceAudioContainerFormat":"Azure.AI.Projects.VoiceAudioContainerFormat","com.azure.ai.agents.models.VoiceAudioItemResponse":"Azure.AI.Projects.VoiceAudioItemResponse","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.VoiceConversationEngine":"Azure.AI.Projects.VoiceConversationEngine","com.azure.ai.agents.models.VoiceConversationStatus":"Azure.AI.Projects.VoiceConversationStatus","com.azure.ai.agents.models.VoiceGeneratedAudioItemResponse":"Azure.AI.Projects.VoiceGeneratedAudioItemResponse","com.azure.ai.agents.models.VoiceHostedAgentConversationEngine":"Azure.AI.Projects.VoiceHostedAgentConversationEngine","com.azure.ai.agents.models.VoiceIdsShared":"OpenAI.VoiceIdsShared","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/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/BetaVoiceAgentsConversationsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsConversationsClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyAsyncClient.java","src/main/java/com/azure/ai/agents/BetaVoiceAgentsTelephonyClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsConversationsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaVoiceAgentsTelephoniesImpl.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/AgentHarness.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentIdentityStatus.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationEvaluatorReference.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJob.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationOptions.java","src/main/java/com/azure/ai/agents/models/AgentOptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentStateSource.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AudioTranscription.java","src/main/java/com/azure/ai/agents/models/AudioTranscriptionModel.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/CreateTeamsPhoneExtensionTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyBindingRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCallJobRequest.java","src/main/java/com/azure/ai/agents/models/CreateTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsage.java","src/main/java/com/azure/ai/agents/models/CreateTranscriptionResponseJsonUsageType.java","src/main/java/com/azure/ai/agents/models/CreateTwilioTelephonyBindingRequest.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/GitHubCopilotBuiltInTool.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotHarness.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetDefaultConfig.java","src/main/java/com/azure/ai/agents/models/GitHubCopilotToolsetPreview.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/ImportTelephonyCampaignRecipientsRequest.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/Microsoft365PublishResult.java","src/main/java/com/azure/ai/agents/models/Microsoft365PublishScope.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttempt.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptError.java","src/main/java/com/azure/ai/agents/models/ModelRouterAttemptResult.java","src/main/java/com/azure/ai/agents/models/ModelRouterDetails.java","src/main/java/com/azure/ai/agents/models/ModelRouterMode.java","src/main/java/com/azure/ai/agents/models/ModelSelectionDetails.java","src/main/java/com/azure/ai/agents/models/NamespaceTool.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OpenApiToolboxTool.java","src/main/java/com/azure/ai/agents/models/OptimizedAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/ProgrammaticToolCallingParameter.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolConfiguration.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/PstnTelephonyTransferDestination.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/PublishTelephonyCampaignRequest.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RaiInvocationContentType.java","src/main/java/com/azure/ai/agents/models/RaiInvocationMode.java","src/main/java/com/azure/ai/agents/models/RaiInvocationModeration.java","src/main/java/com/azure/ai/agents/models/RaiSseTextSelector.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/RealtimeClientEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemDelete.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemRetrieve.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventConversationItemTruncate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferAppend.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventInputAudioBufferCommit.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventOutputAudioBufferClear.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCancel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventResponseCreate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdate.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionModel.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionOutputModality.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncation.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventSessionUpdateSessionTruncationRetentionRatio.java","src/main/java/com/azure/ai/agents/models/RealtimeClientEventType.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/RealtimeConversationItemMessage.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistant.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageAssistantStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystem.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageSystemStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUser.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContent.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentDetail.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserContentType.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemMessageUserStatus.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemObject.java","src/main/java/com/azure/ai/agents/models/RealtimeConversationItemType.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/RealtimeMcpErrorType.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/RealtimeServerErrorDetails.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEvent.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversation.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationCreatedConversationObject.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDeleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionFailedError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemInputAudioTranscriptionSegment.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemRetrieved.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventConversationItemTruncated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventError.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferCommitted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferDtmfEventReceived.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferSpeechStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventInputAudioBufferTimeoutTriggered.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventMcpListToolsInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferCleared.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStarted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventOutputAudioBufferStopped.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimits.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventRateLimitsUpdatedRateLimitsName.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseAudioTranscriptDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartAddedPartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePart.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseContentPartDonePartType.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseFunctionCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallArgumentsDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallCompleted.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallFailed.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseMcpCallInProgress.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemAdded.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseOutputItemDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDelta.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventResponseTextDone.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionCreated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventSessionUpdated.java","src/main/java/com/azure/ai/agents/models/RealtimeServerEventType.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutput.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGAAudioOutputVoice.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestGATracing.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnion.java","src/main/java/com/azure/ai/agents/models/RealtimeSessionCreateRequestUnionType.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGA.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudio.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInput.java","src/main/java/com/azure/ai/agents/models/RealtimeTranscriptionSessionCreateRequestGAAudioInputNoiseReduction.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetection.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionSemanticVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionServerVad.java","src/main/java/com/azure/ai/agents/models/RealtimeTurnDetectionType.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/RoutingConfiguration.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/SessionAffinityConfiguration.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDecision.java","src/main/java/com/azure/ai/agents/models/SessionAffinityDetails.java","src/main/java/com/azure/ai/agents/models/SessionAffinityMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinityRequestMode.java","src/main/java/com/azure/ai/agents/models/SessionAffinitySource.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/SkillReference.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/TeamsPhoneExtensionTelephonyBinding.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/TelephonyBinding.java","src/main/java/com/azure/ai/agents/models/TelephonyBindingListItem.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/TelephonyCallEndReason.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJob.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobCancellation.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCallJobTerminalReason.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/TelephonyCallLifecycleEventReason.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/TelephonyCampaign.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignCallJobCounts.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignConfigurationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignDuplicateHandling.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignExecutionStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImport.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportFormat.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportSource.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientImportStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMapping.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignRecipientMappingRequest.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignSchedule.java","src/main/java/com/azure/ai/agents/models/TelephonyCampaignScheduleType.java","src/main/java/com/azure/ai/agents/models/TelephonyOperation.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationResource.java","src/main/java/com/azure/ai/agents/models/TelephonyOperationStatus.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundDestinationType.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundFixedIntervalRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicy.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyResponse.java","src/main/java/com/azure/ai/agents/models/TelephonyOutboundRetryPolicyType.java","src/main/java/com/azure/ai/agents/models/TelephonyProvider.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestination.java","src/main/java/com/azure/ai/agents/models/TelephonyTransferDestinationKind.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/TokenLimits.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/ToolChoiceOptions.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/ToolboxVersions.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageDuration.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokens.java","src/main/java/com/azure/ai/agents/models/TranscriptTextUsageTokensInputTokenDetails.java","src/main/java/com/azure/ai/agents/models/TranscriptionLanguage.java","src/main/java/com/azure/ai/agents/models/TwilioTelephonyBinding.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/VoiceAgentAnimationConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentAnimationOutputType.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/VoiceAgentAvatarIceServer.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/VoiceAgentClientEventRtcCallSdpCreate.java","src/main/java/com/azure/ai/agents/models/VoiceAgentClientEventSessionAvatarConnect.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/VoiceAgentEndConversationSystemTool.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/VoiceAgentFunctionToolType.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/VoiceAgentRealtimeResponse.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRealtimeResponseBase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseAudioConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParams.java","src/main/java/com/azure/ai/agents/models/VoiceAgentResponseCreateParamsConversation.java","src/main/java/com/azure/ai/agents/models/VoiceAgentRtcCallErrorDetails.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/VoiceAgentServerEventResponseAnimationBlendshapesDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationBlendshapesDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAnimationVisemeDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseAudioTimestampDone.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventResponseVideoDelta.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallError.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventRtcCallSdpCreated.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarConnecting.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToIdle.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionAvatarSwitchToSpeaking.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentAborted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentCompleted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventSessionSubagentStarted.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarning.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerEventWarningDetails.java","src/main/java/com/azure/ai/agents/models/VoiceAgentServerVadTurnDetection.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionAvatarConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionIncludeOption.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionResponseConfig.java","src/main/java/com/azure/ai/agents/models/VoiceAgentSessionUpdateConfig.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/VoiceAgentSubagentAbortReason.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/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/VoiceAgentTranscriptionPhrase.java","src/main/java/com/azure/ai/agents/models/VoiceAgentTranscriptionWord.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/VoiceAudioCodec.java","src/main/java/com/azure/ai/agents/models/VoiceAudioContainerFormat.java","src/main/java/com/azure/ai/agents/models/VoiceAudioItemResponse.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/VoiceConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceConversationStatus.java","src/main/java/com/azure/ai/agents/models/VoiceGeneratedAudioItemResponse.java","src/main/java/com/azure/ai/agents/models/VoiceHostedAgentConversationEngine.java","src/main/java/com/azure/ai/agents/models/VoiceIdsShared.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/tsp-location.yaml b/sdk/ai/azure-ai-agents/tsp-location.yaml index 341a89ffbffb6..1ab79b3ab289f 100644 --- a/sdk/ai/azure-ai-agents/tsp-location.yaml +++ b/sdk/ai/azure-ai-agents/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-agents -commit: 96dc35d7b34f57fafb8fea1f636f9c3072a7042b +commit: 2ba065c423a4c08ddb4e517a9f16deb17cb378c2 repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents From bcf5410baa8d5924eb864d04784d7d77188a414f Mon Sep 17 00:00:00 2001 From: kaylieee Date: Mon, 14 Sep 2026 18:35:32 -0700 Subject: [PATCH 14/15] add versioning for ci --- sdk/ai/azure-ai-agents/pom.xml | 1 + sdk/ai/azure-ai-projects/pom.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/sdk/ai/azure-ai-agents/pom.xml b/sdk/ai/azure-ai-agents/pom.xml index 4f0b0a081fe1f..0e49aae3f313c 100644 --- a/sdk/ai/azure-ai-agents/pom.xml +++ b/sdk/ai/azure-ai-agents/pom.xml @@ -115,6 +115,7 @@ org.revapi revapi-maven-plugin + 0.15.1 diff --git a/sdk/ai/azure-ai-projects/pom.xml b/sdk/ai/azure-ai-projects/pom.xml index fca69b4dda8b3..93688e2388ae9 100644 --- a/sdk/ai/azure-ai-projects/pom.xml +++ b/sdk/ai/azure-ai-projects/pom.xml @@ -116,6 +116,7 @@ Code generated by Microsoft (R) TypeSpec Code Generator. org.revapi revapi-maven-plugin + 0.15.1 From 444d658d20c9fcdd3ccbc6d7ff99564431470386 Mon Sep 17 00:00:00 2001 From: Kaylie <50653231+kaylieee@users.noreply.github.com> Date: Mon, 14 Sep 2026 18:44:32 -0700 Subject: [PATCH 15/15] Fix return type in buildBetaVoiceAgentsConversationsAsyncClient Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../src/main/java/com/azure/ai/agents/AgentsClientBuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java index 76589568267b1..824df8d8f9be5 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsClientBuilder.java @@ -632,7 +632,7 @@ public BetaVoiceAgentsTelephonyAsyncClient buildBetaVoiceAgentsTelephonyAsyncCli * {@code Foundry-Features} header required for voice-agent preview operations, so * {@link AgentsClientBuilder#allowPreview(boolean)} does not need to be enabled. * - * @return an instance of BetaVoiceAgentConversationsAsyncClient. + * @return an instance of BetaVoiceAgentsConversationsAsyncClient. */ @Beta public BetaVoiceAgentsConversationsAsyncClient buildBetaVoiceAgentsConversationsAsyncClient() {