From 1640d63bd430a60672a86ab077a8823482c963a5 Mon Sep 17 00:00:00 2001
From: kaylieee
Date: Wed, 17 Jun 2026 16:21:22 -0700
Subject: [PATCH 01/12] regen projects
---
.../ai/projects/BetaRoutinesAsyncClient.java | 2 +-
.../azure/ai/projects/BetaRoutinesClient.java | 2 +-
.../implementation/BetaRoutinesImpl.java | 8 +++----
.../models/FoundryFeaturesOptInKeys.java | 9 ++------
.../azure/ai/projects/models/RoutineRun.java | 13 +++++++----
.../projects/models/TimerRoutineTrigger.java | 23 +++++++++++--------
.../META-INF/azure-ai-projects_metadata.json | 2 +-
...p-location.yaml.hide => tsp-location.yaml} | 3 +--
8 files changed, 33 insertions(+), 29 deletions(-)
rename sdk/ai/azure-ai-projects/{tsp-location.yaml.hide => tsp-location.yaml} (93%)
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java
index 56e84d889017..54b7515a2ce9 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesAsyncClient.java
@@ -335,7 +335,7 @@ public Mono> deleteRoutineWithResponse(String routineName, Reques
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesClient.java
index 75ada9132b69..42406b22ada5 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRoutinesClient.java
@@ -325,7 +325,7 @@ public Response deleteRoutineWithResponse(String routineName, RequestOptio
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java
index a9cf408a172e..64beb39296d2 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaRoutinesImpl.java
@@ -910,7 +910,7 @@ public Response deleteRoutineWithResponse(String routineName, RequestOptio
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
@@ -980,7 +980,7 @@ private Mono> listRoutineRunsSinglePageAsync(String ro
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
@@ -1043,7 +1043,7 @@ public PagedFlux listRoutineRunsAsync(String routineName, RequestOpt
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
@@ -1110,7 +1110,7 @@ private PagedResponse listRoutineRunsSinglePage(String routineName,
* {@code
* {
* id: String (Required)
- * status: String (Optional)
+ * status: BinaryData (Optional)
* phase: String(queued/dispatching/completed/failed) (Optional)
* trigger_type: String(custom/github_issue/schedule/timer) (Optional)
* trigger_name: String (Optional)
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java
index 7ff0c38c1644..473a8c9581bf 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/FoundryFeaturesOptInKeys.java
@@ -38,11 +38,6 @@ public enum FoundryFeaturesOptInKeys {
*/
ROUTINES_V1_PREVIEW("Routines=V1Preview"),
- /**
- * Enum value Toolboxes=V1Preview.
- */
- TOOLBOXES_V1_PREVIEW("Toolboxes=V1Preview"),
-
/**
* Enum value Skills=V1Preview.
*/
@@ -59,9 +54,9 @@ public enum FoundryFeaturesOptInKeys {
MODELS_V1_PREVIEW("Models=V1Preview"),
/**
- * Enum value AgentsOptimization=V1Preview.
+ * Enum value AgentsOptimization=V2Preview.
*/
- AGENTS_OPTIMIZATION_V1_PREVIEW("AgentsOptimization=V1Preview");
+ AGENTS_OPTIMIZATION_V2_PREVIEW("AgentsOptimization=V2Preview");
/**
* The actual serialized value for a FoundryFeaturesOptInKeys instance.
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RoutineRun.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RoutineRun.java
index 3c9700fa6789..c1b6fad3522c 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RoutineRun.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RoutineRun.java
@@ -5,6 +5,7 @@
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;
@@ -30,7 +31,7 @@ public final class RoutineRun implements JsonSerializable {
* The run status.
*/
@Generated
- private String status;
+ private BinaryData status;
/*
* The AgentExtensions lifecycle phase for the routine attempt.
@@ -126,7 +127,7 @@ public String getId() {
* @return the status value.
*/
@Generated
- public String getStatus() {
+ public BinaryData getStatus() {
return this.status;
}
@@ -276,7 +277,10 @@ public String getErrorMessage() {
@Override
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
- jsonWriter.writeStringField("status", this.status);
+ if (this.status != null) {
+ jsonWriter.writeFieldName("status");
+ this.status.writeTo(jsonWriter);
+ }
jsonWriter.writeStringField("phase", this.phase == null ? null : this.phase.toString());
jsonWriter.writeStringField("trigger_type", this.triggerType == null ? null : this.triggerType.toString());
jsonWriter.writeStringField("trigger_name", this.triggerName);
@@ -320,7 +324,8 @@ public static RoutineRun fromJson(JsonReader jsonReader) throws IOException {
if ("id".equals(fieldName)) {
deserializedRoutineRun.id = reader.getString();
} else if ("status".equals(fieldName)) {
- deserializedRoutineRun.status = reader.getString();
+ deserializedRoutineRun.status
+ = reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()));
} else if ("phase".equals(fieldName)) {
deserializedRoutineRun.phase = RoutineRunPhase.fromString(reader.getString());
} else if ("trigger_type".equals(fieldName)) {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java
index a19011197929..8e14296fea3d 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/TimerRoutineTrigger.java
@@ -5,13 +5,13 @@
import com.azure.core.annotation.Fluent;
import com.azure.core.annotation.Generated;
-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;
+import java.time.Instant;
import java.time.OffsetDateTime;
-import java.time.format.DateTimeFormatter;
+import java.time.ZoneOffset;
/**
* A one-shot timer routine trigger.
@@ -29,7 +29,7 @@ public final class TimerRoutineTrigger extends RoutineTrigger {
* The UTC date and time at which the timer fires.
*/
@Generated
- private OffsetDateTime at;
+ private Long at;
/**
* Get the type property: The trigger type.
@@ -49,7 +49,10 @@ public RoutineTriggerType getType() {
*/
@Generated
public OffsetDateTime getAt() {
- return this.at;
+ if (this.at == null) {
+ return null;
+ }
+ return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.at), ZoneOffset.UTC);
}
/**
@@ -60,8 +63,7 @@ public OffsetDateTime getAt() {
public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
jsonWriter.writeStartObject();
jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString());
- jsonWriter.writeStringField("at",
- this.at == null ? null : DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(this.at));
+ jsonWriter.writeNumberField("at", this.at);
return jsonWriter.writeEndObject();
}
@@ -83,8 +85,7 @@ public static TimerRoutineTrigger fromJson(JsonReader jsonReader) throws IOExcep
if ("type".equals(fieldName)) {
deserializedTimerRoutineTrigger.type = RoutineTriggerType.fromString(reader.getString());
} else if ("at".equals(fieldName)) {
- deserializedTimerRoutineTrigger.at = reader
- .getNullable(nonNullReader -> CoreUtils.parseBestOffsetDateTime(nonNullReader.getString()));
+ deserializedTimerRoutineTrigger.at = reader.getNullable(JsonReader::getLong);
} else {
reader.skipChildren();
}
@@ -108,7 +109,11 @@ public TimerRoutineTrigger() {
*/
@Generated
public TimerRoutineTrigger setAt(OffsetDateTime at) {
- this.at = at;
+ if (at == null) {
+ this.at = null;
+ } else {
+ this.at = at.toEpochSecond();
+ }
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 d93ccfc7cb54..126e3c1ec319 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":"1fd577ab6c0c","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","com.azure.ai.projects.BetaDatasetsAsyncClient":"Azure.AI.Projects.Beta.Datasets","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.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","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.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","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.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","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.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","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.createSkillVersionFromFilesWithResponse":"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.createSkillVersionFromFilesWithResponse":"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.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.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.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.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.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.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.SystemDataV3":"Azure.AI.Projects.SystemDataV3","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/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/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/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/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/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/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/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/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/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/SystemDataV3.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":"570731661465","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","com.azure.ai.projects.BetaDatasetsAsyncClient":"Azure.AI.Projects.Beta.Datasets","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.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsAsyncClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","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.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.BetaDatasetsClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.BetaDatasetsClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","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.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsAsyncClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","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.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.BetaEvaluatorsClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","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.createSkillVersionFromFilesWithResponse":"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.createSkillVersionFromFilesWithResponse":"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.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.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.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.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.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.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.SystemDataV3":"Azure.AI.Projects.SystemDataV3","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/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/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/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/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/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/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/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/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/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/SystemDataV3.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.hide b/sdk/ai/azure-ai-projects/tsp-location.yaml
similarity index 93%
rename from sdk/ai/azure-ai-projects/tsp-location.yaml.hide
rename to sdk/ai/azure-ai-projects/tsp-location.yaml
index 06dfdccc7e80..2eb93591dfee 100644
--- a/sdk/ai/azure-ai-projects/tsp-location.yaml.hide
+++ 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: 85a61ca34a5b7bfcd0be3f3b9f1bc890ef86b220
+commit: ed970345c89c8758b74b08f740067cc2d854ed26
repo: Azure/azure-rest-api-specs
additionalDirectories:
- specification/ai-foundry/data-plane/Foundry/src/sdk-common
@@ -22,7 +22,6 @@ additionalDirectories:
- specification/ai-foundry/data-plane/Foundry/src/red-teams
- specification/ai-foundry/data-plane/Foundry/src/routines
- specification/ai-foundry/data-plane/Foundry/src/schedules
- - specification/ai-foundry/data-plane/Foundry/src/servicepatterns.tsp
- specification/ai-foundry/data-plane/Foundry/src/skills
- specification/ai-foundry/data-plane/Foundry/src/toolboxes
- specification/ai-foundry/data-plane/Foundry/src/tools
From 7c0a2178f5f253cea2fac8095c79cd37ca6876e3 Mon Sep 17 00:00:00 2001
From: kaylieee
Date: Wed, 17 Jun 2026 16:53:32 -0700
Subject: [PATCH 02/12] regen agents
---
.../azure/ai/agents/AgentsAsyncClient.java | 1807 ++++++
.../com/azure/ai/agents/AgentsClient.java | 1736 ++++++
.../azure/ai/agents/AgentsClientBuilder.java | 60 +-
.../ai/agents/BetaAgentsAsyncClient.java | 3501 ++---------
.../com/azure/ai/agents/BetaAgentsClient.java | 3284 ++--------
...cClient.java => ToolboxesAsyncClient.java} | 18 +-
...lboxesClient.java => ToolboxesClient.java} | 18 +-
.../implementation/AgentsClientImpl.java | 30 +-
.../ai/agents/implementation/AgentsImpl.java | 4005 +++++++++---
.../agents/implementation/BetaAgentsImpl.java | 5500 +++--------------
...aToolboxesImpl.java => ToolboxesImpl.java} | 40 +-
.../models/AgentDefinitionOptInKeys.java | 15 -
.../models/FoundryFeaturesOptInKeys.java | 9 +-
.../ai/agents/models/AgentDefinition.java | 6 +-
.../azure/ai/agents/models/AgentProtocol.java | 6 +
.../agents/models/CandidateDeployConfig.java | 176 -
.../ai/agents/models/CandidateFileInfo.java | 126 -
.../ai/agents/models/CandidateMetadata.java | 293 -
.../ai/agents/models/CandidateResults.java | 105 -
.../azure/ai/agents/models/ComputerTool.java | 81 +
.../ai/agents/models/CustomToolParameter.java | 33 +
.../azure/ai/agents/models/DatasetInfo.java | 147 -
.../ai/agents/models/EmptyModelParam.java | 57 +
.../azure/ai/agents/models/FunctionTool.java | 33 +
.../ai/agents/models/FunctionToolParam.java | 232 +
.../azure/ai/agents/models/ImageGenTool.java | 27 +-
.../azure/ai/agents/models/IncludeEnum.java | 1 +
.../com/azure/ai/agents/models/McpTool.java | 33 +
.../ai/agents/models/NamespaceToolParam.java | 159 +
.../models/OptimizationAgentDefinition.java | 195 -
....java => OptimizationAgentIdentifier.java} | 27 +-
.../agents/models/OptimizationCandidate.java | 142 +-
.../models/OptimizationDatasetCriterion.java | 104 +
.../models/OptimizationDatasetInput.java | 108 +
.../models/OptimizationDatasetInputType.java | 57 +
.../models/OptimizationDatasetItem.java | 186 +
...Ref.java => OptimizationEvaluatorRef.java} | 38 +-
.../OptimizationInlineDatasetInput.java | 106 +
.../ai/agents/models/OptimizationJob.java | 62 +-
.../agents/models/OptimizationJobInputs.java | 160 +-
.../models/OptimizationJobListItem.java | 189 +
.../models/OptimizationJobProgress.java | 48 +-
.../agents/models/OptimizationJobResult.java | 85 +-
.../ai/agents/models/OptimizationOptions.java | 64 +-
.../OptimizationReferenceDatasetInput.java | 138 +
.../agents/models/OptimizationTaskResult.java | 306 -
.../agents/models/PromoteCandidateInput.java | 104 -
.../agents/models/PromoteCandidateResult.java | 178 -
.../ai/agents/models/SearchContentType.java | 56 +
.../java/com/azure/ai/agents/models/Tool.java | 6 +
.../models/ToolSearchExecutionType.java | 56 +
.../ai/agents/models/ToolSearchToolParam.java | 173 +
.../com/azure/ai/agents/models/ToolType.java | 18 +
.../agents/models/WebSearchPreviewTool.java | 35 +
.../META-INF/azure-ai-agents_metadata.json | 2 +-
...p-location.yaml.hide => tsp-location.yaml} | 3 +-
56 files changed, 10592 insertions(+), 13592 deletions(-)
rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/{BetaToolboxesAsyncClient.java => ToolboxesAsyncClient.java} (94%)
rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/{BetaToolboxesClient.java => ToolboxesClient.java} (93%)
rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/{BetaToolboxesImpl.java => ToolboxesImpl.java} (91%)
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateDeployConfig.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateResults.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ComputerTool.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EmptyModelParam.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FunctionToolParam.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/NamespaceToolParam.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentDefinition.java
rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{AgentIdentifier.java => OptimizationAgentIdentifier.java} (74%)
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetCriterion.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInput.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInputType.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetItem.java
rename sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/{DatasetRef.java => OptimizationEvaluatorRef.java} (63%)
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationInlineDatasetInput.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobListItem.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationReferenceDatasetInput.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationTaskResult.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateInput.java
delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResult.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SearchContentType.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java
create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolSearchToolParam.java
rename sdk/ai/azure-ai-agents/{tsp-location.yaml.hide => tsp-location.yaml} (89%)
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 957ddb00e6b0..d0f4a67392b4 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
@@ -4,20 +4,32 @@
package com.azure.ai.agents;
import com.azure.ai.agents.implementation.AgentsImpl;
+import com.azure.ai.agents.implementation.JsonMergePatchHelper;
+import com.azure.ai.agents.implementation.MultipartFormDataHelper;
+import com.azure.ai.agents.implementation.SessionLogStreamHelper;
+import com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent;
import com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest;
import com.azure.ai.agents.implementation.models.CreateAgentOptions;
import com.azure.ai.agents.implementation.models.CreateAgentRequest;
import com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest;
import com.azure.ai.agents.implementation.models.CreateAgentVersionRequest;
+import com.azure.ai.agents.implementation.models.CreateSessionRequest;
import com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest;
import com.azure.ai.agents.implementation.models.UpdateAgentRequest;
import com.azure.ai.agents.models.AgentBlueprintReference;
import com.azure.ai.agents.models.AgentDefinition;
import com.azure.ai.agents.models.AgentDetails;
import com.azure.ai.agents.models.AgentKind;
+import com.azure.ai.agents.models.AgentSessionResource;
import com.azure.ai.agents.models.AgentVersionDetails;
+import com.azure.ai.agents.models.CreateAgentVersionFromCodeContent;
import com.azure.ai.agents.models.CreateAgentVersionInput;
import com.azure.ai.agents.models.PageOrder;
+import com.azure.ai.agents.models.SessionDirectoryEntry;
+import com.azure.ai.agents.models.SessionFileWriteResult;
+import com.azure.ai.agents.models.SessionLogEvent;
+import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
+import com.azure.ai.agents.models.VersionIndicator;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
@@ -2130,4 +2142,1799 @@ Mono updateAgent(String agentName, AgentDefinition definition, Map
return updateAgentWithResponse(agentName, updateAgentRequest, requestOptions).flatMap(FluxUtil::toMono)
.map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
}
+
+ /**
+ * Create a new code-based agent
+ *
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> createAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.createAgentFromCodeWithResponseAsync(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> updateAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.updateAgentFromCodeWithResponseAsync(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Update an agent endpoint
+ *
+ * Applies a merge-patch update to the specified agent endpoint configuration.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> updateAgentDetailsWithResponse(String agentName,
+ BinaryData patchAgentObjectRequest, RequestOptions requestOptions) {
+ return this.serviceClient.updateAgentDetailsWithResponseAsync(agentName, patchAgentObjectRequest,
+ requestOptions);
+ }
+
+ /**
+ * Create an agent version from code
+ *
+ * Creates a new agent version from code. Uploads the code zip and creates a new version
+ * for an existing agent. The SHA-256 hex digest of the zip is provided in the
+ * `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono> createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
+ // and hence not generated.
+ return this.serviceClient.createAgentVersionFromCodeWithResponseAsync(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | agent_version | String | No | The version of the agent whose code zip should be
+ * downloaded.
+ * If omitted, the latest version's code zip is returned. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @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 body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.downloadAgentCodeWithResponseAsync(agentName, requestOptions);
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Optional)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param createSessionRequest The createSessionRequest 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 agent session providing a long-lived compute sandbox for hosted agent invocations along with
+ * {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> createSessionWithResponse(String agentName, BinaryData createSessionRequest,
+ RequestOptions requestOptions) {
+ return this.serviceClient.createSessionWithResponseAsync(agentName, createSessionRequest, requestOptions);
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}
+ * on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getSessionWithResponse(String agentName, String sessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getSessionWithResponseAsync(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 the {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> deleteSessionWithResponse(String agentName, String sessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.deleteSessionWithResponseAsync(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * Stop a session
+ *
+ * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 the {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> stopSessionWithResponse(String agentName, String sessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.stopSessionWithResponseAsync(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (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 listSessions(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.listSessionsAsync(agentName, requestOptions);
+ }
+
+ /**
+ * Stream console logs for a hosted agent session
+ *
+ * Streams console logs (stdout / stderr) for a specific hosted agent session
+ * as a Server-Sent Events (SSE) stream.
+ *
+ * Each SSE frame contains:
+ * - `event`: always `"log"`
+ * - `data`: a plain-text log line (currently JSON-formatted, but the schema
+ * is not contractual and may include additional keys or change format
+ * over time — clients should treat it as an opaque string)
+ *
+ * Example SSE frames:
+ * ```
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
+ * 8088"}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
+ * ```
+ *
+ * The stream remains open until the client disconnects or the server
+ * terminates the connection. Clients should handle reconnection as needed.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * event: String(log) (Required)
+ * data: String (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @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 single Server-Sent Event frame emitted by the hosted agent session log stream.
+ *
+ * Each frame contains an `event` field identifying the event type and a `data`
+ * field carrying the payload as plain text along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getSessionLogStreamWithResponse(String agentName, String agentVersion,
+ String sessionId, RequestOptions requestOptions) {
+ return this.serviceClient.getSessionLogStreamWithResponseAsync(agentName, agentVersion, sessionId,
+ requestOptions);
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * path: String (Required)
+ * bytes_written: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from uploading a file to a session sandbox along with {@link Response} on successful completion
+ * of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> uploadSessionFileWithResponse(String agentName, String agentSessionId,
+ String path, BinaryData content, RequestOptions requestOptions) {
+ return this.serviceClient.uploadSessionFileWithResponseAsync(agentName, agentSessionId, path, content,
+ requestOptions);
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @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> downloadSessionFileWithResponse(String agentName, String agentSessionId,
+ String path, RequestOptions requestOptions) {
+ return this.serviceClient.downloadSessionFileWithResponseAsync(agentName, agentSessionId, path, requestOptions);
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | path | String | No | The directory path to list, relative to the session home
+ * directory. Defaults to the home directory if not provided. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * name: String (Required)
+ * size: long (Required)
+ * is_directory: boolean (Required)
+ * modified_time: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @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 paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listSessionFiles(String agentName, String agentSessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listSessionFilesAsync(agentName, agentSessionId, requestOptions);
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | recursive | Boolean | No | Whether to recursively delete directory contents. The
+ * service defaults to `false` if a value is not specified by the caller. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @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> deleteSessionFileWithResponse(String agentName, String agentSessionId, String path,
+ RequestOptions requestOptions) {
+ return this.serviceClient.deleteSessionFileWithResponseAsync(agentName, agentSessionId, path, requestOptions);
+ }
+
+ /**
+ * Create a new code-based agent
+ *
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Mono createAgentFromCode(String agentName, String codeZipSha256, CreateAgentFromCodeContent content) {
+ // Generated convenience method for createAgentFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return createAgentFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono updateAgentFromCode(String agentName, String codeZipSha256,
+ CreateAgentVersionFromCodeContent content) {
+ // Generated convenience method for updateAgentFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return updateAgentFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
+ }
+
+ /**
+ * Update an agent endpoint
+ *
+ * Applies a merge-patch update to the specified agent endpoint configuration.
+ *
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest 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 response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono updateAgentDetails(String agentName, UpdateAgentDetailsOptions patchAgentObjectRequest) {
+ // Generated convenience method for updateAgentDetailsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
+ .prepareModelForJsonMergePatch(patchAgentObjectRequest, true);
+ BinaryData patchAgentObjectRequestInBinaryData = BinaryData.fromObject(patchAgentObjectRequest);
+ // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization.
+ patchAgentObjectRequestInBinaryData.getLength();
+ JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
+ .prepareModelForJsonMergePatch(patchAgentObjectRequest, false);
+ return updateAgentDetailsWithResponse(agentName, patchAgentObjectRequestInBinaryData, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
+ }
+
+ /**
+ * Create an agent version from code
+ *
+ * Creates a new agent version from code. Uploads the code zip and creates a new version
+ * for an existing agent. The SHA-256 hex digest of the zip is provided in the
+ * `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono createAgentVersionFromCode(String agentName, String codeZipSha256,
+ CreateAgentVersionFromCodeContent content) {
+ // Generated convenience method for createAgentVersionFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return createAgentVersionFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentVersionDetails.class));
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ *
+ * @param agentName The name of the agent.
+ * @param agentVersion The version of the agent whose code zip should be downloaded.
+ * If omitted, the latest version's code zip is returned.
+ * @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 downloadAgentCode(String agentName, String agentVersion) {
+ // Generated convenience method for downloadAgentCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (agentVersion != null) {
+ requestOptions.addQueryParam("agent_version", agentVersion, false);
+ }
+ return downloadAgentCodeWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ *
+ * @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 body on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono downloadAgentCode(String agentName) {
+ // Generated convenience method for downloadAgentCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return downloadAgentCodeWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param versionIndicator Determines which agent version backs the session.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @param agentSessionId Optional caller-provided session ID. If specified, it must be unique within the agent
+ * endpoint. Auto-generated if omitted.
+ * @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 session providing a long-lived compute sandbox for hosted agent invocations on successful
+ * completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono createSession(String agentName, VersionIndicator versionIndicator,
+ String userIsolationKey, String agentSessionId) {
+ // Generated convenience method for createSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ CreateSessionRequest createSessionRequestObj
+ = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId);
+ BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return createSessionWithResponse(agentName, createSessionRequest, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param versionIndicator Determines which agent version backs the session.
+ * @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 session providing a long-lived compute sandbox for hosted agent invocations on successful
+ * completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono createSession(String agentName, VersionIndicator versionIndicator) {
+ // Generated convenience method for createSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ CreateSessionRequest createSessionRequestObj = new CreateSessionRequest(versionIndicator);
+ BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
+ return createSessionWithResponse(agentName, createSessionRequest, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session identifier.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier on successful completion of
+ * {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getSession(String agentName, String sessionId, String userIsolationKey) {
+ // Generated convenience method for getSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return getSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier on successful completion of
+ * {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono getSession(String agentName, String sessionId) {
+ // Generated convenience method for getSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session identifier.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 deleteSession(String agentName, String sessionId, String userIsolationKey) {
+ // Generated convenience method for deleteSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 A {@link Mono} that completes when a successful response is received.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono deleteSession(String agentName, String sessionId) {
+ // Generated convenience method for deleteSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Stop a session
+ *
+ * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 A {@link Mono} that completes when a successful response is received.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono stopSession(String agentName, String sessionId) {
+ // Generated convenience method for stopSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return stopSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ *
+ * @param agentName The name of the agent.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 listSessions(String agentName, String userIsolationKey, Integer limit,
+ PageOrder order, String after, String before) {
+ // Generated convenience method for listSessions
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ 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 = listSessions(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(AgentSessionResource.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ *
+ * @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 listSessions(String agentName) {
+ // Generated convenience method for listSessions
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse = listSessions(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(AgentSessionResource.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content parameter.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response from uploading a file to a session sandbox on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono uploadSessionFile(String agentName, String agentSessionId, String path,
+ BinaryData content, String userIsolationKey) {
+ // Generated convenience method for uploadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(SessionFileWriteResult.class));
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content 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 response from uploading a file to a session sandbox on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono uploadSessionFile(String agentName, String agentSessionId, String path,
+ BinaryData content) {
+ // Generated convenience method for uploadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions)
+ .flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(SessionFileWriteResult.class));
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 downloadSessionFile(String agentName, String agentSessionId, String path,
+ String userIsolationKey) {
+ // Generated convenience method for downloadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions)
+ .flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @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 downloadSessionFile(String agentName, String agentSessionId, String path) {
+ // Generated convenience method for downloadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions)
+ .flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The directory path to list, relative to the session home directory. Defaults to the home directory if
+ * not provided.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listSessionFiles(String agentName, String agentSessionId, String path,
+ String userIsolationKey, Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listSessionFiles
+ RequestOptions requestOptions = new RequestOptions();
+ if (path != null) {
+ requestOptions.addQueryParam("path", path, false);
+ }
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ 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 = listSessionFiles(agentName, agentSessionId, 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(SessionDirectoryEntry.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @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 paginated response with {@link PagedFlux}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedFlux listSessionFiles(String agentName, String agentSessionId) {
+ // Generated convenience method for listSessionFiles
+ RequestOptions requestOptions = new RequestOptions();
+ PagedFlux pagedFluxResponse = listSessionFiles(agentName, agentSessionId, 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(SessionDirectoryEntry.class))
+ .collect(Collectors.toList()),
+ pagedResponse.getContinuationToken(), null));
+ });
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @param recursive Whether to recursively delete directory contents. The service defaults to `false` if a value is
+ * not specified by the caller.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 deleteSessionFile(String agentName, String agentSessionId, String path, Boolean recursive,
+ String userIsolationKey) {
+ // Generated convenience method for deleteSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (recursive != null) {
+ requestOptions.addQueryParam("recursive", String.valueOf(recursive), false);
+ }
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @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 deleteSessionFile(String agentName, String agentSessionId, String path) {
+ // Generated convenience method for deleteSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).flatMap(FluxUtil::toMono);
+ }
+
+ /**
+ * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
+ * {@link SessionLogEvent} values.
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public Flux getSessionLogStream(String agentName, String agentVersion, String sessionId) {
+ RequestOptions requestOptions = new RequestOptions();
+ return getSessionLogStream(agentName, agentVersion, sessionId, requestOptions);
+ }
+
+ /**
+ * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
+ * {@link SessionLogEvent} values.
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public Flux getSessionLogStream(String agentName, String agentVersion, String sessionId,
+ RequestOptions requestOptions) {
+ return SessionLogStreamHelper
+ .parse(getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions)
+ .flatMapMany(response -> response.getValue().toFluxByteBuffer()));
+ }
}
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 825241bc2346..69360e5a44dd 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
@@ -4,20 +4,32 @@
package com.azure.ai.agents;
import com.azure.ai.agents.implementation.AgentsImpl;
+import com.azure.ai.agents.implementation.JsonMergePatchHelper;
+import com.azure.ai.agents.implementation.MultipartFormDataHelper;
+import com.azure.ai.agents.implementation.SessionLogStreamHelper;
+import com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent;
import com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest;
import com.azure.ai.agents.implementation.models.CreateAgentOptions;
import com.azure.ai.agents.implementation.models.CreateAgentRequest;
import com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest;
import com.azure.ai.agents.implementation.models.CreateAgentVersionRequest;
+import com.azure.ai.agents.implementation.models.CreateSessionRequest;
import com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest;
import com.azure.ai.agents.implementation.models.UpdateAgentRequest;
import com.azure.ai.agents.models.AgentBlueprintReference;
import com.azure.ai.agents.models.AgentDefinition;
import com.azure.ai.agents.models.AgentDetails;
import com.azure.ai.agents.models.AgentKind;
+import com.azure.ai.agents.models.AgentSessionResource;
import com.azure.ai.agents.models.AgentVersionDetails;
+import com.azure.ai.agents.models.CreateAgentVersionFromCodeContent;
import com.azure.ai.agents.models.CreateAgentVersionInput;
import com.azure.ai.agents.models.PageOrder;
+import com.azure.ai.agents.models.SessionDirectoryEntry;
+import com.azure.ai.agents.models.SessionFileWriteResult;
+import com.azure.ai.agents.models.SessionLogEvent;
+import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
+import com.azure.ai.agents.models.VersionIndicator;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
@@ -32,6 +44,7 @@
import com.azure.core.http.rest.Response;
import com.azure.core.http.rest.SimpleResponse;
import com.azure.core.util.BinaryData;
+import com.azure.core.util.IterableStream;
import com.openai.models.conversations.Conversation;
import java.util.Map;
@@ -2022,4 +2035,1727 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition, MapResponse Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
+ RequestOptions requestOptions) {
+ // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.createAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
+ RequestOptions requestOptions) {
+ // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
+ // hence not generated.
+ return this.serviceClient.updateAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
+ }
+
+ /**
+ * Update an agent endpoint
+ *
+ * Applies a merge-patch update to the specified agent endpoint configuration.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_endpoint (Optional): {
+ * version_selector (Optional): {
+ * version_selection_rules (Optional, Required on create): [
+ * (Optional, Required on create){
+ * type: String(FixedRatio) (Required)
+ * agent_version: String (Optional, Required on create)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest,
+ RequestOptions requestOptions) {
+ return this.serviceClient.updateAgentDetailsWithResponse(agentName, patchAgentObjectRequest, requestOptions);
+ }
+
+ /**
+ * Create an agent version from code
+ *
+ * Creates a new agent version from code. Uploads the code zip and creates a new version
+ * for an existing agent. The SHA-256 hex digest of the zip is provided in the
+ * `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
+ * }
+ *
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
+ // and hence not generated.
+ return this.serviceClient.createAgentVersionFromCodeWithResponse(agentName, codeZipSha256, content,
+ requestOptions);
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | agent_version | String | No | The version of the agent whose code zip should be
+ * downloaded.
+ * If omitted, the latest version's code zip is returned. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @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 body along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.downloadAgentCodeWithResponse(agentName, requestOptions);
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Optional)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * }
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param createSessionRequest The createSessionRequest 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 agent session providing a long-lived compute sandbox for hosted agent invocations along with
+ * {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response createSessionWithResponse(String agentName, BinaryData createSessionRequest,
+ RequestOptions requestOptions) {
+ return this.serviceClient.createSessionWithResponse(agentName, createSessionRequest, requestOptions);
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getSessionWithResponse(String agentName, String sessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getSessionWithResponse(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 the {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response deleteSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) {
+ return this.serviceClient.deleteSessionWithResponse(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * Stop a session
+ *
+ * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 the {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) {
+ return this.serviceClient.stopSessionWithResponse(agentName, sessionId, requestOptions);
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * agent_session_id: String (Required)
+ * version_indicator (Required): {
+ * type: String(version_ref) (Required)
+ * }
+ * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
+ * created_at: long (Required)
+ * last_accessed_at: long (Required)
+ * expires_at: long (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 listSessions(String agentName, RequestOptions requestOptions) {
+ return this.serviceClient.listSessions(agentName, requestOptions);
+ }
+
+ /**
+ * Stream console logs for a hosted agent session
+ *
+ * Streams console logs (stdout / stderr) for a specific hosted agent session
+ * as a Server-Sent Events (SSE) stream.
+ *
+ * Each SSE frame contains:
+ * - `event`: always `"log"`
+ * - `data`: a plain-text log line (currently JSON-formatted, but the schema
+ * is not contractual and may include additional keys or change format
+ * over time — clients should treat it as an opaque string)
+ *
+ * Example SSE frames:
+ * ```
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
+ * 8088"}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
+ *
+ * event: log
+ * data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
+ * ```
+ *
+ * The stream remains open until the client disconnects or the server
+ * terminates the connection. Clients should handle reconnection as needed.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * event: String(log) (Required)
+ * data: String (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @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 single Server-Sent Event frame emitted by the hosted agent session log stream.
+ *
+ * Each frame contains an `event` field identifying the event type and a `data`
+ * field carrying the payload as plain text along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response getSessionLogStreamWithResponse(String agentName, String agentVersion, String sessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions);
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * path: String (Required)
+ * bytes_written: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return response from uploading a file to a session sandbox along with {@link Response}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response uploadSessionFileWithResponse(String agentName, String agentSessionId, String path,
+ BinaryData content, RequestOptions requestOptions) {
+ return this.serviceClient.uploadSessionFileWithResponse(agentName, agentSessionId, path, content,
+ requestOptions);
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * BinaryData
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @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 downloadSessionFileWithResponse(String agentName, String agentSessionId, String path,
+ RequestOptions requestOptions) {
+ return this.serviceClient.downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions);
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | path | String | No | The directory path to list, relative to the session home
+ * directory. Defaults to the home directory if not provided. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * name: String (Required)
+ * size: long (Required)
+ * is_directory: boolean (Required)
+ * modified_time: long (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @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 paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listSessionFiles(String agentName, String agentSessionId,
+ RequestOptions requestOptions) {
+ return this.serviceClient.listSessionFiles(agentName, agentSessionId, requestOptions);
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | recursive | Boolean | No | Whether to recursively delete directory contents. The
+ * service defaults to `false` if a value is not specified by the caller. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
+ * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @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 deleteSessionFileWithResponse(String agentName, String agentSessionId, String path,
+ RequestOptions requestOptions) {
+ return this.serviceClient.deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions);
+ }
+
+ /**
+ * Create a new code-based agent
+ *
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ AgentDetails createAgentFromCode(String agentName, String codeZipSha256, CreateAgentFromCodeContent content) {
+ // Generated convenience method for createAgentFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return createAgentFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).getValue().toObject(AgentDetails.class);
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentDetails updateAgentFromCode(String agentName, String codeZipSha256,
+ CreateAgentVersionFromCodeContent content) {
+ // Generated convenience method for updateAgentFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return updateAgentFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).getValue().toObject(AgentDetails.class);
+ }
+
+ /**
+ * Update an agent endpoint
+ *
+ * Applies a merge-patch update to the specified agent endpoint configuration.
+ *
+ * @param agentName The name of the agent to retrieve
+ *
+ * The name of the agent to retrieve.
+ * @param patchAgentObjectRequest The patchAgentObjectRequest 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 response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentDetails updateAgentDetails(String agentName, UpdateAgentDetailsOptions patchAgentObjectRequest) {
+ // Generated convenience method for updateAgentDetailsWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
+ .prepareModelForJsonMergePatch(patchAgentObjectRequest, true);
+ BinaryData patchAgentObjectRequestInBinaryData = BinaryData.fromObject(patchAgentObjectRequest);
+ // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization.
+ patchAgentObjectRequestInBinaryData.getLength();
+ JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
+ .prepareModelForJsonMergePatch(patchAgentObjectRequest, false);
+ return updateAgentDetailsWithResponse(agentName, patchAgentObjectRequestInBinaryData, requestOptions).getValue()
+ .toObject(AgentDetails.class);
+ }
+
+ /**
+ * Create an agent version from code
+ *
+ * Creates a new agent version from code. Uploads the code zip and creates a new version
+ * for an existing agent. The SHA-256 hex digest of the zip is provided in the
+ * `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ *
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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 response.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentVersionDetails createAgentVersionFromCode(String agentName, String codeZipSha256,
+ CreateAgentVersionFromCodeContent content) {
+ // Generated convenience method for createAgentVersionFromCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return createAgentVersionFromCodeWithResponse(agentName, codeZipSha256,
+ new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
+ .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
+ content.getCode().getFilename())
+ .end()
+ .getRequestBody(),
+ requestOptions).getValue().toObject(AgentVersionDetails.class);
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ *
+ * @param agentName The name of the agent.
+ * @param agentVersion The version of the agent whose code zip should be downloaded.
+ * If omitted, the latest version's code zip is returned.
+ * @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 downloadAgentCode(String agentName, String agentVersion) {
+ // Generated convenience method for downloadAgentCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (agentVersion != null) {
+ requestOptions.addQueryParam("agent_version", agentVersion, false);
+ }
+ return downloadAgentCodeWithResponse(agentName, requestOptions).getValue();
+ }
+
+ /**
+ * Download agent code
+ *
+ * Downloads the code zip for a code-based hosted agent.
+ * Returns the previously-uploaded zip (`application/zip`).
+ *
+ * If `agent_version` is supplied, returns that version's code zip; otherwise
+ * returns the latest version's code zip.
+ *
+ * The SHA-256 digest of the returned bytes matches the `content_hash` on the
+ * resolved version's `code_configuration`.
+ *
+ * @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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public BinaryData downloadAgentCode(String agentName) {
+ // Generated convenience method for downloadAgentCodeWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return downloadAgentCodeWithResponse(agentName, requestOptions).getValue();
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param versionIndicator Determines which agent version backs the session.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @param agentSessionId Optional caller-provided session ID. If specified, it must be unique within the agent
+ * endpoint. Auto-generated if omitted.
+ * @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 session providing a long-lived compute sandbox for hosted agent invocations.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentSessionResource createSession(String agentName, VersionIndicator versionIndicator,
+ String userIsolationKey, String agentSessionId) {
+ // Generated convenience method for createSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ CreateSessionRequest createSessionRequestObj
+ = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId);
+ BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return createSessionWithResponse(agentName, createSessionRequest, requestOptions).getValue()
+ .toObject(AgentSessionResource.class);
+ }
+
+ /**
+ * Create a session
+ *
+ * Creates a new session for an agent endpoint.
+ * The endpoint resolves the backing agent version from `version_indicator` and
+ * enforces session ownership using the provided isolation key for session-mutating operations.
+ *
+ * @param agentName The name of the agent to create a session for.
+ * @param versionIndicator Determines which agent version backs the session.
+ * @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 session providing a long-lived compute sandbox for hosted agent invocations.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentSessionResource createSession(String agentName, VersionIndicator versionIndicator) {
+ // Generated convenience method for createSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ CreateSessionRequest createSessionRequestObj = new CreateSessionRequest(versionIndicator);
+ BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
+ return createSessionWithResponse(agentName, createSessionRequest, requestOptions).getValue()
+ .toObject(AgentSessionResource.class);
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session identifier.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentSessionResource getSession(String agentName, String sessionId, String userIsolationKey) {
+ // Generated convenience method for getSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return getSessionWithResponse(agentName, sessionId, requestOptions).getValue()
+ .toObject(AgentSessionResource.class);
+ }
+
+ /**
+ * Get a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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 a session
+ *
+ * Retrieves the details of a hosted agent session by agent name and session identifier.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public AgentSessionResource getSession(String agentName, String sessionId) {
+ // Generated convenience method for getSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return getSessionWithResponse(agentName, sessionId, requestOptions).getValue()
+ .toObject(AgentSessionResource.class);
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session identifier.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 deleteSession(String agentName, String sessionId, String userIsolationKey) {
+ // Generated convenience method for deleteSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue();
+ }
+
+ /**
+ * Delete a session
+ *
+ * Deletes a session synchronously.
+ * Returns 204 No Content when the session is deleted or does not exist.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void deleteSession(String agentName, String sessionId) {
+ // Generated convenience method for deleteSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue();
+ }
+
+ /**
+ * Stop a session
+ *
+ * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
+ *
+ * @param agentName The name of the agent.
+ * @param sessionId The session 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.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public void stopSession(String agentName, String sessionId) {
+ // Generated convenience method for stopSessionWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ stopSessionWithResponse(agentName, sessionId, requestOptions).getValue();
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ *
+ * @param agentName The name of the agent.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 listSessions(String agentName, String userIsolationKey, Integer limit,
+ PageOrder order, String after, String before) {
+ // Generated convenience method for listSessions
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ 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.listSessions(agentName, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * List sessions for an agent
+ *
+ * Returns a paged collection of sessions associated with the specified agent endpoint.
+ *
+ * @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 listSessions(String agentName) {
+ // Generated convenience method for listSessions
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listSessions(agentName, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(AgentSessionResource.class));
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content parameter.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+ * @return response from uploading a file to a session sandbox.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SessionFileWriteResult uploadSessionFile(String agentName, String agentSessionId, String path,
+ BinaryData content, String userIsolationKey) {
+ // Generated convenience method for uploadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions).getValue()
+ .toObject(SessionFileWriteResult.class);
+ }
+
+ /**
+ * Upload a session file
+ *
+ * Uploads binary file content to the specified path in the session sandbox.
+ * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The destination file path within the sandbox, relative to the session home directory.
+ * @param content The content 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 response from uploading a file to a session sandbox.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public SessionFileWriteResult uploadSessionFile(String agentName, String agentSessionId, String path,
+ BinaryData content) {
+ // Generated convenience method for uploadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions).getValue()
+ .toObject(SessionFileWriteResult.class);
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 downloadSessionFile(String agentName, String agentSessionId, String path,
+ String userIsolationKey) {
+ // Generated convenience method for downloadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
+ }
+
+ /**
+ * Download a session file
+ *
+ * Downloads the file at the specified sandbox path as a binary stream.
+ * The path is resolved relative to the session home directory.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file path to download from the sandbox, relative to the session home directory.
+ * @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 downloadSessionFile(String agentName, String agentSessionId, String path) {
+ // Generated convenience method for downloadSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The directory path to list, relative to the session home directory. Defaults to the home directory if
+ * not provided.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listSessionFiles(String agentName, String agentSessionId, String path,
+ String userIsolationKey, Integer limit, PageOrder order, String after, String before) {
+ // Generated convenience method for listSessionFiles
+ RequestOptions requestOptions = new RequestOptions();
+ if (path != null) {
+ requestOptions.addQueryParam("path", path, false);
+ }
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ 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.listSessionFiles(agentName, agentSessionId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(SessionDirectoryEntry.class));
+ }
+
+ /**
+ * List session files
+ *
+ * Returns files and directories at the specified path in the session sandbox.
+ * The response includes only the immediate children of the target directory and defaults to the session home
+ * directory when no path is supplied.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @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 paginated response with {@link PagedIterable}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listSessionFiles(String agentName, String agentSessionId) {
+ // Generated convenience method for listSessionFiles
+ RequestOptions requestOptions = new RequestOptions();
+ return serviceClient.listSessionFiles(agentName, agentSessionId, requestOptions)
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(SessionDirectoryEntry.class));
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @param recursive Whether to recursively delete directory contents. The service defaults to `false` if a value is
+ * not specified by the caller.
+ * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
+ * conversations, sessions) to a specific end user.
+ * @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 deleteSessionFile(String agentName, String agentSessionId, String path, Boolean recursive,
+ String userIsolationKey) {
+ // Generated convenience method for deleteSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ if (recursive != null) {
+ requestOptions.addQueryParam("recursive", String.valueOf(recursive), false);
+ }
+ if (userIsolationKey != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
+ }
+ deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
+ }
+
+ /**
+ * Delete a session file
+ *
+ * Deletes the specified file or directory from the session sandbox.
+ * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ *
+ * @param agentName The name of the agent.
+ * @param agentSessionId The session ID.
+ * @param path The file or directory path to delete, relative to the session home directory.
+ * @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 deleteSessionFile(String agentName, String agentSessionId, String path) {
+ // Generated convenience method for deleteSessionFileWithResponse
+ RequestOptions requestOptions = new RequestOptions();
+ deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
+ }
+
+ /**
+ * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
+ * {@link SessionLogEvent} values.
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public IterableStream getSessionLogStream(String agentName, String agentVersion,
+ String sessionId) {
+ RequestOptions requestOptions = new RequestOptions();
+ return getSessionLogStream(agentName, agentVersion, sessionId, requestOptions);
+ }
+
+ /**
+ * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
+ * {@link SessionLogEvent} values.
+ *
+ * @param agentName The name of the hosted agent.
+ * @param agentVersion The version of the agent.
+ * @param sessionId The session ID (maps to an ADC sandbox).
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
+ */
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public IterableStream getSessionLogStream(String agentName, String agentVersion, String sessionId,
+ RequestOptions requestOptions) {
+ return new IterableStream<>(SessionLogStreamHelper
+ .parse(getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions).getValue()
+ .toFluxByteBuffer()));
+ }
}
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 39b20ac1c39d..f2403e8cd339 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,13 +60,13 @@
@ServiceClientBuilder(
serviceClients = {
BetaMemoryStoresClient.class,
- BetaToolboxesClient.class,
BetaAgentsClient.class,
AgentsClient.class,
+ ToolboxesClient.class,
BetaMemoryStoresAsyncClient.class,
- BetaToolboxesAsyncClient.class,
BetaAgentsAsyncClient.class,
- AgentsAsyncClient.class })
+ AgentsAsyncClient.class,
+ ToolboxesAsyncClient.class })
public final class AgentsClientBuilder
implements HttpTrait, ConfigurationTrait,
TokenCredentialTrait, EndpointTrait {
@@ -85,14 +85,12 @@ public final class AgentsClientBuilder
private static final String AGENT_PREVIEW_FEATURES = Stream
.concat(Arrays.stream(AgentDefinitionOptInKeys.values()).map(AgentDefinitionOptInKeys::toString),
- Stream.of(FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V1_PREVIEW.toString()))
+ Stream.of(FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V2_PREVIEW.toString()))
.collect(Collectors.joining(","));
private static final String MEMORY_STORES_PREVIEW_FEATURES
= FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString();
- private static final String TOOLBOXES_PREVIEW_FEATURES = FoundryFeaturesOptInKeys.TOOLBOXES_V1_PREVIEW.toString();
-
private boolean allowPreview;
@Generated
@@ -540,10 +538,8 @@ public BetaAgentsClientBuilder beta() {
serviceClients = {
BetaAgentsClient.class,
BetaMemoryStoresClient.class,
- BetaToolboxesClient.class,
BetaAgentsAsyncClient.class,
- BetaMemoryStoresAsyncClient.class,
- BetaToolboxesAsyncClient.class })
+ BetaMemoryStoresAsyncClient.class })
public final class BetaAgentsClientBuilder {
/**
@@ -571,15 +567,6 @@ public BetaMemoryStoresAsyncClient buildBetaMemoryStoresAsyncClient() {
buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores());
}
- /**
- * Builds an instance of BetaToolboxesAsyncClient class.
- *
- * @return an instance of BetaToolboxesAsyncClient.
- */
- public BetaToolboxesAsyncClient buildBetaToolboxesAsyncClient() {
- return new BetaToolboxesAsyncClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes());
- }
-
/**
* Builds an instance of BetaAgentsClient class.
*
@@ -597,15 +584,6 @@ public BetaAgentsClient buildBetaAgentsClient() {
public BetaMemoryStoresClient buildBetaMemoryStoresClient() {
return new BetaMemoryStoresClient(buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores());
}
-
- /**
- * Builds an instance of BetaToolboxesClient class.
- *
- * @return an instance of BetaToolboxesClient.
- */
- public BetaToolboxesClient buildBetaToolboxesClient() {
- return new BetaToolboxesClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes());
- }
}
/**
@@ -626,15 +604,6 @@ private BetaMemoryStoresAsyncClient buildBetaMemoryStoresAsyncClient() {
return new BetaMemoryStoresAsyncClient(buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores());
}
- /**
- * Builds an instance of BetaToolboxesAsyncClient class.
- *
- * @return an instance of BetaToolboxesAsyncClient.
- */
- private BetaToolboxesAsyncClient buildBetaToolboxesAsyncClient() {
- return new BetaToolboxesAsyncClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes());
- }
-
/**
* Builds an instance of BetaAgentsClient class.
*
@@ -654,11 +623,22 @@ private BetaMemoryStoresClient buildBetaMemoryStoresClient() {
}
/**
- * Builds an instance of BetaToolboxesClient class.
+ * Builds an instance of ToolboxesAsyncClient class.
*
- * @return an instance of BetaToolboxesClient.
+ * @return an instance of ToolboxesAsyncClient.
*/
- private BetaToolboxesClient buildBetaToolboxesClient() {
- return new BetaToolboxesClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes());
+ @Generated
+ public ToolboxesAsyncClient buildToolboxesAsyncClient() {
+ return new ToolboxesAsyncClient(buildInnerClient().getToolboxes());
+ }
+
+ /**
+ * Builds an instance of ToolboxesClient class.
+ *
+ * @return an instance of ToolboxesClient.
+ */
+ @Generated
+ public ToolboxesClient buildToolboxesClient() {
+ return new ToolboxesClient(buildInnerClient().getToolboxes());
}
}
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 d33258579ed3..c9970987246e 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
@@ -4,30 +4,10 @@
package com.azure.ai.agents;
import com.azure.ai.agents.implementation.BetaAgentsImpl;
-import com.azure.ai.agents.implementation.JsonMergePatchHelper;
-import com.azure.ai.agents.implementation.MultipartFormDataHelper;
-import com.azure.ai.agents.implementation.SessionLogStreamHelper;
-import com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent;
-import com.azure.ai.agents.implementation.models.CreateSessionRequest;
-import com.azure.ai.agents.models.AgentDetails;
-import com.azure.ai.agents.models.AgentSessionResource;
-import com.azure.ai.agents.models.AgentVersionDetails;
-import com.azure.ai.agents.models.CandidateDeployConfig;
-import com.azure.ai.agents.models.CandidateMetadata;
-import com.azure.ai.agents.models.CandidateResults;
-import com.azure.ai.agents.models.CreateAgentVersionFromCodeContent;
import com.azure.ai.agents.models.JobStatus;
-import com.azure.ai.agents.models.OptimizationCandidate;
import com.azure.ai.agents.models.OptimizationJob;
-import com.azure.ai.agents.models.OptimizationJobInputs;
+import com.azure.ai.agents.models.OptimizationJobListItem;
import com.azure.ai.agents.models.PageOrder;
-import com.azure.ai.agents.models.PromoteCandidateInput;
-import com.azure.ai.agents.models.PromoteCandidateResult;
-import com.azure.ai.agents.models.SessionDirectoryEntry;
-import com.azure.ai.agents.models.SessionFileWriteResult;
-import com.azure.ai.agents.models.SessionLogEvent;
-import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
-import com.azure.ai.agents.models.VersionIndicator;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
@@ -68,3035 +48,531 @@ public final class BetaAgentsAsyncClient {
}
/**
- * Create a new code-based agent
+ * Creates an agent optimization job.
*
- * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
- * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
- * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- * Response Body Schema
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | Operation-Id | String | No | Client-generated unique ID for idempotent retries. When
+ * absent, the server creates the job unconditionally. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
* }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
* }
* }
*
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Mono> createAgentFromCodeWithResponse(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
- // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.createAgentFromCodeWithResponseAsync(agentName, codeZipSha256, content,
- requestOptions);
- }
-
- /**
- * Update a code-based agent
- *
- * Updates a code-based agent by uploading new code and creating a new version.
- * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
+ *
* Response Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
+ * }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
* }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
* }
* }
*
*
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
+ * @param job The job 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 the response body along with {@link Response} on successful completion of {@link Mono}.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response} on successful
+ * completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- Mono> updateAgentFromCodeWithResponse(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
- // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.updateAgentFromCodeWithResponseAsync(agentName, codeZipSha256, content,
- requestOptions);
+ public Mono> createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) {
+ return this.serviceClient.createOptimizationJobWithResponseAsync(job, requestOptions);
}
/**
- * Update an agent endpoint
+ * Get info about an agent optimization job.
*
- * Applies a merge-patch update to the specified agent endpoint configuration.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
- * }
- * ]
- * }
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
+ * Get an optimization job by id.
* Response Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
* ]
- * }
- * }
- * }
- *
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> updateAgentDetailsWithResponse(String agentName,
- BinaryData patchAgentObjectRequest, RequestOptions requestOptions) {
- return this.serviceClient.updateAgentDetailsWithResponseAsync(agentName, patchAgentObjectRequest,
- requestOptions);
- }
-
- /**
- * Create an agent version from code
- *
- * Creates a new agent version from code. Uploads the code zip and creates a new version
- * for an existing agent. The SHA-256 hex digest of the zip is provided in the
- * `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
* }
* }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * agent_guid: String (Optional)
- * }
- * }
- *
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Mono> createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
- // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
- // and hence not generated.
- return this.serviceClient.createAgentVersionFromCodeWithResponseAsync(agentName, codeZipSha256, content,
- requestOptions);
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | agent_version | String | No | The version of the agent whose code zip should be
- * downloaded.
- * If omitted, the latest version's code zip is returned. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * @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 body along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) {
- return this.serviceClient.downloadAgentCodeWithResponseAsync(agentName, requestOptions);
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Optional)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
- * created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent to create a session for.
- * @param createSessionRequest The createSessionRequest 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 agent session providing a long-lived compute sandbox for hosted agent invocations along with
- * {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> createSessionWithResponse(String agentName, BinaryData createSessionRequest,
- RequestOptions requestOptions) {
- return this.serviceClient.createSessionWithResponseAsync(agentName, createSessionRequest, requestOptions);
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
- * created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}
- * on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getSessionWithResponse(String agentName, String sessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.getSessionWithResponseAsync(agentName, sessionId, requestOptions);
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 the {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> deleteSessionWithResponse(String agentName, String sessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.deleteSessionWithResponseAsync(agentName, sessionId, requestOptions);
- }
-
- /**
- * Stop a session
- *
- * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 the {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> stopSessionWithResponse(String agentName, String sessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.stopSessionWithResponseAsync(agentName, sessionId, requestOptions);
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
* created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (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 listSessions(String agentName, RequestOptions requestOptions) {
- return this.serviceClient.listSessionsAsync(agentName, requestOptions);
- }
-
- /**
- * Stream console logs for a hosted agent session
- *
- * Streams console logs (stdout / stderr) for a specific hosted agent session
- * as a Server-Sent Events (SSE) stream.
- *
- * Each SSE frame contains:
- * - `event`: always `"log"`
- * - `data`: a plain-text log line (currently JSON-formatted, but the schema
- * is not contractual and may include additional keys or change format
- * over time — clients should treat it as an opaque string)
- *
- * Example SSE frames:
- * ```
- * event: log
- * data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
- * 8088"}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
- * ```
- *
- * The stream remains open until the client disconnects or the server
- * terminates the connection. Clients should handle reconnection as needed.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * event: String(log) (Required)
- * data: String (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @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 single Server-Sent Event frame emitted by the hosted agent session log stream.
- *
- * Each frame contains an `event` field identifying the event type and a `data`
- * field carrying the payload as plain text along with {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getSessionLogStreamWithResponse(String agentName, String agentVersion,
- String sessionId, RequestOptions requestOptions) {
- return this.serviceClient.getSessionLogStreamWithResponseAsync(agentName, agentVersion, sessionId,
- requestOptions);
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * path: String (Required)
- * bytes_written: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return response from uploading a file to a session sandbox along with {@link Response} on successful completion
- * of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> uploadSessionFileWithResponse(String agentName, String agentSessionId,
- String path, BinaryData content, RequestOptions requestOptions) {
- return this.serviceClient.uploadSessionFileWithResponseAsync(agentName, agentSessionId, path, content,
- requestOptions);
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @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> downloadSessionFileWithResponse(String agentName, String agentSessionId,
- String path, RequestOptions requestOptions) {
- return this.serviceClient.downloadSessionFileWithResponseAsync(agentName, agentSessionId, path, requestOptions);
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | path | String | No | The directory path to list, relative to the session home
- * directory. Defaults to the home directory if not provided. |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * name: String (Required)
- * size: long (Required)
- * is_directory: boolean (Required)
- * modified_time: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @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 paginated response with {@link PagedFlux}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listSessionFiles(String agentName, String agentSessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.listSessionFilesAsync(agentName, agentSessionId, requestOptions);
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | recursive | Boolean | No | Whether to recursively delete directory contents. The
- * service defaults to `false` if a value is not specified by the caller. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @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> deleteSessionFileWithResponse(String agentName, String agentSessionId, String path,
- RequestOptions requestOptions) {
- return this.serviceClient.deleteSessionFileWithResponseAsync(agentName, agentSessionId, path, requestOptions);
- }
-
- /**
- * Create an agent optimization job
- *
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | Operation-Id | String | No | Client-generated unique ID for idempotent retries. When
- * absent, the server creates the job unconditionally. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param inputs The optimization job inputs.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response} on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> createOptimizationJobWithResponse(BinaryData inputs,
- RequestOptions requestOptions) {
- return this.serviceClient.createOptimizationJobWithResponseAsync(inputs, requestOptions);
- }
-
- /**
- * Get an agent optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The ID of the job.
- * @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 optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state along with {@link Response} on
- * successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationJobWithResponseAsync(jobId, requestOptions);
- }
-
- /**
- * List agent optimization jobs
- *
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- * | status | String | No | Filter to jobs in this lifecycle state. Allowed values:
- * "queued", "in_progress", "succeeded", "failed", "cancelled". |
- * | agent_name | String | No | Filter to jobs targeting this agent name. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @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 listOptimizationJobs(RequestOptions requestOptions) {
- return this.serviceClient.listOptimizationJobsAsync(requestOptions);
- }
-
- /**
- * Cancel an agent optimization job
- *
- * Requests cancellation of the specified agent optimization job.
- * The operation remains idempotent after the job reaches a terminal state.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The ID of the job to cancel.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response} on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.cancelOptimizationJobWithResponseAsync(jobId, requestOptions);
- }
-
- /**
- * Delete an agent optimization job
- *
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | force | Boolean | No | When true, force-delete even if the job is in a non-terminal
- * state. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- *
- * @param jobId The ID of the job 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> deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.deleteOptimizationJobWithResponseAsync(jobId, requestOptions);
- }
-
- /**
- * List optimization job candidates
- *
- * Returns the candidates produced by the specified optimization job.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @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 listOptimizationCandidates(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.listOptimizationCandidatesAsync(jobId, requestOptions);
- }
-
- /**
- * Get an optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * job_id: String (Required)
- * candidate_name: String (Required)
- * status: String (Required)
- * score: Double (Optional)
- * has_results: boolean (Required)
- * created_at: long (Required)
- * updated_at: long (Required)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * files (Required): [
- * (Required){
- * path: String (Required)
- * type: String (Required)
- * size_bytes: long (Required)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate along with
- * {@link Response} on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getOptimizationCandidateWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateWithResponseAsync(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get an optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * instructions: String (Optional)
- * model: String (Optional)
- * temperature: Double (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests along with {@link Response} on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getOptimizationCandidateConfigWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateConfigWithResponseAsync(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * results (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate along with {@link Response} on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getOptimizationCandidateResultsWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateResultsWithResponseAsync(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get an optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory.
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @param path Relative path of the file to download (e.g. 'files/examples.jsonl').
- * @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 optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory along with {@link Response} on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> getOptimizationCandidateFileWithResponse(String jobId, String candidateId,
- String path, RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateFileWithResponseAsync(jobId, candidateId, path,
- requestOptions);
- }
-
- /**
- * Promote an optimization candidate
- *
- * Promotes the specified candidate and records the deployment timestamp and target agent version.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * status: String (Required)
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id to promote.
- * @param candidateRequest Promotion details.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return response after successfully promoting a candidate along with {@link Response} on successful completion of
- * {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> promoteOptimizationCandidateWithResponse(String jobId, String candidateId,
- BinaryData candidateRequest, RequestOptions requestOptions) {
- return this.serviceClient.promoteOptimizationCandidateWithResponseAsync(jobId, candidateId, candidateRequest,
- requestOptions);
- }
-
- /**
- * Create a new code-based agent
- *
- * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
- * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
- * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response body on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Mono createAgentFromCode(String agentName, String codeZipSha256, CreateAgentFromCodeContent content) {
- // Generated convenience method for createAgentFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createAgentFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
- }
-
- /**
- * Update a code-based agent
- *
- * Updates a code-based agent by uploading new code and creating a new version.
- * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response body on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono updateAgentFromCode(String agentName, String codeZipSha256,
- CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for updateAgentFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return updateAgentFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
- }
-
- /**
- * Update an agent endpoint
- *
- * Applies a merge-patch update to the specified agent endpoint configuration.
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest 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 response body on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono updateAgentDetails(String agentName, UpdateAgentDetailsOptions patchAgentObjectRequest) {
- // Generated convenience method for updateAgentDetailsWithResponse
- RequestOptions requestOptions = new RequestOptions();
- JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
- .prepareModelForJsonMergePatch(patchAgentObjectRequest, true);
- BinaryData patchAgentObjectRequestInBinaryData = BinaryData.fromObject(patchAgentObjectRequest);
- // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization.
- patchAgentObjectRequestInBinaryData.getLength();
- JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
- .prepareModelForJsonMergePatch(patchAgentObjectRequest, false);
- return updateAgentDetailsWithResponse(agentName, patchAgentObjectRequestInBinaryData, requestOptions)
- .flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentDetails.class));
- }
-
- /**
- * Create an agent version from code
- *
- * Creates a new agent version from code. Uploads the code zip and creates a new version
- * for an existing agent. The SHA-256 hex digest of the zip is provided in the
- * `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response body on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono createAgentVersionFromCode(String agentName, String codeZipSha256,
- CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for createAgentVersionFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createAgentVersionFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentVersionDetails.class));
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- *
- * @param agentName The name of the agent.
- * @param agentVersion The version of the agent whose code zip should be downloaded.
- * If omitted, the latest version's code zip is returned.
- * @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 downloadAgentCode(String agentName, String agentVersion) {
- // Generated convenience method for downloadAgentCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (agentVersion != null) {
- requestOptions.addQueryParam("agent_version", agentVersion, false);
- }
- return downloadAgentCodeWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- *
- * @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 body on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono downloadAgentCode(String agentName) {
- // Generated convenience method for downloadAgentCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return downloadAgentCodeWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- *
- * @param agentName The name of the agent to create a session for.
- * @param versionIndicator Determines which agent version backs the session.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @param agentSessionId Optional caller-provided session ID. If specified, it must be unique within the agent
- * endpoint. Auto-generated if omitted.
- * @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 session providing a long-lived compute sandbox for hosted agent invocations on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono createSession(String agentName, VersionIndicator versionIndicator,
- String userIsolationKey, String agentSessionId) {
- // Generated convenience method for createSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- CreateSessionRequest createSessionRequestObj
- = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId);
- BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return createSessionWithResponse(agentName, createSessionRequest, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- *
- * @param agentName The name of the agent to create a session for.
- * @param versionIndicator Determines which agent version backs the session.
- * @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 session providing a long-lived compute sandbox for hosted agent invocations on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono createSession(String agentName, VersionIndicator versionIndicator) {
- // Generated convenience method for createSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- CreateSessionRequest createSessionRequestObj = new CreateSessionRequest(versionIndicator);
- BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
- return createSessionWithResponse(agentName, createSessionRequest, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session identifier.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier on successful completion of
- * {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getSession(String agentName, String sessionId, String userIsolationKey) {
- // Generated convenience method for getSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return getSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier on successful completion of
- * {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getSession(String agentName, String sessionId) {
- // Generated convenience method for getSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class));
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session identifier.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 deleteSession(String agentName, String sessionId, String userIsolationKey) {
- // Generated convenience method for deleteSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 A {@link Mono} that completes when a successful response is received.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono deleteSession(String agentName, String sessionId) {
- // Generated convenience method for deleteSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Stop a session
- *
- * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 A {@link Mono} that completes when a successful response is received.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono stopSession(String agentName, String sessionId) {
- // Generated convenience method for stopSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return stopSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- *
- * @param agentName The name of the agent.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 listSessions(String agentName, String userIsolationKey, Integer limit,
- PageOrder order, String after, String before) {
- // Generated convenience method for listSessions
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- 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 = listSessions(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(AgentSessionResource.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- *
- * @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 listSessions(String agentName) {
- // Generated convenience method for listSessions
- RequestOptions requestOptions = new RequestOptions();
- PagedFlux pagedFluxResponse = listSessions(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(AgentSessionResource.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content parameter.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
- * @return response from uploading a file to a session sandbox on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono uploadSessionFile(String agentName, String agentSessionId, String path,
- BinaryData content, String userIsolationKey) {
- // Generated convenience method for uploadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions)
- .flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(SessionFileWriteResult.class));
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content 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 response from uploading a file to a session sandbox on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono uploadSessionFile(String agentName, String agentSessionId, String path,
- BinaryData content) {
- // Generated convenience method for uploadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions)
- .flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(SessionFileWriteResult.class));
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 downloadSessionFile(String agentName, String agentSessionId, String path,
- String userIsolationKey) {
- // Generated convenience method for downloadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions)
- .flatMap(FluxUtil::toMono);
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @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 downloadSessionFile(String agentName, String agentSessionId, String path) {
- // Generated convenience method for downloadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions)
- .flatMap(FluxUtil::toMono);
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The directory path to list, relative to the session home directory. Defaults to the home directory if
- * not provided.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 paginated response with {@link PagedFlux}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listSessionFiles(String agentName, String agentSessionId, String path,
- String userIsolationKey, Integer limit, PageOrder order, String after, String before) {
- // Generated convenience method for listSessionFiles
- RequestOptions requestOptions = new RequestOptions();
- if (path != null) {
- requestOptions.addQueryParam("path", path, false);
- }
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- 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 = listSessionFiles(agentName, agentSessionId, 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(SessionDirectoryEntry.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @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 paginated response with {@link PagedFlux}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listSessionFiles(String agentName, String agentSessionId) {
- // Generated convenience method for listSessionFiles
- RequestOptions requestOptions = new RequestOptions();
- PagedFlux pagedFluxResponse = listSessionFiles(agentName, agentSessionId, 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(SessionDirectoryEntry.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @param recursive Whether to recursively delete directory contents. The service defaults to `false` if a value is
- * not specified by the caller.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 deleteSessionFile(String agentName, String agentSessionId, String path, Boolean recursive,
- String userIsolationKey) {
- // Generated convenience method for deleteSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (recursive != null) {
- requestOptions.addQueryParam("recursive", String.valueOf(recursive), false);
- }
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @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 deleteSessionFile(String agentName, String agentSessionId, String path) {
- // Generated convenience method for deleteSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).flatMap(FluxUtil::toMono);
- }
-
- /**
- * Create an agent optimization job
- *
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
- *
- * @param inputs The optimization job inputs.
- * @param operationId Client-generated unique ID for idempotent retries. When absent, the server creates the job
- * unconditionally.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono createOptimizationJob(OptimizationJobInputs inputs, String operationId) {
- // Generated convenience method for createOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (operationId != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId);
- }
- return createOptimizationJobWithResponse(BinaryData.fromObject(inputs), requestOptions)
- .flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
- }
-
- /**
- * Create an agent optimization job
- *
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
- *
- * @param inputs The optimization job inputs.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono createOptimizationJob(OptimizationJobInputs inputs) {
- // Generated convenience method for createOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createOptimizationJobWithResponse(BinaryData.fromObject(inputs), requestOptions)
- .flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
- }
-
- /**
- * Get an agent optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
- *
- * @param jobId The ID of the job.
- * @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 optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state on successful completion of
- * {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getOptimizationJob(String jobId) {
- // Generated convenience method for getOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
- }
-
- /**
- * List agent optimization jobs
- *
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
- *
- * @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.
- * @param status Filter to jobs in this lifecycle state.
- * @param agentName Filter to jobs targeting this agent name.
- * @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 listOptimizationJobs(Integer limit, PageOrder order, String after, String before,
- JobStatus status, String agentName) {
- // Generated convenience method for listOptimizationJobs
- 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);
- }
- if (status != null) {
- requestOptions.addQueryParam("status", status.toString(), false);
- }
- if (agentName != null) {
- requestOptions.addQueryParam("agent_name", agentName, false);
- }
- PagedFlux pagedFluxResponse = listOptimizationJobs(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(OptimizationJob.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * }
+ *
+ *
+ * @param jobId The ID of the job.
+ * @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 info about an agent optimization job.
+ *
+ * Get an optimization job by id along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @Generated
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.getOptimizationJobWithResponseAsync(jobId, requestOptions);
}
/**
- * List agent optimization jobs
+ * Returns a list of agent optimization jobs.
*
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ * | status | String | No | Filter to jobs in this lifecycle state. Allowed values:
+ * "queued", "in_progress", "succeeded", "failed", "cancelled". |
+ * | agent_name | String | No | Filter to jobs targeting this agent name. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
+ * }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * agent (Optional): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * }
+ * }
+ *
*
+ * @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.
- * @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 listOptimizationJobs() {
- // Generated convenience method for listOptimizationJobs
- RequestOptions requestOptions = new RequestOptions();
- PagedFlux pagedFluxResponse = listOptimizationJobs(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(OptimizationJob.class))
- .collect(Collectors.toList()),
- pagedResponse.getContinuationToken(), null));
- });
+ public PagedFlux listOptimizationJobs(RequestOptions requestOptions) {
+ return this.serviceClient.listOptimizationJobsAsync(requestOptions);
}
/**
- * Cancel an agent optimization job
+ * Cancels an agent optimization job.
*
- * Requests cancellation of the specified agent optimization job.
- * The operation remains idempotent after the job reaches a terminal state.
+ * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
+ * }
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (Optional)
+ * }
+ * }
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
+ * (Optional){
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
+ * }
+ * ]
+ * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
+ * }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * }
+ *
*
* @param jobId The ID of the job to cancel.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
- * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return agent optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
+ * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response} on successful
+ * completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono cancelOptimizationJob(String jobId) {
- // Generated convenience method for cancelOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return cancelOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
+ public Mono> cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.cancelOptimizationJobWithResponseAsync(jobId, requestOptions);
}
/**
- * Delete an agent optimization job
+ * Deletes an agent optimization job.
*
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal.
*
* @param jobId The ID of the job to delete.
- * @param force When true, force-delete even if the job is in a non-terminal state.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
- * @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.
+ * @return the {@link Response} on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono deleteOptimizationJob(String jobId, Boolean force) {
- // Generated convenience method for deleteOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (force != null) {
- requestOptions.addQueryParam("force", String.valueOf(force), false);
- }
- return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono);
+ public Mono> deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.deleteOptimizationJobWithResponseAsync(jobId, requestOptions);
}
/**
- * Delete an agent optimization job
+ * Get info about an agent optimization job.
*
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
+ * Get an optimization job by id.
*
- * @param jobId The ID of the job to delete.
+ * @param jobId The ID of the job.
* @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.
+ * @return info about an agent optimization job.
+ *
+ * Get an optimization job by id on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono deleteOptimizationJob(String jobId) {
- // Generated convenience method for deleteOptimizationJobWithResponse
+ public Mono getOptimizationJob(String jobId) {
+ // Generated convenience method for getOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono);
+ return getOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
}
/**
- * List optimization job candidates
+ * Returns a list of agent optimization jobs.
*
- * Returns the candidates produced by the specified optimization job.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
*
- * @param jobId The optimization job id.
* @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`
@@ -3107,6 +583,8 @@ public Mono deleteOptimizationJob(String jobId) {
* @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.
+ * @param status Filter to jobs in this lifecycle state.
+ * @param agentName Filter to jobs targeting this agent name.
* @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.
@@ -3117,9 +595,9 @@ public Mono deleteOptimizationJob(String jobId) {
*/
@Generated
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listOptimizationCandidates(String jobId, Integer limit, PageOrder order,
- String after, String before) {
- // Generated convenience method for listOptimizationCandidates
+ public PagedFlux listOptimizationJobs(Integer limit, PageOrder order, String after,
+ String before, JobStatus status, String agentName) {
+ // Generated convenience method for listOptimizationJobs
RequestOptions requestOptions = new RequestOptions();
if (limit != null) {
requestOptions.addQueryParam("limit", String.valueOf(limit), false);
@@ -3133,29 +611,33 @@ public PagedFlux listOptimizationCandidates(String jobId,
if (before != null) {
requestOptions.addQueryParam("before", before, false);
}
- PagedFlux pagedFluxResponse = listOptimizationCandidates(jobId, requestOptions);
+ if (status != null) {
+ requestOptions.addQueryParam("status", status.toString(), false);
+ }
+ if (agentName != null) {
+ requestOptions.addQueryParam("agent_name", agentName, false);
+ }
+ PagedFlux pagedFluxResponse = listOptimizationJobs(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(),
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
pagedResponse.getValue()
.stream()
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationCandidate.class))
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJobListItem.class))
.collect(Collectors.toList()),
pagedResponse.getContinuationToken(), null));
});
}
/**
- * List optimization job candidates
+ * Returns a list of agent optimization jobs.
*
- * Returns the candidates produced by the specified optimization job.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
*
- * @param jobId The optimization job id.
- * @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.
@@ -3165,190 +647,121 @@ public PagedFlux listOptimizationCandidates(String jobId,
*/
@Generated
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listOptimizationCandidates(String jobId) {
- // Generated convenience method for listOptimizationCandidates
+ public PagedFlux listOptimizationJobs() {
+ // Generated convenience method for listOptimizationJobs
RequestOptions requestOptions = new RequestOptions();
- PagedFlux pagedFluxResponse = listOptimizationCandidates(jobId, requestOptions);
+ PagedFlux pagedFluxResponse = listOptimizationJobs(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(),
+ .map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(),
pagedResponse.getStatusCode(), pagedResponse.getHeaders(),
pagedResponse.getValue()
.stream()
- .map(protocolMethodData -> protocolMethodData.toObject(OptimizationCandidate.class))
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJobListItem.class))
.collect(Collectors.toList()),
pagedResponse.getContinuationToken(), null));
});
}
/**
- * Get an optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate on successful
- * completion of {@link Mono}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getOptimizationCandidate(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(CandidateMetadata.class));
- }
-
- /**
- * Get an optimization candidate config
+ * Cancels an agent optimization job.
*
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests.
+ * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
+ * @param jobId The ID of the job to cancel.
* @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 optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests on successful completion of {@link Mono}.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getOptimizationCandidateConfig(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateConfigWithResponse
+ public Mono cancelOptimizationJob(String jobId) {
+ // Generated convenience method for cancelOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(CandidateDeployConfig.class));
+ return cancelOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
}
/**
- * Get optimization candidate results
+ * Deletes an agent optimization job.
*
- * Retrieves full per-task evaluation results for the specified candidate.
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
+ * @param jobId The ID of the job 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 optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate on successful completion of {@link Mono}.
+ * @return A {@link Mono} that completes when a successful response is received.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getOptimizationCandidateResults(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateResultsWithResponse
+ public Mono deleteOptimizationJob(String jobId) {
+ // Generated convenience method for deleteOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(CandidateResults.class));
+ return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono);
}
/**
- * Get an optimization candidate file
+ * Creates an agent optimization job.
*
- * Streams the specified file from the candidate's blob directory.
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @param path Relative path of the file to download (e.g. 'files/examples.jsonl').
+ * @param job The job to create.
+ * @param operationId Client-generated unique ID for idempotent retries. When absent, the server creates the job
+ * unconditionally.
* @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 optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory on successful completion of {@link Mono}.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono getOptimizationCandidateFile(String jobId, String candidateId, String path) {
- // Generated convenience method for getOptimizationCandidateFileWithResponse
+ public Mono createOptimizationJob(OptimizationJob job, String operationId) {
+ // Generated convenience method for createOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateFileWithResponse(jobId, candidateId, path, requestOptions)
- .flatMap(FluxUtil::toMono);
+ if (operationId != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId);
+ }
+ return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
}
/**
- * Promote an optimization candidate
+ * Creates an agent optimization job.
*
- * Promotes the specified candidate and records the deployment timestamp and target agent version.
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id to promote.
- * @param candidateRequest Promotion details.
+ * @param job The job 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 response after successfully promoting a candidate on successful completion of {@link Mono}.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono promoteOptimizationCandidate(String jobId, String candidateId,
- PromoteCandidateInput candidateRequest) {
- // Generated convenience method for promoteOptimizationCandidateWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return promoteOptimizationCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(candidateRequest),
- requestOptions).flatMap(FluxUtil::toMono)
- .map(protocolMethodData -> protocolMethodData.toObject(PromoteCandidateResult.class));
- }
-
- /**
- * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
- * {@link SessionLogEvent} values.
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
- */
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public Flux getSessionLogStream(String agentName, String agentVersion, String sessionId) {
+ public Mono createOptimizationJob(OptimizationJob job) {
+ // Generated convenience method for createOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getSessionLogStream(agentName, agentVersion, sessionId, requestOptions);
- }
-
- /**
- * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
- * {@link SessionLogEvent} values.
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
- */
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public Flux getSessionLogStream(String agentName, String agentVersion, String sessionId,
- RequestOptions requestOptions) {
- return SessionLogStreamHelper
- .parse(getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions)
- .flatMapMany(response -> response.getValue().toFluxByteBuffer()));
+ return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).flatMap(FluxUtil::toMono)
+ .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.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 d96afdd8c149..aee8b533059c 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
@@ -4,30 +4,10 @@
package com.azure.ai.agents;
import com.azure.ai.agents.implementation.BetaAgentsImpl;
-import com.azure.ai.agents.implementation.JsonMergePatchHelper;
-import com.azure.ai.agents.implementation.MultipartFormDataHelper;
-import com.azure.ai.agents.implementation.SessionLogStreamHelper;
-import com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent;
-import com.azure.ai.agents.implementation.models.CreateSessionRequest;
-import com.azure.ai.agents.models.AgentDetails;
-import com.azure.ai.agents.models.AgentSessionResource;
-import com.azure.ai.agents.models.AgentVersionDetails;
-import com.azure.ai.agents.models.CandidateDeployConfig;
-import com.azure.ai.agents.models.CandidateMetadata;
-import com.azure.ai.agents.models.CandidateResults;
-import com.azure.ai.agents.models.CreateAgentVersionFromCodeContent;
import com.azure.ai.agents.models.JobStatus;
-import com.azure.ai.agents.models.OptimizationCandidate;
import com.azure.ai.agents.models.OptimizationJob;
-import com.azure.ai.agents.models.OptimizationJobInputs;
+import com.azure.ai.agents.models.OptimizationJobListItem;
import com.azure.ai.agents.models.PageOrder;
-import com.azure.ai.agents.models.PromoteCandidateInput;
-import com.azure.ai.agents.models.PromoteCandidateResult;
-import com.azure.ai.agents.models.SessionDirectoryEntry;
-import com.azure.ai.agents.models.SessionFileWriteResult;
-import com.azure.ai.agents.models.SessionLogEvent;
-import com.azure.ai.agents.models.UpdateAgentDetailsOptions;
-import com.azure.ai.agents.models.VersionIndicator;
import com.azure.core.annotation.Generated;
import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
@@ -41,7 +21,6 @@
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.IterableStream;
/**
* Initializes a new instance of the synchronous AgentsClient type.
@@ -63,2751 +42,503 @@ public final class BetaAgentsClient {
}
/**
- * Create a new code-based agent
+ * Creates an agent optimization job.
*
- * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
- * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
- * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- * Response Body Schema
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
+ * Header Parameters
+ *
+ * Header Parameters
+ * | Name | Type | Required | Description |
+ * | Operation-Id | String | No | Client-generated unique ID for idempotent retries. When
+ * absent, the server creates the job unconditionally. |
+ *
+ * You can add these to a request with {@link RequestOptions#addHeader}
+ * Request Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
* }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
* }
* }
*
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
- RequestOptions requestOptions) {
- // Operation 'createAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.createAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
- }
-
- /**
- * Update a code-based agent
- *
- * Updates a code-based agent by uploading new code and creating a new version.
- * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
+ *
* Response Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
+ * }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
* }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
* }
* }
*
*
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
+ * @param job The job 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 the response body along with {@link Response}.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256, BinaryData content,
- RequestOptions requestOptions) {
- // Operation 'updateAgentFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable and
- // hence not generated.
- return this.serviceClient.updateAgentFromCodeWithResponse(agentName, codeZipSha256, content, requestOptions);
+ public Response createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) {
+ return this.serviceClient.createOptimizationJobWithResponse(job, requestOptions);
}
/**
- * Update an agent endpoint
+ * Get info about an agent optimization job.
*
- * Applies a merge-patch update to the specified agent endpoint configuration.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent_endpoint (Optional): {
- * version_selector (Optional): {
- * version_selection_rules (Optional, Required on create): [
- * (Optional, Required on create){
- * type: String(FixedRatio) (Required)
- * agent_version: String (Optional, Required on create)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
- * (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
- * }
- * ]
- * }
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
- * ]
- * }
- * }
- * }
- *
- *
+ * Get an optimization job by id.
* Response Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* id: String (Required)
- * name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
* }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
* }
- * agent_guid: String (Optional)
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (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)
- * }
- * ]
- * }
- * protocols (Optional): [
- * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
- * ]
- * authorization_schemes (Optional): [
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
* (Optional){
- * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
* }
* ]
* }
- * instance_identity (Optional): (recursive schema, see instance_identity above)
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
- * agent_card (Optional): {
- * version: String (Optional, Required on create)
- * description: String (Optional)
- * skills (Optional, Required on create): [
- * (Optional, Required on create){
- * id: String (Optional, Required on create)
- * name: String (Optional, Required on create)
- * description: String (Optional)
- * tags (Optional): [
- * String (Optional)
- * ]
- * examples (Optional): [
- * String (Optional)
- * ]
- * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * error (Optional): {
+ * code: String (Required)
+ * message: String (Required)
+ * param: String (Optional)
+ * type: String (Optional)
+ * details (Optional): [
+ * (recursive schema, see above)
* ]
- * }
- * }
- * }
- *
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest,
- RequestOptions requestOptions) {
- return this.serviceClient.updateAgentDetailsWithResponse(agentName, patchAgentObjectRequest, requestOptions);
- }
-
- /**
- * Create an agent version from code
- *
- * Creates a new agent version from code. Uploads the code zip and creates a new version
- * for an existing agent. The SHA-256 hex digest of the zip is provided in the
- * `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
+ * additionalInfo (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * debugInfo (Optional): {
+ * String: BinaryData (Required)
* }
* }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * }
- * blueprint (Optional): (recursive schema, see blueprint above)
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
* }
- * agent_guid: String (Optional)
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
* }
* }
*
*
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content parameter.
+ * @param jobId The ID of the job.
* @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}.
+ * @return info about an agent optimization job.
+ *
+ * Get an optimization job by id along with {@link Response}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256,
- BinaryData content, RequestOptions requestOptions) {
- // Operation 'createAgentVersionFromCode' is of content-type 'multipart/form-data'. Protocol API is not usable
- // and hence not generated.
- return this.serviceClient.createAgentVersionFromCodeWithResponse(agentName, codeZipSha256, content,
- requestOptions);
+ public Response getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.getOptimizationJobWithResponse(jobId, requestOptions);
}
/**
- * Download agent code
+ * Returns a list of agent optimization jobs.
*
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
* Query Parameters
*
* Query Parameters
* | Name | Type | Required | Description |
- * | agent_version | String | No | The version of the agent whose code zip should be
- * downloaded.
- * If omitted, the latest version's code zip is returned. |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ * | status | String | No | Filter to jobs in this lifecycle state. Allowed values:
+ * "queued", "in_progress", "succeeded", "failed", "cancelled". |
+ * | agent_name | String | No | Filter to jobs targeting this agent name. |
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
*
*
* {@code
- * BinaryData
- * }
- *
- *
- * @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 body along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) {
- return this.serviceClient.downloadAgentCodeWithResponse(agentName, requestOptions);
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
* {
- * agent_session_id: String (Optional)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
- * created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent to create a session for.
- * @param createSessionRequest The createSessionRequest 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 agent session providing a long-lived compute sandbox for hosted agent invocations along with
- * {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response createSessionWithResponse(String agentName, BinaryData createSessionRequest,
- RequestOptions requestOptions) {
- return this.serviceClient.createSessionWithResponse(agentName, createSessionRequest, requestOptions);
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
- * }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
- * created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getSessionWithResponse(String agentName, String sessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.getSessionWithResponse(agentName, sessionId, requestOptions);
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 the {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response deleteSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) {
- return this.serviceClient.deleteSessionWithResponse(agentName, sessionId, requestOptions);
- }
-
- /**
- * Stop a session
- *
- * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 the {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) {
- return this.serviceClient.stopSessionWithResponse(agentName, sessionId, requestOptions);
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * agent_session_id: String (Required)
- * version_indicator (Required): {
- * type: String(version_ref) (Required)
+ * id: String (Required)
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
* }
- * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required)
- * created_at: long (Required)
- * last_accessed_at: long (Required)
- * expires_at: long (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 listSessions(String agentName, RequestOptions requestOptions) {
- return this.serviceClient.listSessions(agentName, requestOptions);
- }
-
- /**
- * Stream console logs for a hosted agent session
- *
- * Streams console logs (stdout / stderr) for a specific hosted agent session
- * as a Server-Sent Events (SSE) stream.
- *
- * Each SSE frame contains:
- * - `event`: always `"log"`
- * - `data`: a plain-text log line (currently JSON-formatted, but the schema
- * is not contractual and may include additional keys or change format
- * over time — clients should treat it as an opaque string)
- *
- * Example SSE frames:
- * ```
- * event: log
- * data: {"timestamp":"2026-03-10T09:33:17.121Z","stream":"stdout","message":"Starting FoundryCBAgent server on port
- * 8088"}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:33:17.130Z","stream":"stderr","message":"INFO: Application startup complete."}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:34:52.714Z","stream":"status","message":"Successfully connected to container"}
- *
- * event: log
- * data: {"timestamp":"2026-03-10T09:35:52.714Z","stream":"status","message":"No logs since last 60 seconds"}
- * ```
- *
- * The stream remains open until the client disconnects or the server
- * terminates the connection. Clients should handle reconnection as needed.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * event: String(log) (Required)
- * data: String (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @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 single Server-Sent Event frame emitted by the hosted agent session log stream.
- *
- * Each frame contains an `event` field identifying the event type and a `data`
- * field carrying the payload as plain text along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getSessionLogStreamWithResponse(String agentName, String agentVersion, String sessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions);
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * path: String (Required)
- * bytes_written: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content parameter.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return response from uploading a file to a session sandbox along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response uploadSessionFileWithResponse(String agentName, String agentSessionId, String path,
- BinaryData content, RequestOptions requestOptions) {
- return this.serviceClient.uploadSessionFileWithResponse(agentName, agentSessionId, path, content,
- requestOptions);
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @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 downloadSessionFileWithResponse(String agentName, String agentSessionId, String path,
- RequestOptions requestOptions) {
- return this.serviceClient.downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions);
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | path | String | No | The directory path to list, relative to the session home
- * directory. Defaults to the home directory if not provided. |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * name: String (Required)
- * size: long (Required)
- * is_directory: boolean (Required)
- * modified_time: long (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @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 paginated response with {@link PagedIterable}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listSessionFiles(String agentName, String agentSessionId,
- RequestOptions requestOptions) {
- return this.serviceClient.listSessionFiles(agentName, agentSessionId, requestOptions);
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | recursive | Boolean | No | Whether to recursively delete directory contents. The
- * service defaults to `false` if a value is not specified by the caller. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | x-ms-user-isolation-key | String | No | Opaque per-user isolation key used to scope
- * endpoint-scoped data (responses, conversations, sessions) to a specific end user. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @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 deleteSessionFileWithResponse(String agentName, String agentSessionId, String path,
- RequestOptions requestOptions) {
- return this.serviceClient.deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions);
- }
-
- /**
- * Create an agent optimization job
- *
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
- * Header Parameters
- *
- * Header Parameters
- * | Name | Type | Required | Description |
- * | Operation-Id | String | No | Client-generated unique ID for idempotent retries. When
- * absent, the server creates the job unconditionally. |
- *
- * You can add these to a request with {@link RequestOptions#addHeader}
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param inputs The optimization job inputs.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response createOptimizationJobWithResponse(BinaryData inputs, RequestOptions requestOptions) {
- return this.serviceClient.createOptimizationJobWithResponse(inputs, requestOptions);
- }
-
- /**
- * Get an agent optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The ID of the job.
- * @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 optimization job
- *
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationJobWithResponse(jobId, requestOptions);
- }
-
- /**
- * List agent optimization jobs
- *
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- * | status | String | No | Filter to jobs in this lifecycle state. Allowed values:
- * "queued", "in_progress", "succeeded", "failed", "cancelled". |
- * | agent_name | String | No | Filter to jobs targeting this agent name. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @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 listOptimizationJobs(RequestOptions requestOptions) {
- return this.serviceClient.listOptimizationJobs(requestOptions);
- }
-
- /**
- * Cancel an agent optimization job
- *
- * Requests cancellation of the specified agent optimization job.
- * The operation remains idempotent after the job reaches a terminal state.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * id: String (Required)
- * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
- * 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)
- * }
- * }
- * result (Optional): {
- * baseline (Optional): {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * best (Optional): (recursive schema, see best above)
- * candidates (Optional): [
- * (recursive schema, see above)
- * ]
- * options (Optional): {
- * max_iterations: Integer (Optional)
- * optimization_config (Optional): {
- * String: BinaryData (Required)
- * }
- * eval_model: String (Optional)
- * optimization_model: String (Optional)
- * evaluation_level: String(turn/conversation) (Optional)
- * }
- * warnings (Optional): [
- * String (Optional)
- * ]
- * all_target_attributes_failed: Boolean (Optional)
- * }
- * inputs (Optional): {
- * agent (Required): {
- * agent_name: String (Required)
- * agent_version: String (Optional)
- * }
- * train_dataset_reference (Required): {
- * name: String (Required)
- * version: String (Optional)
- * }
- * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
- * evaluators (Optional): [
- * String (Optional)
- * ]
- * options (Optional): (recursive schema, see options above)
- * }
- * created_at: long (Required)
- * updated_at: Long (Optional)
- * progress (Optional): {
- * current_iteration: int (Required)
- * best_score: double (Required)
- * elapsed_seconds: double (Required)
- * }
- * dataset (Optional): {
- * name: String (Optional)
- * version: String (Optional)
- * task_count: int (Required)
- * is_inline: boolean (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The ID of the job to cancel.
- * @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 optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.cancelOptimizationJobWithResponse(jobId, requestOptions);
- }
-
- /**
- * Delete an agent optimization job
- *
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | force | Boolean | No | When true, force-delete even if the job is in a non-terminal
- * state. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- *
- * @param jobId The ID of the job 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 deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.deleteOptimizationJobWithResponse(jobId, requestOptions);
- }
-
- /**
- * List optimization job candidates
- *
- * Returns the candidates produced by the specified optimization job.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Optional)
- * name: String (Required)
- * config (Required): {
- * agent_name: String (Optional)
- * agent_version: String (Optional)
- * model: String (Optional)
- * system_prompt: String (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * mutations (Required): {
- * String: BinaryData (Required)
- * }
- * avg_score: double (Required)
- * avg_tokens: double (Required)
- * pass_rate: double (Required)
- * task_scores (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * is_pareto_optimal: boolean (Required)
- * eval_id: String (Optional)
- * eval_run_id: String (Optional)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @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 listOptimizationCandidates(String jobId, RequestOptions requestOptions) {
- return this.serviceClient.listOptimizationCandidates(jobId, requestOptions);
- }
-
- /**
- * Get an optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * job_id: String (Required)
- * candidate_name: String (Required)
- * status: String (Required)
- * score: Double (Optional)
- * has_results: boolean (Required)
- * created_at: long (Required)
- * updated_at: long (Required)
- * promotion (Optional): {
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * files (Required): [
- * (Required){
- * path: String (Required)
- * type: String (Required)
- * size_bytes: long (Required)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate along with
- * {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getOptimizationCandidateWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get an optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * instructions: String (Optional)
- * model: String (Optional)
- * temperature: Double (Optional)
- * skills (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * tools (Optional): [
- * (Optional){
- * String: BinaryData (Required)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getOptimizationCandidateConfigWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate.
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * results (Required): [
- * (Required){
- * task_name: String (Required)
- * query: String (Optional)
- * scores (Required): {
- * String: double (Required)
- * }
- * composite_score: double (Required)
- * tokens: long (Required)
- * duration_seconds: double (Required)
- * passed: boolean (Required)
- * error_message: String (Optional)
- * rationales (Optional): {
- * String: String (Required)
- * }
- * response: String (Optional)
- * run_id: String (Optional)
- * }
- * ]
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getOptimizationCandidateResultsWithResponse(String jobId, String candidateId,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions);
- }
-
- /**
- * Get an optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory.
- * Response Body Schema
- *
- *
- * {@code
- * BinaryData
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @param path Relative path of the file to download (e.g. 'files/examples.jsonl').
- * @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 optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response getOptimizationCandidateFileWithResponse(String jobId, String candidateId, String path,
- RequestOptions requestOptions) {
- return this.serviceClient.getOptimizationCandidateFileWithResponse(jobId, candidateId, path, requestOptions);
- }
-
- /**
- * Promote an optimization candidate
- *
- * Promotes the specified candidate and records the deployment timestamp and target agent version.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- *
- *
- * Response Body Schema
- *
- *
- * {@code
- * {
- * candidate_id: String (Required)
- * status: String (Required)
- * promoted_at: long (Required)
- * agent_name: String (Required)
- * agent_version: String (Required)
- * }
- * }
- *
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id to promote.
- * @param candidateRequest Promotion details.
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return response after successfully promoting a candidate along with {@link Response}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response promoteOptimizationCandidateWithResponse(String jobId, String candidateId,
- BinaryData candidateRequest, RequestOptions requestOptions) {
- return this.serviceClient.promoteOptimizationCandidateWithResponse(jobId, candidateId, candidateRequest,
- requestOptions);
- }
-
- /**
- * Create a new code-based agent
- *
- * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
- * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
- * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
- * hyphens allowed in the middle.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- AgentDetails createAgentFromCode(String agentName, String codeZipSha256, CreateAgentFromCodeContent content) {
- // Generated convenience method for createAgentFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createAgentFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).getValue().toObject(AgentDetails.class);
- }
-
- /**
- * Update a code-based agent
- *
- * Updates a code-based agent by uploading new code and creating a new version.
- * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentDetails updateAgentFromCode(String agentName, String codeZipSha256,
- CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for updateAgentFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return updateAgentFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).getValue().toObject(AgentDetails.class);
- }
-
- /**
- * Update an agent endpoint
- *
- * Applies a merge-patch update to the specified agent endpoint configuration.
- *
- * @param agentName The name of the agent to retrieve
- *
- * The name of the agent to retrieve.
- * @param patchAgentObjectRequest The patchAgentObjectRequest 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 response.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentDetails updateAgentDetails(String agentName, UpdateAgentDetailsOptions patchAgentObjectRequest) {
- // Generated convenience method for updateAgentDetailsWithResponse
- RequestOptions requestOptions = new RequestOptions();
- JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
- .prepareModelForJsonMergePatch(patchAgentObjectRequest, true);
- BinaryData patchAgentObjectRequestInBinaryData = BinaryData.fromObject(patchAgentObjectRequest);
- // BinaryData.fromObject() will not fire serialization, use getLength() to fire serialization.
- patchAgentObjectRequestInBinaryData.getLength();
- JsonMergePatchHelper.getUpdateAgentDetailsOptionsAccessor()
- .prepareModelForJsonMergePatch(patchAgentObjectRequest, false);
- return updateAgentDetailsWithResponse(agentName, patchAgentObjectRequestInBinaryData, requestOptions).getValue()
- .toObject(AgentDetails.class);
- }
-
- /**
- * Create an agent version from code
- *
- * Creates a new agent version from code. Uploads the code zip and creates a new version
- * for an existing agent. The SHA-256 hex digest of the zip is provided in the
- * `x-ms-code-zip-sha256` header for integrity and dedup.
- * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
- * irrelevant).
- * Maximum upload size is 250 MB.
- *
- * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
- * - Must start and end with alphanumeric characters,
- * - Can contain hyphens in the middle
- * - Must not exceed 63 characters.
- * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
- * verification.
- * @param content The content 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 response.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentVersionDetails createAgentVersionFromCode(String agentName, String codeZipSha256,
- CreateAgentVersionFromCodeContent content) {
- // Generated convenience method for createAgentVersionFromCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createAgentVersionFromCodeWithResponse(agentName, codeZipSha256,
- new MultipartFormDataHelper(requestOptions).serializeJsonField("metadata", content.getMetadata())
- .serializeFileField("code", content.getCode().getContent(), content.getCode().getContentType(),
- content.getCode().getFilename())
- .end()
- .getRequestBody(),
- requestOptions).getValue().toObject(AgentVersionDetails.class);
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- *
- * @param agentName The name of the agent.
- * @param agentVersion The version of the agent whose code zip should be downloaded.
- * If omitted, the latest version's code zip is returned.
- * @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 downloadAgentCode(String agentName, String agentVersion) {
- // Generated convenience method for downloadAgentCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (agentVersion != null) {
- requestOptions.addQueryParam("agent_version", agentVersion, false);
- }
- return downloadAgentCodeWithResponse(agentName, requestOptions).getValue();
- }
-
- /**
- * Download agent code
- *
- * Downloads the code zip for a code-based hosted agent.
- * Returns the previously-uploaded zip (`application/zip`).
- *
- * If `agent_version` is supplied, returns that version's code zip; otherwise
- * returns the latest version's code zip.
- *
- * The SHA-256 digest of the returned bytes matches the `content_hash` on the
- * resolved version's `code_configuration`.
- *
- * @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.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public BinaryData downloadAgentCode(String agentName) {
- // Generated convenience method for downloadAgentCodeWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return downloadAgentCodeWithResponse(agentName, requestOptions).getValue();
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- *
- * @param agentName The name of the agent to create a session for.
- * @param versionIndicator Determines which agent version backs the session.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @param agentSessionId Optional caller-provided session ID. If specified, it must be unique within the agent
- * endpoint. Auto-generated if omitted.
- * @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 session providing a long-lived compute sandbox for hosted agent invocations.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentSessionResource createSession(String agentName, VersionIndicator versionIndicator,
- String userIsolationKey, String agentSessionId) {
- // Generated convenience method for createSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- CreateSessionRequest createSessionRequestObj
- = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId);
- BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return createSessionWithResponse(agentName, createSessionRequest, requestOptions).getValue()
- .toObject(AgentSessionResource.class);
- }
-
- /**
- * Create a session
- *
- * Creates a new session for an agent endpoint.
- * The endpoint resolves the backing agent version from `version_indicator` and
- * enforces session ownership using the provided isolation key for session-mutating operations.
- *
- * @param agentName The name of the agent to create a session for.
- * @param versionIndicator Determines which agent version backs the session.
- * @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 session providing a long-lived compute sandbox for hosted agent invocations.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentSessionResource createSession(String agentName, VersionIndicator versionIndicator) {
- // Generated convenience method for createSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- CreateSessionRequest createSessionRequestObj = new CreateSessionRequest(versionIndicator);
- BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj);
- return createSessionWithResponse(agentName, createSessionRequest, requestOptions).getValue()
- .toObject(AgentSessionResource.class);
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session identifier.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentSessionResource getSession(String agentName, String sessionId, String userIsolationKey) {
- // Generated convenience method for getSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return getSessionWithResponse(agentName, sessionId, requestOptions).getValue()
- .toObject(AgentSessionResource.class);
- }
-
- /**
- * Get a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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 a session
- *
- * Retrieves the details of a hosted agent session by agent name and session identifier.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public AgentSessionResource getSession(String agentName, String sessionId) {
- // Generated convenience method for getSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getSessionWithResponse(agentName, sessionId, requestOptions).getValue()
- .toObject(AgentSessionResource.class);
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session identifier.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 deleteSession(String agentName, String sessionId, String userIsolationKey) {
- // Generated convenience method for deleteSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue();
- }
-
- /**
- * Delete a session
- *
- * Deletes a session synchronously.
- * Returns 204 No Content when the session is deleted or does not exist.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public void deleteSession(String agentName, String sessionId) {
- // Generated convenience method for deleteSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue();
- }
-
- /**
- * Stop a session
- *
- * Terminates the specified hosted agent session and returns 204 No Content when the request succeeds.
- *
- * @param agentName The name of the agent.
- * @param sessionId The session 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.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public void stopSession(String agentName, String sessionId) {
- // Generated convenience method for stopSessionWithResponse
- RequestOptions requestOptions = new RequestOptions();
- stopSessionWithResponse(agentName, sessionId, requestOptions).getValue();
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- *
- * @param agentName The name of the agent.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 listSessions(String agentName, String userIsolationKey, Integer limit,
- PageOrder order, String after, String before) {
- // Generated convenience method for listSessions
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- 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.listSessions(agentName, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(AgentSessionResource.class));
- }
-
- /**
- * List sessions for an agent
- *
- * Returns a paged collection of sessions associated with the specified agent endpoint.
- *
- * @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 listSessions(String agentName) {
- // Generated convenience method for listSessions
- RequestOptions requestOptions = new RequestOptions();
- return serviceClient.listSessions(agentName, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(AgentSessionResource.class));
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content parameter.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
- * @throws HttpResponseException thrown if the request is rejected by server.
- * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
- * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
- * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
- * @return response from uploading a file to a session sandbox.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public SessionFileWriteResult uploadSessionFile(String agentName, String agentSessionId, String path,
- BinaryData content, String userIsolationKey) {
- // Generated convenience method for uploadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions).getValue()
- .toObject(SessionFileWriteResult.class);
- }
-
- /**
- * Upload a session file
- *
- * Uploads binary file content to the specified path in the session sandbox.
- * The service stores the file relative to the session home directory and rejects payloads larger than 50 MB.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The destination file path within the sandbox, relative to the session home directory.
- * @param content The content 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 response from uploading a file to a session sandbox.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public SessionFileWriteResult uploadSessionFile(String agentName, String agentSessionId, String path,
- BinaryData content) {
- // Generated convenience method for uploadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return uploadSessionFileWithResponse(agentName, agentSessionId, path, content, requestOptions).getValue()
- .toObject(SessionFileWriteResult.class);
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 downloadSessionFile(String agentName, String agentSessionId, String path,
- String userIsolationKey) {
- // Generated convenience method for downloadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
- }
-
- /**
- * Download a session file
- *
- * Downloads the file at the specified sandbox path as a binary stream.
- * The path is resolved relative to the session home directory.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file path to download from the sandbox, relative to the session home directory.
- * @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 downloadSessionFile(String agentName, String agentSessionId, String path) {
- // Generated convenience method for downloadSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return downloadSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The directory path to list, relative to the session home directory. Defaults to the home directory if
- * not provided.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 paginated response with {@link PagedIterable}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listSessionFiles(String agentName, String agentSessionId, String path,
- String userIsolationKey, Integer limit, PageOrder order, String after, String before) {
- // Generated convenience method for listSessionFiles
- RequestOptions requestOptions = new RequestOptions();
- if (path != null) {
- requestOptions.addQueryParam("path", path, false);
- }
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- 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.listSessionFiles(agentName, agentSessionId, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(SessionDirectoryEntry.class));
- }
-
- /**
- * List session files
- *
- * Returns files and directories at the specified path in the session sandbox.
- * The response includes only the immediate children of the target directory and defaults to the session home
- * directory when no path is supplied.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @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 paginated response with {@link PagedIterable}.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listSessionFiles(String agentName, String agentSessionId) {
- // Generated convenience method for listSessionFiles
- RequestOptions requestOptions = new RequestOptions();
- return serviceClient.listSessionFiles(agentName, agentSessionId, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(SessionDirectoryEntry.class));
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
- *
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @param recursive Whether to recursively delete directory contents. The service defaults to `false` if a value is
- * not specified by the caller.
- * @param userIsolationKey Opaque per-user isolation key used to scope endpoint-scoped data (responses,
- * conversations, sessions) to a specific end user.
- * @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 deleteSessionFile(String agentName, String agentSessionId, String path, Boolean recursive,
- String userIsolationKey) {
- // Generated convenience method for deleteSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (recursive != null) {
- requestOptions.addQueryParam("recursive", String.valueOf(recursive), false);
- }
- if (userIsolationKey != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey);
- }
- deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
- }
-
- /**
- * Delete a session file
- *
- * Deletes the specified file or directory from the session sandbox.
- * When `recursive` is false, deleting a non-empty directory returns 409 Conflict.
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * agent (Optional): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * }
+ * }
+ *
*
- * @param agentName The name of the agent.
- * @param agentSessionId The session ID.
- * @param path The file or directory path to delete, relative to the session home directory.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @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.
- * @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.SINGLE)
- public void deleteSessionFile(String agentName, String agentSessionId, String path) {
- // Generated convenience method for deleteSessionFileWithResponse
- RequestOptions requestOptions = new RequestOptions();
- deleteSessionFileWithResponse(agentName, agentSessionId, path, requestOptions).getValue();
+ @ServiceMethod(returns = ReturnType.COLLECTION)
+ public PagedIterable listOptimizationJobs(RequestOptions requestOptions) {
+ return this.serviceClient.listOptimizationJobs(requestOptions);
}
/**
- * Create an agent optimization job
+ * Cancels an agent optimization job.
*
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
+ * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state.
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * id: String (Required)
+ * inputs (Optional): {
+ * agent (Required): {
+ * agent_name: String (Required)
+ * agent_version: String (Optional)
+ * }
+ * train_dataset (Required): {
+ * type: String(inline/reference) (Required)
+ * }
+ * validation_dataset (Optional): (recursive schema, see validation_dataset above)
+ * evaluators (Required): [
+ * (Required){
+ * name: String (Required)
+ * version: String (Optional)
+ * }
+ * ]
+ * options (Optional): {
+ * max_candidates: Integer (Optional)
+ * optimization_config (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * eval_model: String (Optional)
+ * optimization_model: String (Optional)
+ * evaluation_level: String(turn/conversation) (Optional)
+ * }
+ * }
+ * result (Optional): {
+ * baseline: String (Optional)
+ * best: String (Optional)
+ * candidates (Optional): [
+ * (Optional){
+ * candidate_id: String (Optional)
+ * name: String (Required)
+ * mutations (Optional): {
+ * String: BinaryData (Required)
+ * }
+ * avg_score: double (Required)
+ * avg_tokens: double (Required)
+ * eval_id: String (Optional)
+ * eval_run_id: String (Optional)
+ * promotion (Optional): {
+ * promoted_at: long (Required)
+ * agent_name: String (Required)
+ * agent_version: String (Required)
+ * }
+ * }
+ * ]
+ * }
+ * status: String(queued/in_progress/succeeded/failed/cancelled) (Required)
+ * 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)
+ * }
+ * }
+ * created_at: long (Required)
+ * updated_at: long (Required)
+ * progress (Optional): {
+ * candidates_completed: int (Required)
+ * best_score: double (Required)
+ * elapsed_seconds: double (Required)
+ * }
+ * warnings (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * }
+ *
*
- * @param inputs The optimization job inputs.
- * @param operationId Client-generated unique ID for idempotent retries. When absent, the server creates the job
- * unconditionally.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @param jobId The ID of the job to cancel.
+ * @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.
- * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
* @return agent optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores.
+ * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public OptimizationJob createOptimizationJob(OptimizationJobInputs inputs, String operationId) {
- // Generated convenience method for createOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (operationId != null) {
- requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId);
- }
- return createOptimizationJobWithResponse(BinaryData.fromObject(inputs), requestOptions).getValue()
- .toObject(OptimizationJob.class);
+ public Response cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.cancelOptimizationJobWithResponse(jobId, requestOptions);
}
/**
- * Create an agent optimization job
+ * Deletes an agent optimization job.
*
- * Creates an agent optimization job and returns the queued job.
- * Honors `Operation-Id` for idempotent retry.
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal.
*
- * @param inputs The optimization job inputs.
- * @throws IllegalArgumentException thrown if parameters fail the validation.
+ * @param jobId The ID of the job 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.
- * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
- * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
- * (instructions, model, skills, tools) to maximize evaluation scores.
+ * @return the {@link Response}.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public OptimizationJob createOptimizationJob(OptimizationJobInputs inputs) {
- // Generated convenience method for createOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return createOptimizationJobWithResponse(BinaryData.fromObject(inputs), requestOptions).getValue()
- .toObject(OptimizationJob.class);
+ public Response deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) {
+ return this.serviceClient.deleteOptimizationJobWithResponse(jobId, requestOptions);
}
/**
- * Get an agent optimization job
+ * Get info about an agent optimization job.
*
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
+ * Get an optimization job by id.
*
* @param jobId The ID of the job.
* @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -2816,10 +547,9 @@ public OptimizationJob createOptimizationJob(OptimizationJobInputs inputs) {
* @throws ResourceNotFoundException thrown if 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 optimization job
+ * @return info about an agent optimization job.
*
- * Retrieves the specified agent optimization job.
- * Returns 202 while the job is in progress and 200 after it reaches a terminal state.
+ * Get an optimization job by id.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
@@ -2830,9 +560,9 @@ public OptimizationJob getOptimizationJob(String jobId) {
}
/**
- * List agent optimization jobs
+ * Returns a list of agent optimization jobs.
*
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
*
* @param limit A limit on the number of objects to be returned. Limit can range between 1 and 100, and the
* default is 20.
@@ -2856,7 +586,7 @@ public OptimizationJob getOptimizationJob(String jobId) {
*/
@Generated
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listOptimizationJobs(Integer limit, PageOrder order, String after,
+ public PagedIterable listOptimizationJobs(Integer limit, PageOrder order, String after,
String before, JobStatus status, String agentName) {
// Generated convenience method for listOptimizationJobs
RequestOptions requestOptions = new RequestOptions();
@@ -2879,13 +609,13 @@ public PagedIterable listOptimizationJobs(Integer limit, PageOr
requestOptions.addQueryParam("agent_name", agentName, false);
}
return serviceClient.listOptimizationJobs(requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationJob.class));
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationJobListItem.class));
}
/**
- * List agent optimization jobs
+ * Returns a list of agent optimization jobs.
*
- * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters.
+ * List optimization jobs. Supports cursor pagination and optional status / agent_name filters.
*
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
@@ -2896,18 +626,17 @@ public PagedIterable listOptimizationJobs(Integer limit, PageOr
*/
@Generated
@ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listOptimizationJobs() {
+ public PagedIterable listOptimizationJobs() {
// Generated convenience method for listOptimizationJobs
RequestOptions requestOptions = new RequestOptions();
return serviceClient.listOptimizationJobs(requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationJob.class));
+ .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationJobListItem.class));
}
/**
- * Cancel an agent optimization job
+ * Cancels an agent optimization job.
*
- * Requests cancellation of the specified agent optimization job.
- * The operation remains idempotent after the job reaches a terminal state.
+ * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state.
*
* @param jobId The ID of the job to cancel.
* @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -2928,36 +657,9 @@ public OptimizationJob cancelOptimizationJob(String jobId) {
}
/**
- * Delete an agent optimization job
- *
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
- *
- * @param jobId The ID of the job to delete.
- * @param force When true, force-delete even if the job is in a non-terminal state.
- * @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 deleteOptimizationJob(String jobId, Boolean force) {
- // Generated convenience method for deleteOptimizationJobWithResponse
- RequestOptions requestOptions = new RequestOptions();
- if (force != null) {
- requestOptions.addQueryParam("force", String.valueOf(force), false);
- }
- deleteOptimizationJobWithResponse(jobId, requestOptions).getValue();
- }
-
- /**
- * Delete an agent optimization job
+ * Deletes an agent optimization job.
*
- * Deletes the specified agent optimization job and its candidate artifacts.
- * Cancels the job first when it is still in a non-terminal state.
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal.
*
* @param jobId The ID of the job to delete.
* @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -2976,237 +678,55 @@ public void deleteOptimizationJob(String jobId) {
}
/**
- * List optimization job candidates
- *
- * Returns the candidates produced by the specified optimization job.
- *
- * @param jobId The optimization job id.
- * @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 listOptimizationCandidates(String jobId, Integer limit, PageOrder order,
- String after, String before) {
- // Generated convenience method for listOptimizationCandidates
- 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.listOptimizationCandidates(jobId, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationCandidate.class));
- }
-
- /**
- * List optimization job candidates
- *
- * Returns the candidates produced by the specified optimization job.
- *
- * @param jobId The optimization job id.
- * @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 listOptimizationCandidates(String jobId) {
- // Generated convenience method for listOptimizationCandidates
- RequestOptions requestOptions = new RequestOptions();
- return serviceClient.listOptimizationCandidates(jobId, requestOptions)
- .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationCandidate.class));
- }
-
- /**
- * Get an optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate
- *
- * Retrieves metadata, manifest information, and promotion details for the specified candidate.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public CandidateMetadata getOptimizationCandidate(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).getValue()
- .toObject(CandidateMetadata.class);
- }
-
- /**
- * Get an optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests.
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate config
- *
- * Retrieves the deploy configuration JSON for the specified candidate.
- * Clients can use it to compose `agents.create_version(...)` requests.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public CandidateDeployConfig getOptimizationCandidateConfig(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateConfigWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).getValue()
- .toObject(CandidateDeployConfig.class);
- }
-
- /**
- * Get optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate.
- *
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @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 optimization candidate results
- *
- * Retrieves full per-task evaluation results for the specified candidate.
- */
- @Generated
- @ServiceMethod(returns = ReturnType.SINGLE)
- public CandidateResults getOptimizationCandidateResults(String jobId, String candidateId) {
- // Generated convenience method for getOptimizationCandidateResultsWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).getValue()
- .toObject(CandidateResults.class);
- }
-
- /**
- * Get an optimization candidate file
+ * Creates an agent optimization job.
*
- * Streams the specified file from the candidate's blob directory.
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id.
- * @param path Relative path of the file to download (e.g. 'files/examples.jsonl').
+ * @param job The job to create.
+ * @param operationId Client-generated unique ID for idempotent retries. When absent, the server creates the job
+ * unconditionally.
* @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 optimization candidate file
- *
- * Streams the specified file from the candidate's blob directory.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public BinaryData getOptimizationCandidateFile(String jobId, String candidateId, String path) {
- // Generated convenience method for getOptimizationCandidateFileWithResponse
+ public OptimizationJob createOptimizationJob(OptimizationJob job, String operationId) {
+ // Generated convenience method for createOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getOptimizationCandidateFileWithResponse(jobId, candidateId, path, requestOptions).getValue();
+ if (operationId != null) {
+ requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId);
+ }
+ return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).getValue()
+ .toObject(OptimizationJob.class);
}
/**
- * Promote an optimization candidate
+ * Creates an agent optimization job.
*
- * Promotes the specified candidate and records the deployment timestamp and target agent version.
+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
*
- * @param jobId The optimization job id.
- * @param candidateId The candidate id to promote.
- * @param candidateRequest Promotion details.
+ * @param job The job 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 response after successfully promoting a candidate.
+ * @return agent optimization job resource — a long-running job that optimizes an agent's configuration
+ * (instructions, model, skills, tools) to maximize evaluation scores.
*/
@Generated
@ServiceMethod(returns = ReturnType.SINGLE)
- public PromoteCandidateResult promoteOptimizationCandidate(String jobId, String candidateId,
- PromoteCandidateInput candidateRequest) {
- // Generated convenience method for promoteOptimizationCandidateWithResponse
- RequestOptions requestOptions = new RequestOptions();
- return promoteOptimizationCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(candidateRequest),
- requestOptions).getValue().toObject(PromoteCandidateResult.class);
- }
-
- /**
- * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
- * {@link SessionLogEvent} values.
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
- */
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public IterableStream getSessionLogStream(String agentName, String agentVersion,
- String sessionId) {
+ public OptimizationJob createOptimizationJob(OptimizationJob job) {
+ // Generated convenience method for createOptimizationJobWithResponse
RequestOptions requestOptions = new RequestOptions();
- return getSessionLogStream(agentName, agentVersion, sessionId, requestOptions);
- }
-
- /**
- * Streams console logs (stdout / stderr) for a specific hosted agent session as typed
- * {@link SessionLogEvent} values.
- *
- * @param agentName The name of the hosted agent.
- * @param agentVersion The version of the agent.
- * @param sessionId The session ID (maps to an ADC sandbox).
- * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
- * @return A stream of {@link SessionLogEvent} values emitted by the hosted agent session log stream.
- */
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public IterableStream getSessionLogStream(String agentName, String agentVersion, String sessionId,
- RequestOptions requestOptions) {
- return new IterableStream<>(SessionLogStreamHelper
- .parse(getSessionLogStreamWithResponse(agentName, agentVersion, sessionId, requestOptions).getValue()
- .toFluxByteBuffer()));
+ return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).getValue()
+ .toObject(OptimizationJob.class);
}
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
similarity index 94%
rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesAsyncClient.java
rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
index 7b4b2626bb82..4fbf728e4a06 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesAsyncClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java
@@ -3,7 +3,7 @@
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.ai.agents;
-import com.azure.ai.agents.implementation.BetaToolboxesImpl;
+import com.azure.ai.agents.implementation.ToolboxesImpl;
import com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest;
import com.azure.ai.agents.implementation.models.UpdateToolboxRequest;
import com.azure.ai.agents.models.PageOrder;
@@ -37,18 +37,18 @@
* Initializes a new instance of the asynchronous AgentsClient type.
*/
@ServiceClient(builder = AgentsClientBuilder.class, isAsync = true)
-public final class BetaToolboxesAsyncClient {
+public final class ToolboxesAsyncClient {
@Generated
- private final BetaToolboxesImpl serviceClient;
+ private final ToolboxesImpl serviceClient;
/**
- * Initializes an instance of BetaToolboxesAsyncClient class.
+ * Initializes an instance of ToolboxesAsyncClient class.
*
* @param serviceClient the service client implementation.
*/
@Generated
- BetaToolboxesAsyncClient(BetaToolboxesImpl serviceClient) {
+ ToolboxesAsyncClient(ToolboxesImpl serviceClient) {
this.serviceClient = serviceClient;
}
@@ -67,7 +67,7 @@ public final class BetaToolboxesAsyncClient {
* }
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -99,7 +99,7 @@ public final class BetaToolboxesAsyncClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -252,7 +252,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -302,7 +302,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
similarity index 93%
rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesClient.java
rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
index b39644bb03e6..e87de0fa7abe 100644
--- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/BetaToolboxesClient.java
+++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java
@@ -3,7 +3,7 @@
// Code generated by Microsoft (R) TypeSpec Code Generator.
package com.azure.ai.agents;
-import com.azure.ai.agents.implementation.BetaToolboxesImpl;
+import com.azure.ai.agents.implementation.ToolboxesImpl;
import com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest;
import com.azure.ai.agents.implementation.models.UpdateToolboxRequest;
import com.azure.ai.agents.models.PageOrder;
@@ -31,18 +31,18 @@
* Initializes a new instance of the synchronous AgentsClient type.
*/
@ServiceClient(builder = AgentsClientBuilder.class)
-public final class BetaToolboxesClient {
+public final class ToolboxesClient {
@Generated
- private final BetaToolboxesImpl serviceClient;
+ private final ToolboxesImpl serviceClient;
/**
- * Initializes an instance of BetaToolboxesClient class.
+ * Initializes an instance of ToolboxesClient class.
*
* @param serviceClient the service client implementation.
*/
@Generated
- BetaToolboxesClient(BetaToolboxesImpl serviceClient) {
+ ToolboxesClient(ToolboxesImpl serviceClient) {
this.serviceClient = serviceClient;
}
@@ -61,7 +61,7 @@ public final class BetaToolboxesClient {
* }
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -93,7 +93,7 @@ public final class BetaToolboxesClient {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -244,7 +244,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) {
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
@@ -294,7 +294,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions
* created_at: long (Required)
* tools (Required): [
* (Required){
- * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
+ * type: String(function/file_search/computer/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/namespace/tool_search/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required)
* }
* ]
* skills (Optional): [
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 cf6389f143fc..d5d107362708 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
@@ -94,20 +94,6 @@ public BetaMemoryStoresImpl getBetaMemoryStores() {
return this.betaMemoryStores;
}
- /**
- * The BetaToolboxesImpl object to access its operations.
- */
- private final BetaToolboxesImpl betaToolboxes;
-
- /**
- * Gets the BetaToolboxesImpl object to access its operations.
- *
- * @return the BetaToolboxesImpl object.
- */
- public BetaToolboxesImpl getBetaToolboxes() {
- return this.betaToolboxes;
- }
-
/**
* The BetaAgentsImpl object to access its operations.
*/
@@ -136,6 +122,20 @@ public AgentsImpl getAgents() {
return this.agents;
}
+ /**
+ * The ToolboxesImpl object to access its operations.
+ */
+ private final ToolboxesImpl toolboxes;
+
+ /**
+ * Gets the ToolboxesImpl object to access its operations.
+ *
+ * @return the ToolboxesImpl object.
+ */
+ public ToolboxesImpl getToolboxes() {
+ return this.toolboxes;
+ }
+
/**
* Initializes an instance of AgentsClient client.
*
@@ -185,8 +185,8 @@ public AgentsClientImpl(HttpPipeline httpPipeline, SerializerAdapter serializerA
this.endpoint = endpoint;
this.serviceVersion = serviceVersion;
this.betaMemoryStores = new BetaMemoryStoresImpl(this);
- this.betaToolboxes = new BetaToolboxesImpl(this);
this.betaAgents = new BetaAgentsImpl(this);
this.agents = new AgentsImpl(this);
+ this.toolboxes = new ToolboxesImpl(this);
}
}
diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java
index df20978d9abb..a7c5c7d0b842 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
@@ -12,8 +12,10 @@
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;
@@ -120,6 +122,32 @@ Response createAgentSync(@HostParam("endpoint") String endpoint,
@HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData createAgentRequest,
RequestOptions requestOptions, Context context);
+ // @Multipart not supported by RestProxy
+ @Post("/agents")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> createAgentFromCode(@HostParam("endpoint") String endpoint,
+ @HeaderParam("content-type") String contentType, @HeaderParam("x-ms-agent-name") String agentName,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
+ // @Multipart not supported by RestProxy
+ @Post("/agents")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response createAgentFromCodeSync(@HostParam("endpoint") String endpoint,
+ @HeaderParam("content-type") String contentType, @HeaderParam("x-ms-agent-name") String agentName,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
@Post("/agents/{agent_name}")
@ExpectedResponses({ 200 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -144,6 +172,32 @@ Response updateAgentSync(@HostParam("endpoint") String endpoint,
@BodyParam("application/json") BinaryData updateAgentRequest, RequestOptions requestOptions,
Context context);
+ // @Multipart not supported by RestProxy
+ @Post("/agents/{agent_name}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> updateAgentFromCode(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("content-type") String contentType,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
+ // @Multipart not supported by RestProxy
+ @Post("/agents/{agent_name}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response updateAgentFromCodeSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("content-type") String contentType,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
@Post("/agents:import")
@ExpectedResponses({ 200 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -344,6 +398,294 @@ Response listAgentVersionsSync(@HostParam("endpoint") String endpoin
@PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
@HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+ @Patch("/agents/{agent_name}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> updateAgentDetails(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("Content-Type") String contentType,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/merge-patch+json") BinaryData patchAgentObjectRequest,
+ RequestOptions requestOptions, Context context);
+
+ @Patch("/agents/{agent_name}")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response updateAgentDetailsSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("Content-Type") String contentType,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/merge-patch+json") BinaryData patchAgentObjectRequest,
+ RequestOptions requestOptions, Context context);
+
+ // @Multipart not supported by RestProxy
+ @Post("/agents/{agent_name}/versions")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> createAgentVersionFromCode(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("content-type") String contentType,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
+ // @Multipart not supported by RestProxy
+ @Post("/agents/{agent_name}/versions")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response createAgentVersionFromCodeSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @HeaderParam("content-type") String contentType,
+ @HeaderParam("x-ms-code-zip-sha256") String codeZipSha256, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/code:download")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> downloadAgentCode(@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}/code:download")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response downloadAgentCodeSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/endpoint/sessions")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> createSession(@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 createSessionRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Post("/agents/{agent_name}/endpoint/sessions")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response createSessionSync(@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 createSessionRequest, RequestOptions requestOptions,
+ Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{session_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> getSession(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{session_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 getSessionSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/sessions/{session_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> deleteSession(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/sessions/{session_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 deleteSessionSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/endpoint/sessions/{session_id}:stop")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> stopSession(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Post("/agents/{agent_name}/endpoint/sessions/{session_id}:stop")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response stopSessionSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("session_id") String sessionId,
+ @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listSessions(@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/sessions")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listSessionsSync(@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}/versions/{agent_version}/sessions/{session_id}:logstream")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> getSessionLogStream(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_version") String agentVersion,
+ @PathParam("session_id") String sessionId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/versions/{agent_version}/sessions/{session_id}:logstream")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response getSessionLogStreamSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_version") String agentVersion,
+ @PathParam("session_id") String sessionId, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Put("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files/content")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> uploadSessionFile(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @HeaderParam("Content-Type") String contentType,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/octet-stream") BinaryData content, RequestOptions requestOptions, Context context);
+
+ @Put("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files/content")
+ @ExpectedResponses({ 201 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response uploadSessionFileSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @HeaderParam("Content-Type") String contentType,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ @BodyParam("application/octet-stream") BinaryData content, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files/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> downloadSessionFile(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files/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 downloadSessionFileSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
+ @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> listSessionFiles(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Get("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files")
+ @ExpectedResponses({ 200 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response listSessionFilesSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept,
+ RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Mono> deleteSessionFile(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
+ RequestOptions requestOptions, Context context);
+
+ @Delete("/agents/{agent_name}/endpoint/sessions/{agent_session_id}/files")
+ @ExpectedResponses({ 204 })
+ @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
+ @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 })
+ @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 })
+ @UnexpectedResponseExceptionType(HttpResponseException.class)
+ Response deleteSessionFileSync(@HostParam("endpoint") String endpoint,
+ @PathParam("agent_name") String agentName, @PathParam("agent_session_id") String agentSessionId,
+ @QueryParam("path") String path, @QueryParam("api-version") String apiVersion,
+ RequestOptions requestOptions, Context context);
+
@Get("/openai/v1/conversations")
@ExpectedResponses({ 200 })
@UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 })
@@ -881,32 +1223,14 @@ public Response createAgentWithResponse(BinaryData createAgentReques
}
/**
- * Update an agent
- *
- * Updates the agent by adding a new version if there are any changes to the agent definition.
- * If no changes, returns the existing agent version.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * metadata (Optional): {
- * String: String (Required)
- * }
- * description: String (Optional)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * }
- * }
- *
+ * Create a new code-based agent
*
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
* Response Body Schema
*
*
@@ -986,8 +1310,11 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* }
*
*
- * @param agentName The name of the agent to retrieve.
- * @param updateAgentRequest The updateAgentRequest parameter.
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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.
@@ -996,42 +1323,24 @@ public Response createAgentWithResponse(BinaryData createAgentReques
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> updateAgentWithResponseAsync(String agentName, BinaryData updateAgentRequest,
- RequestOptions requestOptions) {
- final String contentType = "application/json";
+ public Mono> createAgentFromCodeWithResponseAsync(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ final String contentType = "multipart/form-data";
final String accept = "application/json";
- return FluxUtil.withContext(context -> service.updateAgent(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions,
- context));
+ return FluxUtil
+ .withContext(context -> service.createAgentFromCode(this.client.getEndpoint(), contentType, agentName,
+ codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context));
}
/**
- * Update an agent
- *
- * Updates the agent by adding a new version if there are any changes to the agent definition.
- * If no changes, returns the existing agent version.
- * Request Body Schema
- *
- *
- * {@code
- * {
- * metadata (Optional): {
- * String: String (Required)
- * }
- * description: String (Optional)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * blueprint_reference (Optional): {
- * type: String(ManagedAgentIdentityBlueprint) (Required)
- * }
- * }
- * }
- *
+ * Create a new code-based agent
*
+ * Creates a new code-based agent. Uploads the code zip and creates the agent in a single call.
+ * The agent name is provided in the `x-ms-agent-name` header since POST /agents has no name in the URL path.
+ * The SHA-256 hex digest of the zip is provided in the `x-ms-code-zip-sha256` header for integrity and dedup.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
* Response Body Schema
*
*
@@ -1111,8 +1420,11 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* }
*
*
- * @param agentName The name of the agent to retrieve.
- * @param updateAgentRequest The updateAgentRequest parameter.
+ * @param agentName The unique name that identifies the agent. Max 63 chars, must start and end with alphanumeric,
+ * hyphens allowed in the middle.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content 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.
@@ -1121,32 +1433,36 @@ public Mono> updateAgentWithResponseAsync(String agentName,
* @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response updateAgentWithResponse(String agentName, BinaryData updateAgentRequest,
- RequestOptions requestOptions) {
- final String contentType = "application/json";
+ public Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ final String contentType = "multipart/form-data";
final String accept = "application/json";
- return service.updateAgentSync(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions,
- Context.NONE);
+ return service.createAgentFromCodeSync(this.client.getEndpoint(), contentType, agentName, codeZipSha256,
+ this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE);
}
/**
- * Create an agent from a manifest
+ * Update an agent
*
- * Imports the provided manifest to create an agent and returns the created resource.
+ * Updates the agent by adding a new version if there are any changes to the agent definition.
+ * If no changes, returns the existing agent version.
* Request Body Schema
*
*
* {@code
* {
- * name: String (Required)
* metadata (Optional): {
* String: String (Required)
* }
* description: String (Optional)
- * manifest_id: String (Required)
- * parameter_values (Required): {
- * String: BinaryData (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
* }
* }
* }
@@ -1231,7 +1547,8 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* }
*
*
- * @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
+ * @param agentName The name of the agent to retrieve.
+ * @param updateAgentRequest The updateAgentRequest 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.
@@ -1240,32 +1557,37 @@ public Response updateAgentWithResponse(String agentName, BinaryData
* @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> createAgentFromManifestWithResponseAsync(
- BinaryData createAgentFromManifestRequest, RequestOptions requestOptions) {
+ public Mono> updateAgentWithResponseAsync(String agentName, BinaryData updateAgentRequest,
+ RequestOptions requestOptions) {
final String contentType = "application/json";
final String accept = "application/json";
- return FluxUtil.withContext(context -> service.createAgentFromManifest(this.client.getEndpoint(),
- this.client.getServiceVersion().getVersion(), contentType, accept, createAgentFromManifestRequest,
- requestOptions, context));
+ return FluxUtil.withContext(context -> service.updateAgent(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions,
+ context));
}
/**
- * Create an agent from a manifest
+ * Update an agent
*
- * Imports the provided manifest to create an agent and returns the created resource.
+ * Updates the agent by adding a new version if there are any changes to the agent definition.
+ * If no changes, returns the existing agent version.
* Request Body Schema
*
*
* {@code
* {
- * name: String (Required)
* metadata (Optional): {
* String: String (Required)
* }
* description: String (Optional)
- * manifest_id: String (Required)
- * parameter_values (Required): {
- * String: BinaryData (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
* }
* }
* }
@@ -1350,7 +1672,8 @@ public Mono> createAgentFromManifestWithResponseAsync(
* }
*
*
- * @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
+ * @param agentName The name of the agent to retrieve.
+ * @param updateAgentRequest The updateAgentRequest 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.
@@ -1359,37 +1682,134 @@ public Mono> createAgentFromManifestWithResponseAsync(
* @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response createAgentFromManifestWithResponse(BinaryData createAgentFromManifestRequest,
+ public Response updateAgentWithResponse(String agentName, BinaryData updateAgentRequest,
RequestOptions requestOptions) {
final String contentType = "application/json";
final String accept = "application/json";
- return service.createAgentFromManifestSync(this.client.getEndpoint(),
- this.client.getServiceVersion().getVersion(), contentType, accept, createAgentFromManifestRequest,
- requestOptions, Context.NONE);
+ return service.updateAgentSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions,
+ Context.NONE);
}
/**
- * Update an agent from a manifest
+ * Update a code-based agent
*
- * Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
- * If no changes, returns the existing agent version.
- * Request Body Schema
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
+ * Response Body Schema
*
*
* {@code
* {
- * metadata (Optional): {
- * String: String (Required)
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): {
+ * type: String(ManagedAgentIdentityBlueprint) (Required)
+ * }
+ * agent_guid: String (Optional)
+ * }
* }
- * description: String (Optional)
- * manifest_id: String (Required)
- * parameter_values (Required): {
- * String: BinaryData (Required)
+ * 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)
+ * }
+ * ]
+ * }
+ * protocols (Optional): [
+ * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional)
+ * ]
+ * authorization_schemes (Optional): [
+ * (Optional){
+ * type: String(Entra/BotService/BotServiceRbac) (Required)
+ * }
+ * ]
+ * }
+ * instance_identity (Optional): (recursive schema, see instance_identity above)
+ * blueprint (Optional): (recursive schema, see blueprint above)
+ * blueprint_reference (Optional): (recursive schema, see blueprint_reference above)
+ * agent_card (Optional): {
+ * version: String (Optional, Required on create)
+ * description: String (Optional)
+ * skills (Optional, Required on create): [
+ * (Optional, Required on create){
+ * id: String (Optional, Required on create)
+ * name: String (Optional, Required on create)
+ * description: String (Optional)
+ * tags (Optional): [
+ * String (Optional)
+ * ]
+ * examples (Optional): [
+ * String (Optional)
+ * ]
+ * }
+ * ]
* }
* }
* }
*
*
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
+ * @param requestOptions The options to configure the HTTP request before HTTP client sends it.
+ * @throws HttpResponseException thrown if the request is rejected by server.
+ * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+ * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+ * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> updateAgentFromCodeWithResponseAsync(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ final String contentType = "multipart/form-data";
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.updateAgentFromCode(this.client.getEndpoint(), agentName, contentType,
+ codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context));
+ }
+
+ /**
+ * Update a code-based agent
+ *
+ * Updates a code-based agent by uploading new code and creating a new version.
+ * If the code and definition are unchanged (matched by x-ms-code-zip-sha256 header), returns the existing version.
+ * The request body is multipart/form-data with a JSON metadata part and a binary code part (part order is
+ * irrelevant).
+ * Maximum upload size is 250 MB.
* Response Body Schema
*
*
@@ -1469,35 +1889,39 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
* }
*
*
- * @param agentName The name of the agent to update.
- * @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
+ * @param agentName The unique name that identifies the agent. Name can be used to retrieve/update/delete the agent.
+ * - Must start and end with alphanumeric characters,
+ * - Can contain hyphens in the middle
+ * - Must not exceed 63 characters.
+ * @param codeZipSha256 SHA-256 hex digest of the uploaded code zip. Used for change detection (dedup) and integrity
+ * verification.
+ * @param content The content parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response} on successful completion of {@link Mono}.
+ * @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> updateAgentFromManifestWithResponseAsync(String agentName,
- BinaryData updateAgentFromManifestRequest, RequestOptions requestOptions) {
- final String contentType = "application/json";
+ public Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256,
+ BinaryData content, RequestOptions requestOptions) {
+ final String contentType = "multipart/form-data";
final String accept = "application/json";
- return FluxUtil.withContext(context -> service.updateAgentFromManifest(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentFromManifestRequest,
- requestOptions, context));
+ return service.updateAgentFromCodeSync(this.client.getEndpoint(), agentName, contentType, codeZipSha256,
+ this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE);
}
/**
- * Update an agent from a manifest
+ * Create an agent from a manifest
*
- * Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
- * If no changes, returns the existing agent version.
+ * Imports the provided manifest to create an agent and returns the created resource.
* Request Body Schema
*
*
* {@code
* {
+ * name: String (Required)
* metadata (Optional): {
* String: String (Required)
* }
@@ -1589,136 +2013,46 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
* }
*
*
- * @param agentName The name of the agent to update.
- * @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
+ * @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response body along with {@link Response}.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- public Response updateAgentFromManifestWithResponse(String agentName,
- BinaryData updateAgentFromManifestRequest, RequestOptions requestOptions) {
+ public Mono> createAgentFromManifestWithResponseAsync(
+ BinaryData createAgentFromManifestRequest, RequestOptions requestOptions) {
final String contentType = "application/json";
final String accept = "application/json";
- return service.updateAgentFromManifestSync(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentFromManifestRequest,
- requestOptions, Context.NONE);
+ return FluxUtil.withContext(context -> service.createAgentFromManifest(this.client.getEndpoint(),
+ this.client.getServiceVersion().getVersion(), contentType, accept, createAgentFromManifestRequest,
+ requestOptions, context));
}
/**
- * Delete an agent
+ * Create an agent from a manifest
*
- * Deletes an agent. For hosted agents, if any version has active sessions, the request
- * is rejected with HTTP 409 unless `force` is set to true. When force is true, all
- * associated sessions are cascade-deleted along with the agent and its versions.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | force | Boolean | No | For Hosted Agents, if `true`, force-deletes the agent even if
- * its versions have active sessions, cascading deletion to all associated sessions. The service defaults to `false`
- * if a value is not specified by the caller. This value is not relevant for other Agent types. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
+ * Imports the provided manifest to create an agent and returns the created resource.
+ * Request Body Schema
*
*
* {@code
* {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
* name: String (Required)
- * deleted: boolean (Required)
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * description: String (Optional)
+ * manifest_id: String (Required)
+ * parameter_values (Required): {
+ * String: BinaryData (Required)
+ * }
* }
* }
*
*
- * @param agentName The name of the agent 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 a deleted agent Object along with {@link Response} on successful completion of {@link Mono}.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Mono> internalDeleteAgentWithResponseAsync(String agentName,
- RequestOptions requestOptions) {
- final String accept = "application/json";
- return FluxUtil.withContext(context -> service.internalDeleteAgent(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
- }
-
- /**
- * Delete an agent
- *
- * Deletes an agent. For hosted agents, if any version has active sessions, the request
- * is rejected with HTTP 409 unless `force` is set to true. When force is true, all
- * associated sessions are cascade-deleted along with the agent and its versions.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | force | Boolean | No | For Hosted Agents, if `true`, force-deletes the agent even if
- * its versions have active sessions, cascading deletion to all associated sessions. The service defaults to `false`
- * if a value is not specified by the caller. This value is not relevant for other Agent types. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
- * Response Body Schema
- *
- *
- * {@code
- * {
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * name: String (Required)
- * deleted: boolean (Required)
- * }
- * }
- *
- *
- * @param agentName The name of the agent 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 a deleted agent Object along with {@link Response}.
- */
- @ServiceMethod(returns = ReturnType.SINGLE)
- public Response internalDeleteAgentWithResponse(String agentName, RequestOptions requestOptions) {
- final String accept = "application/json";
- return service.internalDeleteAgentSync(this.client.getEndpoint(), agentName,
- this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
- }
-
- /**
- * List agents
- *
- * Returns a paged collection of agent resources.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | kind | String | No | Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external". |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
*
*
@@ -1798,50 +2132,46 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
* }
*
*
+ * @param createAgentFromManifestRequest The createAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response data for a requested list of items along with {@link PagedResponse} on successful completion
- * of {@link Mono}.
+ * @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- private Mono> listAgentsSinglePageAsync(RequestOptions requestOptions) {
+ public Response createAgentFromManifestWithResponse(BinaryData createAgentFromManifestRequest,
+ RequestOptions requestOptions) {
+ final String contentType = "application/json";
final String accept = "application/json";
- return FluxUtil
- .withContext(context -> service.listAgents(this.client.getEndpoint(),
- this.client.getServiceVersion().getVersion(), accept, requestOptions, context))
- .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
- getValues(res.getValue(), "data"), null, null));
+ return service.createAgentFromManifestSync(this.client.getEndpoint(),
+ this.client.getServiceVersion().getVersion(), contentType, accept, createAgentFromManifestRequest,
+ requestOptions, Context.NONE);
}
/**
- * List agents
+ * Update an agent from a manifest
+ *
+ * Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
+ * If no changes, returns the existing agent version.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * description: String (Optional)
+ * manifest_id: String (Required)
+ * parameter_values (Required): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ *
*
- * Returns a paged collection of agent resources.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | kind | String | No | Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external". |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
*
*
@@ -1921,44 +2251,47 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
* }
*
*
+ * @param agentName The name of the agent to update.
+ * @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response data for a requested list of items as paginated response with {@link PagedFlux}.
+ * @return the response body along with {@link Response} on successful completion of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
- return new PagedFlux<>(() -> listAgentsSinglePageAsync(requestOptions));
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> updateAgentFromManifestWithResponseAsync(String agentName,
+ BinaryData updateAgentFromManifestRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.updateAgentFromManifest(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentFromManifestRequest,
+ requestOptions, context));
}
/**
- * List agents
+ * Update an agent from a manifest
+ *
+ * Updates the agent from a manifest by adding a new version if there are any changes to the agent definition.
+ * If no changes, returns the existing agent version.
+ * Request Body Schema
+ *
+ *
+ * {@code
+ * {
+ * metadata (Optional): {
+ * String: String (Required)
+ * }
+ * description: String (Optional)
+ * manifest_id: String (Required)
+ * parameter_values (Required): {
+ * String: BinaryData (Required)
+ * }
+ * }
+ * }
+ *
*
- * Returns a paged collection of agent resources.
- * Query Parameters
- *
- * Query Parameters
- * | Name | Type | Required | Description |
- * | kind | String | No | Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external". |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
- *
- * You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
*
*
@@ -2038,46 +2371,38 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
* }
*
*
+ * @param agentName The name of the agent to update.
+ * @param updateAgentFromManifestRequest The updateAgentFromManifestRequest parameter.
* @param requestOptions The options to configure the HTTP request before HTTP client sends it.
* @throws HttpResponseException thrown if the request is rejected by server.
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
* @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
- * @return the response data for a requested list of items along with {@link PagedResponse}.
+ * @return the response body along with {@link Response}.
*/
@ServiceMethod(returns = ReturnType.SINGLE)
- private PagedResponse listAgentsSinglePage(RequestOptions requestOptions) {
+ public Response updateAgentFromManifestWithResponse(String agentName,
+ BinaryData updateAgentFromManifestRequest, RequestOptions requestOptions) {
+ final String contentType = "application/json";
final String accept = "application/json";
- Response res = service.listAgentsSync(this.client.getEndpoint(),
- this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
- return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
- getValues(res.getValue(), "data"), null, null);
+ return service.updateAgentFromManifestSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentFromManifestRequest,
+ requestOptions, Context.NONE);
}
/**
- * List agents
+ * Delete an agent
*
- * Returns a paged collection of agent resources.
+ * Deletes an agent. For hosted agents, if any version has active sessions, the request
+ * is rejected with HTTP 409 unless `force` is set to true. When force is true, all
+ * associated sessions are cascade-deleted along with the agent and its versions.
* Query Parameters
*
* Query Parameters
* | Name | Type | Required | Description |
- * | kind | String | No | Filter agents by kind. If not provided, all agents are returned.
- * Allowed values: "prompt", "hosted", "workflow", "external". |
- * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
- * between 1 and 100, and the
- * default is 20. |
- * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
- * for ascending order and`desc`
- * for descending order. Allowed values: "asc", "desc". |
- * | after | String | No | A cursor for use in pagination. `after` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
- * | before | String | No | A cursor for use in pagination. `before` is an object ID that
- * defines your place in the list.
- * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
- * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ * | force | Boolean | No | For Hosted Agents, if `true`, force-deletes the agent even if
+ * its versions have active sessions, cascading deletion to all associated sessions. The service defaults to `false`
+ * if a value is not specified by the caller. This value is not relevant for other Agent types. |
*
* You can add these to a request with {@link RequestOptions#addQueryParam}
* Response Body Schema
@@ -2086,30 +2411,126 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* {@code
* {
* object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
* name: String (Required)
- * versions (Required): {
- * latest (Required): {
- * metadata (Required): {
- * String: String (Required)
- * }
- * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
- * id: String (Required)
- * name: String (Required)
- * version: String (Required)
- * description: String (Optional)
- * created_at: long (Required)
- * definition (Required): {
- * kind: String(prompt/hosted/workflow/external) (Required)
- * rai_config (Optional): {
- * rai_policy_name: String (Required)
- * }
- * }
- * status: String(creating/active/failed/deleting/deleted) (Optional)
- * instance_identity (Optional): {
- * principal_id: String (Required)
- * client_id: String (Required)
- * }
+ * deleted: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent 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 a deleted agent Object along with {@link Response} on successful completion of {@link Mono}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Mono> internalDeleteAgentWithResponseAsync(String agentName,
+ RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil.withContext(context -> service.internalDeleteAgent(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context));
+ }
+
+ /**
+ * Delete an agent
+ *
+ * Deletes an agent. For hosted agents, if any version has active sessions, the request
+ * is rejected with HTTP 409 unless `force` is set to true. When force is true, all
+ * associated sessions are cascade-deleted along with the agent and its versions.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | force | Boolean | No | For Hosted Agents, if `true`, force-deletes the agent even if
+ * its versions have active sessions, cascading deletion to all associated sessions. The service defaults to `false`
+ * if a value is not specified by the caller. This value is not relevant for other Agent types. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * name: String (Required)
+ * deleted: boolean (Required)
+ * }
+ * }
+ *
+ *
+ * @param agentName The name of the agent 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 a deleted agent Object along with {@link Response}.
+ */
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ public Response internalDeleteAgentWithResponse(String agentName, RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return service.internalDeleteAgentSync(this.client.getEndpoint(), agentName,
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
+ }
+
+ /**
+ * List agents
+ *
+ * Returns a paged collection of agent resources.
+ * Query Parameters
+ *
+ * Query Parameters
+ * | Name | Type | Required | Description |
+ * | kind | String | No | Filter agents by kind. If not provided, all agents are returned.
+ * Allowed values: "prompt", "hosted", "workflow", "external". |
+ * | limit | Integer | No | A limit on the number of objects to be returned. Limit can range
+ * between 1 and 100, and the
+ * default is 20. |
+ * | order | String | No | Sort order by the `created_at` timestamp of the objects. `asc`
+ * for ascending order and`desc`
+ * for descending order. Allowed values: "asc", "desc". |
+ * | after | String | No | A cursor for use in pagination. `after` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include after=obj_foo in order to fetch the next page of the list. |
+ * | before | String | No | A cursor for use in pagination. `before` is an object ID that
+ * defines your place in the list.
+ * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your
+ * subsequent call can include before=obj_foo in order to fetch the previous page of the list. |
+ *
+ * You can add these to a request with {@link RequestOptions#addQueryParam}
+ * Response Body Schema
+ *
+ *
+ * {@code
+ * {
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * versions (Required): {
+ * latest (Required): {
+ * metadata (Required): {
+ * String: String (Required)
+ * }
+ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+ * id: String (Required)
+ * name: String (Required)
+ * version: String (Required)
+ * description: String (Optional)
+ * created_at: long (Required)
+ * definition (Required): {
+ * kind: String(prompt/hosted/workflow/external) (Required)
+ * rai_config (Optional): {
+ * rai_policy_name: String (Required)
+ * }
+ * }
+ * status: String(creating/active/failed/deleting/deleted) (Optional)
+ * instance_identity (Optional): {
+ * principal_id: String (Required)
+ * client_id: String (Required)
+ * }
* blueprint (Optional): (recursive schema, see blueprint above)
* blueprint_reference (Optional): {
* type: String(ManagedAgentIdentityBlueprint) (Required)
@@ -2164,93 +2585,372 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt
* @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
* @throws ResourceNotFoundException thrown if 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}.
+ * @return the response data for a requested list of items along with {@link PagedResponse} on successful completion
+ * of {@link Mono}.
*/
- @ServiceMethod(returns = ReturnType.COLLECTION)
- public PagedIterable listAgents(RequestOptions requestOptions) {
- return new PagedIterable<>(() -> listAgentsSinglePage(requestOptions));
+ @ServiceMethod(returns = ReturnType.SINGLE)
+ private Mono> listAgentsSinglePageAsync(RequestOptions requestOptions) {
+ final String accept = "application/json";
+ return FluxUtil
+ .withContext(context -> service.listAgents(this.client.getEndpoint(),
+ this.client.getServiceVersion().getVersion(), accept, requestOptions, context))
+ .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(),
+ getValues(res.getValue(), "data"), null, null));
}
/**
- * Create an agent version
+ * List agents
*
- * Creates a new version for the specified agent and returns the created version resource.
- * Request Body Schema
+ * Returns a paged collection of agent resources.
+ * Query Parameters
+ *
+ * Query Parameters
+ * |