diff --git a/sdk/ai/azure-ai-agents/README.md b/sdk/ai/azure-ai-agents/README.md index 2544635cdd04..d425968263d0 100644 --- a/sdk/ai/azure-ai-agents/README.md +++ b/sdk/ai/azure-ai-agents/README.md @@ -723,7 +723,7 @@ The synchronous session log method returns `IterableStream`, wh ```java com.azure.ai.agents.session_logs_sync IterableStream sessionLogs = - betaAgentsClient.getSessionLogStream(agentName, agentVersion, sessionId); + agentsClient.getSessionLogStream(agentName, agentVersion, sessionId); int logsRead = 0; for (SessionLogEvent event : sessionLogs) { @@ -741,7 +741,7 @@ for (SessionLogEvent event : sessionLogs) { The asynchronous session log method returns `Flux`, integrating naturally with Reactor pipelines: ```java com.azure.ai.agents.session_logs_async -betaAgentsAsyncClient.getSessionLogStream(agentName, agentVersion, sessionId) +agentsAsyncClient.getSessionLogStream(agentName, agentVersion, sessionId) .take(100) .doOnNext(event -> System.out.printf("[%s] %s%n", event.getEvent(), event.getData())) .blockLast(); diff --git a/sdk/ai/azure-ai-agents/cspell.yaml b/sdk/ai/azure-ai-agents/cspell.yaml index a672340aa170..e5c1988ca2e6 100644 --- a/sdk/ai/azure-ai-agents/cspell.yaml +++ b/sdk/ai/azure-ai-agents/cspell.yaml @@ -3,6 +3,7 @@ import: overrides: - filename: "**/sdk/ai/azure-ai-agents/*" words: + - BYOT - dedup - gitmcp - byot diff --git a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv index f174b7a578cf..203df3be166c 100644 --- a/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv +++ b/sdk/ai/azure-ai-agents/customizations/beta-annotations.csv @@ -1,50 +1,8 @@ type;class_name;annotation_description;member_name -class;com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent;Preview API. CodeAgents=V1Preview; -class;com.azure.ai.agents.models.AgentBlueprintReference;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentBlueprintReferenceType;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentCard;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentCardSkill;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentDefinition;Preview API. CodeAgents=V1Preview, ExternalAgents=V1Preview, HostedAgents=V1Preview, WorkflowAgents=V1Preview; -field;com.azure.ai.agents.models.AgentDetails;Preview API. AgentEndpoints=V1Preview;agent_card -field;com.azure.ai.agents.models.AgentDetails;Preview API. AgentEndpoints=V1Preview;agent_endpoint -field;com.azure.ai.agents.models.AgentDetails;Preview API. AgentEndpoints=V1Preview;blueprint_reference -field;com.azure.ai.agents.models.AgentDetails;Preview API. AgentEndpoints=V1Preview;blueprintIdentity -field;com.azure.ai.agents.models.AgentDetails;Preview API. AgentEndpoints=V1Preview;instance_identity -class;com.azure.ai.agents.models.AgentEndpointAuthorizationScheme;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentEndpointConfig;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentIdentifier;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.AgentIdentity;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentSessionResource;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.AgentSessionStatus;Preview API. AgentEndpoints=V1Preview; -field;com.azure.ai.agents.models.AgentVersionDetails;Preview API. AgentEndpoints=V1Preview;agent_guid -field;com.azure.ai.agents.models.AgentVersionDetails;Preview API. AgentEndpoints=V1Preview;blueprint -field;com.azure.ai.agents.models.AgentVersionDetails;Preview API. AgentEndpoints=V1Preview;blueprint_reference -field;com.azure.ai.agents.models.AgentVersionDetails;Preview API. AgentEndpoints=V1Preview;instance_identity -class;com.azure.ai.agents.models.BotServiceAuthorizationScheme;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.CandidateDeployConfig;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.CandidateFileInfo;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.CandidateMetadata;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.CandidateResults;Preview API. AgentsOptimization=V1Preview; +class;com.azure.ai.agents.models.AgentDefinition;Preview API. ExternalAgents=V1Preview, WorkflowAgents=V1Preview; class;com.azure.ai.agents.models.ChatSummaryMemoryItem;Preview API. MemoryStores=V1Preview; -class;com.azure.ai.agents.models.CodeConfiguration;Preview API. CodeAgents=V1Preview; -class;com.azure.ai.agents.models.ContainerConfiguration;Preview API. CodeAgents=V1Preview; -class;com.azure.ai.agents.models.CreateAgentVersionFromCodeContent;Preview API. CodeAgents=V1Preview; -class;com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata;Preview API. CodeAgents=V1Preview; -class;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. CodeAgents=V1Preview, ExternalAgents=V1Preview, HostedAgents=V1Preview, WorkflowAgents=V1Preview; -class;com.azure.ai.agents.models.DatasetInfo;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.DatasetRef;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.EntraAuthorizationScheme;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.EntraIsolationKeySource;Preview API. AgentEndpoints=V1Preview; +class;com.azure.ai.agents.models.CreateAgentVersionInput;Preview API. ExternalAgents=V1Preview, WorkflowAgents=V1Preview; class;com.azure.ai.agents.models.ExternalAgentDefinition;Preview API. ExternalAgents=V1Preview; -class;com.azure.ai.agents.models.FixedRatioVersionSelectionRule;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.HeaderIsolationKeySource;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.HeaderTelemetryEndpointAuth;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.HostedAgentDefinition;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.IsolationKeySource;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.IsolationKeySourceKind;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference;Preview API. AgentEndpoints=V1Preview; class;com.azure.ai.agents.models.MemoryItem;Preview API. MemoryStores=V1Preview; class;com.azure.ai.agents.models.MemoryItemKind;Preview API. MemoryStores=V1Preview; class;com.azure.ai.agents.models.MemoryOperation;Preview API. MemoryStores=V1Preview; @@ -61,33 +19,21 @@ class;com.azure.ai.agents.models.MemoryStoreSearchResponse;Preview API. MemorySt class;com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult;Preview API. MemoryStores=V1Preview; class;com.azure.ai.agents.models.MemoryStoreUpdateResponse;Preview API. MemoryStores=V1Preview; class;com.azure.ai.agents.models.MemoryStoreUpdateStatus;Preview API. MemoryStores=V1Preview; -class;com.azure.ai.agents.models.OptimizationAgentDefinition;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationCandidate;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationJob;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationJobInputs;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationJobProgress;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationJobResult;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationOptions;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OptimizationTaskResult;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.OtlpTelemetryEndpoint;Preview API. HostedAgents=V1Preview; +class;com.azure.ai.agents.models.OptimizationAgentIdentifier;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationCandidate;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationDatasetCriterion;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationDatasetInput;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationDatasetItem;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationEvaluatorRef;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationInlineDatasetInput;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationJob;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationJobInputs;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationJobListItem;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationJobProgress;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationJobResult;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationOptions;Preview API. AgentsOptimization=V2Preview; +class;com.azure.ai.agents.models.OptimizationReferenceDatasetInput;Preview API. AgentsOptimization=V2Preview; class;com.azure.ai.agents.models.ProceduralMemoryItem;Preview API. MemoryStores=V1Preview; -class;com.azure.ai.agents.models.PromoteCandidateInput;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.PromoteCandidateResult;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.PromotionInfo;Preview API. AgentsOptimization=V1Preview; -class;com.azure.ai.agents.models.SessionLogEvent;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.SessionLogEventType;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryConfig;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryDataKind;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryEndpoint;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryEndpointAuth;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryEndpointAuthType;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryEndpointKind;Preview API. HostedAgents=V1Preview; -class;com.azure.ai.agents.models.TelemetryTransportProtocol;Preview API. HostedAgents=V1Preview; +class;com.azure.ai.agents.models.PromotionInfo;Preview API. AgentsOptimization=V2Preview; class;com.azure.ai.agents.models.UserProfileMemoryItem;Preview API. MemoryStores=V1Preview; -class;com.azure.ai.agents.models.VersionIndicator;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.VersionIndicatorType;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.VersionRefIndicator;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.VersionSelectionRule;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.VersionSelector;Preview API. AgentEndpoints=V1Preview; -class;com.azure.ai.agents.models.VersionSelectorType;Preview API. AgentEndpoints=V1Preview; class;com.azure.ai.agents.models.WorkflowAgentDefinition;Preview API. WorkflowAgents=V1Preview; 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..d428919c296a 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; @@ -62,6 +74,7 @@ public final class AgentsAsyncClient { * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -483,6 +496,7 @@ public Mono createAgentVersion(String agentName, AgentDefin * {@code * { * name: String (Required) + * state: String(enabled/disabled) (Optional) * metadata (Optional): { * String: String (Required) * } @@ -543,6 +557,7 @@ public Mono createAgentVersion(String agentName, AgentDefin * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -663,6 +678,7 @@ Mono> createAgentWithResponse(BinaryData createAgentRequest * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -817,6 +833,7 @@ Mono updateAgent(String agentName, AgentDefinition definition) { * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -934,6 +951,7 @@ Mono> createAgentFromManifestWithResponse(BinaryData create * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -1512,6 +1530,7 @@ public PagedFlux listAgentVersions(String agentName, Intege * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -1885,7 +1904,8 @@ Mono createAgent(CreateAgentOptions options) { // Generated convenience method for createAgentWithResponse RequestOptions requestOptions = new RequestOptions(); CreateAgentRequest createAgentRequestObj - = new CreateAgentRequest(options.getAgentName(), options.getDefinition()).setMetadata(options.getMetadata()) + = new CreateAgentRequest(options.getAgentName(), options.getDefinition()).setState(options.getState()) + .setMetadata(options.getMetadata()) .setDescription(options.getDescription()) .setBlueprintReference(options.getBlueprintReference()) .setAgentEndpoint(options.getAgentEndpoint()) @@ -2130,4 +2150,1890 @@ 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)
+     *     state: String(enabled/disabled) (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)
+     *     state: String(enabled/disabled) (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)
+     *     state: String(enabled/disabled) (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
NameTypeRequiredDescription
agent_versionStringNoThe 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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())); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> enableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return this.serviceClient.enableAgentWithResponseAsync(agentName, requestOptions); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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> disableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return this.serviceClient.disableAgentWithResponseAsync(agentName, requestOptions); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @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 enableAgent(String agentName) { + // Generated convenience method for enableAgentWithResponse + RequestOptions requestOptions = new RequestOptions(); + return enableAgentWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @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 disableAgent(String agentName) { + // Generated convenience method for disableAgentWithResponse + RequestOptions requestOptions = new RequestOptions(); + return disableAgentWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono); + } } 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..3861935fae9f 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; @@ -56,6 +69,7 @@ public final class AgentsClient { * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -449,6 +463,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition * {@code * { * name: String (Required) + * state: String(enabled/disabled) (Optional) * metadata (Optional): { * String: String (Required) * } @@ -509,6 +524,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -629,6 +645,7 @@ Response createAgentWithResponse(BinaryData createAgentRequest, Requ * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -783,6 +800,7 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) { * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -899,6 +917,7 @@ Response createAgentFromManifestWithResponse(BinaryData createAgentF * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -1445,6 +1464,7 @@ public PagedIterable listAgentVersions(String agentName, In * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -1804,7 +1824,8 @@ AgentDetails createAgent(CreateAgentOptions options) { // Generated convenience method for createAgentWithResponse RequestOptions requestOptions = new RequestOptions(); CreateAgentRequest createAgentRequestObj - = new CreateAgentRequest(options.getAgentName(), options.getDefinition()).setMetadata(options.getMetadata()) + = new CreateAgentRequest(options.getAgentName(), options.getDefinition()).setState(options.getState()) + .setMetadata(options.getMetadata()) .setDescription(options.getDescription()) .setBlueprintReference(options.getBlueprintReference()) .setAgentEndpoint(options.getAgentEndpoint()) @@ -2022,4 +2043,1816 @@ 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)
+     *     state: String(enabled/disabled) (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)
+     *     state: String(enabled/disabled) (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)
+     *     state: String(enabled/disabled) (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
NameTypeRequiredDescription
agent_versionStringNoThe 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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())); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 enableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return this.serviceClient.enableAgentWithResponse(agentName, requestOptions); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 disableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return this.serviceClient.disableAgentWithResponse(agentName, requestOptions); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @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 enableAgent(String agentName) { + // Generated convenience method for enableAgentWithResponse + RequestOptions requestOptions = new RequestOptions(); + enableAgentWithResponse(agentName, requestOptions).getValue(); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @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 disableAgent(String agentName) { + // Generated convenience method for disableAgentWithResponse + RequestOptions requestOptions = new RequestOptions(); + disableAgentWithResponse(agentName, requestOptions).getValue(); + } } 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 f90649a6003c..f09fceaa6d0e 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 @@ -61,13 +61,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 { @@ -86,14 +86,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 @@ -543,10 +541,8 @@ public BetaAgentsClientBuilder beta() { serviceClients = { BetaAgentsClient.class, BetaMemoryStoresClient.class, - BetaToolboxesClient.class, BetaAgentsAsyncClient.class, - BetaMemoryStoresAsyncClient.class, - BetaToolboxesAsyncClient.class }) + BetaMemoryStoresAsyncClient.class }) public final class BetaAgentsClientBuilder { /** @@ -576,16 +572,6 @@ public BetaMemoryStoresAsyncClient buildBetaMemoryStoresAsyncClient() { buildInnerClient(MEMORY_STORES_PREVIEW_FEATURES).getBetaMemoryStores()); } - /** - * Builds an instance of BetaToolboxesAsyncClient class. - * - * @return an instance of BetaToolboxesAsyncClient. - */ - @Beta - public BetaToolboxesAsyncClient buildBetaToolboxesAsyncClient() { - return new BetaToolboxesAsyncClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes()); - } - /** * Builds an instance of BetaAgentsClient class. * @@ -605,16 +591,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. - */ - @Beta - public BetaToolboxesClient buildBetaToolboxesClient() { - return new BetaToolboxesClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes()); - } } /** @@ -635,15 +611,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. * @@ -663,11 +630,22 @@ private BetaMemoryStoresClient buildBetaMemoryStoresClient() { } /** - * Builds an instance of BetaToolboxesClient class. + * Builds an instance of ToolboxesAsyncClient class. + * + * @return an instance of ToolboxesAsyncClient. + */ + @Generated + public ToolboxesAsyncClient buildToolboxesAsyncClient() { + return new ToolboxesAsyncClient(buildInnerClient().getToolboxes()); + } + + /** + * Builds an instance of ToolboxesClient class. * - * @return an instance of BetaToolboxesClient. + * @return an instance of ToolboxesClient. */ - private BetaToolboxesClient buildBetaToolboxesClient() { - return new BetaToolboxesClient(buildInnerClient(TOOLBOXES_PREVIEW_FEATURES).getBetaToolboxes()); + @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 951f0afbe8bf..9d45e16255b7 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,31 +4,11 @@ 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.implementation.utils.Beta; -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; @@ -70,3035 +50,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
NameTypeRequiredDescription
Operation-IdStringNoClient-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
NameTypeRequiredDescription
agent_versionStringNoThe 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
Operation-IdStringNoClient-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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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
NameTypeRequiredDescription
forceBooleanNoWhen 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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` @@ -3109,6 +585,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. @@ -3119,9 +597,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); @@ -3135,29 +613,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. @@ -3167,190 +649,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 1231e3f60178..7dc8c04b36de 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,31 +4,11 @@ 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.implementation.utils.Beta; -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; @@ -42,7 +22,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. @@ -65,2751 +44,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
NameTypeRequiredDescription
Operation-IdStringNoClient-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
NameTypeRequiredDescription
agent_versionStringNoThe version of the agent whose code zip should be - * downloaded. - * If omitted, the latest version's code zip is returned.
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
NameTypeRequiredDescription
Operation-IdStringNoClient-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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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
NameTypeRequiredDescription
forceBooleanNoWhen 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
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     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. @@ -2818,10 +549,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) @@ -2832,9 +562,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. @@ -2858,7 +588,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(); @@ -2881,13 +611,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. @@ -2898,18 +628,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. @@ -2930,36 +659,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. @@ -2978,237 +680,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 97% 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 2b48791699b6..7087a01348fd 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,10 +3,9 @@ // 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.implementation.utils.Beta; import com.azure.ai.agents.models.PageOrder; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; @@ -38,19 +37,18 @@ * Initializes a new instance of the asynchronous AgentsClient type. */ @ServiceClient(builder = AgentsClientBuilder.class, isAsync = true) -@Beta(warningText = "This class is in preview and may change in future releases.") -public final class 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; } @@ -69,7 +67,7 @@ public final class BetaToolboxesAsyncClient { * } * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -101,7 +99,7 @@ public final class BetaToolboxesAsyncClient { * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -254,7 +252,7 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -304,7 +302,7 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_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 97% 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 a37b9ad14b88..ad297c7721f5 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,10 +3,9 @@ // 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.implementation.utils.Beta; import com.azure.ai.agents.models.PageOrder; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; @@ -32,19 +31,18 @@ * Initializes a new instance of the synchronous AgentsClient type. */ @ServiceClient(builder = AgentsClientBuilder.class) -@Beta(warningText = "This class is in preview and may change in future releases.") -public final class 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; } @@ -63,7 +61,7 @@ public final class BetaToolboxesClient { * } * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -95,7 +93,7 @@ public final class BetaToolboxesClient { * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -246,7 +244,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -296,7 +294,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_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..788d75a0801a 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,334 @@ 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}:enable") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> enableAgent(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}:enable") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response enableAgentSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}:disable") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> disableAgent(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion, + RequestOptions requestOptions, Context context); + + @Post("/agents/{agent_name}:disable") + @ExpectedResponses({ 204 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Response disableAgentSync(@HostParam("endpoint") String endpoint, + @PathParam("agent_name") String agentName, @QueryParam("api-version") String apiVersion, + 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 }) @@ -375,6 +757,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -476,6 +859,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -574,6 +958,7 @@ public Response getAgentWithResponse(String agentName, RequestOption * {@code * { * name: String (Required) + * state: String(enabled/disabled) (Optional) * metadata (Optional): { * String: String (Required) * } @@ -634,6 +1019,7 @@ public Response getAgentWithResponse(String agentName, RequestOption * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -733,6 +1119,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create * {@code * { * name: String (Required) + * state: String(enabled/disabled) (Optional) * metadata (Optional): { * String: String (Required) * } @@ -793,6 +1180,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -881,32 +1269,125 @@ public Response createAgentWithResponse(BinaryData createAgentReques } /** - * Update an agent + * Create a new code-based 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

+ * 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
      * {
-     *     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)
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (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)
      *         }
      *     }
-     *     blueprint_reference (Optional): {
-     *         type: String(ManagedAgentIdentityBlueprint) (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. 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + 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.createAgentFromCode(this.client.getEndpoint(), contentType, agentName, + codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); + } + + /** + * 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

* *
@@ -915,6 +1396,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -986,23 +1468,25 @@ 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. * @throws ResourceNotFoundException thrown if the 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> updateAgentWithResponseAsync(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 FluxUtil.withContext(context -> service.updateAgent(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions, - context)); + return service.createAgentFromCodeSync(this.client.getEndpoint(), contentType, agentName, codeZipSha256, + this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); } /** @@ -1040,6 +1524,7 @@ public Mono> updateAgentWithResponseAsync(String agentName, * object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required) * id: String (Required) * name: String (Required) + * state: String(enabled/disabled) (Required) * versions (Required): { * latest (Required): { * metadata (Required): { @@ -1118,35 +1603,40 @@ public Mono> updateAgentWithResponseAsync(String agentName, * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 updateAgentWithResponse(String agentName, BinaryData updateAgentRequest, + public Mono> updateAgentWithResponseAsync(String agentName, BinaryData updateAgentRequest, RequestOptions requestOptions) { final String contentType = "application/json"; final String accept = "application/json"; - return service.updateAgentSync(this.client.getEndpoint(), agentName, + return FluxUtil.withContext(context -> service.updateAgent(this.client.getEndpoint(), agentName, this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions, - Context.NONE); + 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)
      *     }
      * }
      * }
@@ -1160,6 +1650,7 @@ public Response updateAgentWithResponse(String agentName, BinaryData
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1231,46 +1722,33 @@ 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. * @throws ResourceNotFoundException thrown if the 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> createAgentFromManifestWithResponseAsync( - BinaryData createAgentFromManifestRequest, RequestOptions requestOptions) { + public Response updateAgentWithResponse(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 service.updateAgentSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, updateAgentRequest, requestOptions, + Context.NONE); } /** - * Create an agent from a manifest - * - * 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)
-     *     }
-     *     description: String (Optional)
-     *     manifest_id: String (Required)
-     *     parameter_values (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     * }
-     * }
-     * 
+ * 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

* *
@@ -1279,6 +1757,7 @@ public Mono> createAgentFromManifestWithResponseAsync(
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1350,46 +1829,38 @@ public Mono> createAgentFromManifestWithResponseAsync(
      * }
      * 
* - * @param createAgentFromManifestRequest The createAgentFromManifestRequest 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}. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createAgentFromManifestWithResponse(BinaryData createAgentFromManifestRequest, - RequestOptions requestOptions) { - final String contentType = "application/json"; + public Mono> updateAgentFromCodeWithResponseAsync(String agentName, String codeZipSha256, + BinaryData content, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; final String accept = "application/json"; - return service.createAgentFromManifestSync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), contentType, accept, createAgentFromManifestRequest, - requestOptions, Context.NONE); + return FluxUtil + .withContext(context -> service.updateAgentFromCode(this.client.getEndpoint(), agentName, contentType, + codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); } /** - * 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)
-     *     }
-     * }
-     * }
-     * 
+ * 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

* *
@@ -1398,6 +1869,7 @@ public Response createAgentFromManifestWithResponse(BinaryData creat
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1469,35 +1941,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)
      *     }
@@ -1518,6 +1994,7 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1589,136 +2066,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
NameTypeRequiredDescription
forceBooleanNoFor 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
NameTypeRequiredDescription
forceBooleanNoFor 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
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

* *
@@ -1727,6 +2114,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1798,50 +2186,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
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

* *
@@ -1850,6 +2234,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -1921,44 +2306,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
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

* *
@@ -1967,6 +2355,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) {
      *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
      *     id: String (Required)
      *     name: String (Required)
+     *     state: String(enabled/disabled) (Required)
      *     versions (Required): {
      *         latest (Required): {
      *             metadata (Required): {
@@ -2038,46 +2427,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
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. - * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
forceBooleanNoFor 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,24 +2467,121 @@ 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) - * } + * 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
NameTypeRequiredDescription
forceBooleanNoFor 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
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. + * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (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): {
@@ -2164,93 +2642,375 @@ 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
-     * 
-     * Creates a new version for the specified agent and returns the created version resource.
-     * 

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)
-     *     }
-     * }
-     * }
-     * 
+ * List agents * + * Returns a paged collection of agent resources. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. + * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

* *
      * {@code
      * {
-     *     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)
+     *     state: String(enabled/disabled) (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)
      *         }
      *     }
-     *     status: String(creating/active/failed/deleting/deleted) (Optional)
-     *     instance_identity (Optional): {
-     *         principal_id: String (Required)
-     *         client_id: String (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): {
-     *         type: String(ManagedAgentIdentityBlueprint) (Required)
+     *     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)
+     *                 ]
+     *             }
+     *         ]
      *     }
-     *     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 createAgentVersionRequest The createAgentVersionRequest 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 data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentsAsync(RequestOptions requestOptions) { + return new PagedFlux<>(() -> listAgentsSinglePageAsync(requestOptions)); + } + + /** + * List agents + * + * Returns a paged collection of agent resources. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. + * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (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 requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items along with {@link PagedResponse}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createAgentVersionWithResponseAsync(String agentName, - BinaryData createAgentVersionRequest, RequestOptions requestOptions) { - final String contentType = "application/json"; + private PagedResponse listAgentsSinglePage(RequestOptions requestOptions) { final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createAgentVersion(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionRequest, - requestOptions, context)); + 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); + } + + /** + * List agents + * + * Returns a paged collection of agent resources. + *

Query Parameters

+ * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
kindStringNoFilter agents by kind. If not provided, all agents are returned. + * Allowed values: "prompt", "hosted", "workflow", "external".
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
+     *     id: String (Required)
+     *     name: String (Required)
+     *     state: String(enabled/disabled) (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 requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgents(RequestOptions requestOptions) { + return new PagedIterable<>(() -> listAgentsSinglePage(requestOptions)); } /** @@ -2323,385 +3083,2258 @@ public Mono> createAgentVersionWithResponseAsync(String age * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 Mono> createAgentVersionWithResponseAsync(String agentName, + BinaryData createAgentVersionRequest, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createAgentVersion(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionRequest, + requestOptions, context)); + } + + /** + * Create an agent version + * + * Creates a new version for the specified agent and returns the created version resource. + *

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)
+     *     }
+     * }
+     * }
+     * 
+ * + *

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 createAgentVersionRequest The createAgentVersionRequest parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createAgentVersionWithResponse(String agentName, BinaryData createAgentVersionRequest, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createAgentVersionSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionRequest, + requestOptions, Context.NONE); + } + + /** + * Create an agent version from manifest + * + * Imports the provided manifest to create a new version for the specified agent. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     description: String (Optional)
+     *     manifest_id: String (Required)
+     *     parameter_values (Required): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + *

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 createAgentVersionFromManifestRequest The createAgentVersionFromManifestRequest 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> createAgentVersionFromManifestWithResponseAsync(String agentName, + BinaryData createAgentVersionFromManifestRequest, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createAgentVersionFromManifest(this.client.getEndpoint(), + agentName, this.client.getServiceVersion().getVersion(), contentType, accept, + createAgentVersionFromManifestRequest, requestOptions, context)); + } + + /** + * Create an agent version from manifest + * + * Imports the provided manifest to create a new version for the specified agent. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     metadata (Optional): {
+     *         String: String (Required)
+     *     }
+     *     description: String (Optional)
+     *     manifest_id: String (Required)
+     *     parameter_values (Required): {
+     *         String: BinaryData (Required)
+     *     }
+     * }
+     * }
+     * 
+ * + *

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 createAgentVersionFromManifestRequest The createAgentVersionFromManifestRequest parameter. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response body along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createAgentVersionFromManifestWithResponse(String agentName, + BinaryData createAgentVersionFromManifestRequest, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createAgentVersionFromManifestSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionFromManifestRequest, + requestOptions, Context.NONE); + } + + /** + * Get an agent version + * + * Retrieves the specified version of an agent by its agent name and version identifier. + *

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 name of the agent to retrieve. + * @param agentVersion The version of the agent to retrieve. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return an agent version + * + * Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response} + * on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getAgentVersionDetailsWithResponseAsync(String agentName, String agentVersion, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getAgentVersionDetails(this.client.getEndpoint(), agentName, + agentVersion, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get an agent version + * + * Retrieves the specified version of an agent by its agent name and version identifier. + *

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 name of the agent to retrieve. + * @param agentVersion The version of the agent to retrieve. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return an agent version + * + * Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getAgentVersionDetailsWithResponse(String agentName, String agentVersion, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getAgentVersionDetailsSync(this.client.getEndpoint(), agentName, agentVersion, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Delete an agent version + * + * Deletes a specific version of an agent. For hosted agents, if the version has active + * sessions, the request is rejected with HTTP 409 unless `force` is set to true. When + * force is true, all sessions associated with this version are cascade-deleted. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
forceBooleanNoFor Hosted Agents, if `true`, force-deletes the version even if + * it has 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)
+     *     version: String (Required)
+     *     deleted: boolean (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent to delete. + * @param agentVersion The version 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 version Object along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> internalDeleteAgentVersionWithResponseAsync(String agentName, String agentVersion, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.internalDeleteAgentVersion(this.client.getEndpoint(), agentName, + agentVersion, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Delete an agent version + * + * Deletes a specific version of an agent. For hosted agents, if the version has active + * sessions, the request is rejected with HTTP 409 unless `force` is set to true. When + * force is true, all sessions associated with this version are cascade-deleted. + *

Query Parameters

+ * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
forceBooleanNoFor Hosted Agents, if `true`, force-deletes the version even if + * it has 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)
+     *     version: String (Required)
+     *     deleted: boolean (Required)
+     * }
+     * }
+     * 
+ * + * @param agentName The name of the agent to delete. + * @param agentVersion The version 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 version Object along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response internalDeleteAgentVersionWithResponse(String agentName, String agentVersion, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.internalDeleteAgentVersionSync(this.client.getEndpoint(), agentName, agentVersion, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * List agent versions + * + * Returns a paged collection of versions for the specified agent. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     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 name of the agent to retrieve versions for. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listAgentVersionsSinglePageAsync(String agentName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listAgentVersions(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * List agent versions + * + * Returns a paged collection of versions for the specified agent. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     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 name of the agent to retrieve versions for. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listAgentVersionsAsync(String agentName, RequestOptions requestOptions) { + return new PagedFlux<>(() -> listAgentVersionsSinglePageAsync(agentName, requestOptions)); + } + + /** + * List agent versions + * + * Returns a paged collection of versions for the specified agent. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     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 name of the agent to retrieve versions for. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listAgentVersionsSinglePage(String agentName, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = service.listAgentVersionsSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * List agent versions + * + * Returns a paged collection of versions for the specified agent. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     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 name of the agent to retrieve versions for. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listAgentVersions(String agentName, RequestOptions requestOptions) { + return new PagedIterable<>(() -> listAgentVersionsSinglePage(agentName, 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)
+     *     state: String(enabled/disabled) (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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> updateAgentDetailsWithResponseAsync(String agentName, + BinaryData patchAgentObjectRequest, RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.updateAgentDetails(this.client.getEndpoint(), agentName, + contentType, this.client.getServiceVersion().getVersion(), accept, patchAgentObjectRequest, requestOptions, + context)); + } + + /** + * 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)
+     *     state: String(enabled/disabled) (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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest, + RequestOptions requestOptions) { + final String contentType = "application/merge-patch+json"; + final String accept = "application/json"; + return service.updateAgentDetailsSync(this.client.getEndpoint(), agentName, contentType, + this.client.getServiceVersion().getVersion(), accept, patchAgentObjectRequest, requestOptions, + Context.NONE); + } + + /** + * 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createAgentVersionFromCodeWithResponseAsync(String agentName, + String codeZipSha256, BinaryData content, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return FluxUtil.withContext( + context -> service.createAgentVersionFromCode(this.client.getEndpoint(), agentName, contentType, + codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); + } + + /** + * 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256, + BinaryData content, RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; + final String accept = "application/json"; + return service.createAgentVersionFromCodeSync(this.client.getEndpoint(), agentName, contentType, codeZipSha256, + this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); + } + + /** + * 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
NameTypeRequiredDescription
agent_versionStringNoThe 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> downloadAgentCodeWithResponseAsync(String agentName, + RequestOptions requestOptions) { + final String accept = "application/zip"; + return FluxUtil.withContext(context -> service.downloadAgentCode(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * 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
NameTypeRequiredDescription
agent_versionStringNoThe 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) { + final String accept = "application/zip"; + return service.downloadAgentCodeSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> enableAgentWithResponseAsync(String agentName, RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.enableAgent(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * Enable an agent + * + * Enables the specified agent, allowing it to accept new sessions and process requests. + * This operation is idempotent — enabling an already-enabled agent returns success with no side effects. + * + * @param agentName The name of the agent to enable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response enableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return service.enableAgentSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> disableAgentWithResponseAsync(String agentName, RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.disableAgent(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * Disable an agent + * + * Disables the specified agent, preventing it from accepting new sessions or processing requests. + * Existing active sessions are allowed to drain gracefully but no new sessions can be created. + * This operation is idempotent — disabling an already-disabled agent returns success with no side effects. + * + * @param agentName The name of the agent to disable. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return the {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response disableAgentWithResponse(String agentName, RequestOptions requestOptions) { + return service.disableAgentSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + + /** + * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> createSessionWithResponseAsync(String agentName, BinaryData createSessionRequest, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createSession(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, createSessionRequest, requestOptions, + context)); + } + + /** + * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response createSessionWithResponse(String agentName, BinaryData createSessionRequest, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.createSessionSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), contentType, accept, createSessionRequest, requestOptions, + Context.NONE); + } + + /** + * Get a session + * + * Retrieves the details of a hosted agent session by agent name and session identifier. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSessionWithResponseAsync(String agentName, String sessionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSession(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a session + * + * Retrieves the details of a hosted agent session by agent name and session identifier. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSessionWithResponse(String agentName, String sessionId, + RequestOptions requestOptions) { + final String accept = "application/json"; + return service.getSessionSync(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Delete a session + * + * Deletes a session synchronously. + * Returns 204 No Content when the session is deleted or does not exist. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteSessionWithResponseAsync(String agentName, String sessionId, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.deleteSession(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * Delete a session + * + * Deletes a session synchronously. + * Returns 204 No Content when the session is deleted or does not exist. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { + return service.deleteSessionSync(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + + /** + * 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> stopSessionWithResponseAsync(String agentName, String sessionId, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.stopSession(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { + return service.stopSessionSync(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + + /** + * List sessions for an agent + * + * Returns a paged collection of sessions associated with the specified agent endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 along with {@link PagedResponse} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listSessionsSinglePageAsync(String agentName, + RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listSessions(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * List sessions for an agent + * + * Returns a paged collection of sessions associated with the specified agent endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listSessionsAsync(String agentName, RequestOptions requestOptions) { + return new PagedFlux<>(() -> listSessionsSinglePageAsync(agentName, requestOptions)); + } + + /** + * List sessions for an agent + * + * Returns a paged collection of sessions associated with the specified agent endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 along with {@link PagedResponse}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listSessionsSinglePage(String agentName, RequestOptions requestOptions) { + final String accept = "application/json"; + Response res = service.listSessionsSync(this.client.getEndpoint(), agentName, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * List sessions for an agent + * + * Returns a paged collection of sessions associated with the specified agent endpoint. + *

Query Parameters

+ * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createAgentVersionWithResponse(String agentName, BinaryData createAgentVersionRequest, - RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return service.createAgentVersionSync(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionRequest, - requestOptions, Context.NONE); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listSessions(String agentName, RequestOptions requestOptions) { + return new PagedIterable<>(() -> listSessionsSinglePage(agentName, requestOptions)); } /** - * Create an agent version from manifest + * Stream console logs for a hosted agent session * - * Imports the provided manifest to create a new version for the specified agent. - *

Request Body Schema

+ * Streams console logs (stdout / stderr) for a specific hosted agent session + * as a Server-Sent Events (SSE) stream. * - *
-     * {@code
-     * {
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
-     *     description: String (Optional)
-     *     manifest_id: String (Required)
-     *     parameter_values (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     * }
-     * }
-     * 
+ * 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
      * {
-     *     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)
+     *     event: String(log) (Required)
+     *     data: String (Required)
      * }
      * }
      * 
* - * @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 createAgentVersionFromManifestRequest The createAgentVersionFromManifestRequest parameter. + * @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 the response body along with {@link Response} on successful completion of {@link Mono}. + * @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}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createAgentVersionFromManifestWithResponseAsync(String agentName, - BinaryData createAgentVersionFromManifestRequest, RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createAgentVersionFromManifest(this.client.getEndpoint(), - agentName, this.client.getServiceVersion().getVersion(), contentType, accept, - createAgentVersionFromManifestRequest, requestOptions, context)); + public Mono> getSessionLogStreamWithResponseAsync(String agentName, String agentVersion, + String sessionId, RequestOptions requestOptions) { + final String accept = "text/event-stream"; + return FluxUtil.withContext(context -> service.getSessionLogStream(this.client.getEndpoint(), agentName, + agentVersion, sessionId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * Create an agent version from manifest + * Stream console logs for a hosted agent session * - * Imports the provided manifest to create a new version for the specified agent. - *

Request Body Schema

+ * Streams console logs (stdout / stderr) for a specific hosted agent session + * as a Server-Sent Events (SSE) stream. * - *
-     * {@code
-     * {
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
-     *     description: String (Optional)
-     *     manifest_id: String (Required)
-     *     parameter_values (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     * }
-     * }
-     * 
+ * 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
      * {
-     *     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)
+     *     event: String(log) (Required)
+     *     data: String (Required)
      * }
      * }
      * 
* - * @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 createAgentVersionFromManifestRequest The createAgentVersionFromManifestRequest parameter. + * @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 the response body along with {@link Response}. + * @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}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createAgentVersionFromManifestWithResponse(String agentName, - BinaryData createAgentVersionFromManifestRequest, RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return service.createAgentVersionFromManifestSync(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, createAgentVersionFromManifestRequest, - requestOptions, Context.NONE); + public Response getSessionLogStreamWithResponse(String agentName, String agentVersion, String sessionId, + RequestOptions requestOptions) { + final String accept = "text/event-stream"; + return service.getSessionLogStreamSync(this.client.getEndpoint(), agentName, agentVersion, sessionId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * Get an agent version + * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
+     * }
+     * 
* - * Retrieves the specified version of an agent by its agent name and version identifier. *

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)
+     *     path: String (Required)
+     *     bytes_written: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve. - * @param agentVersion The version of the agent to retrieve. + * @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 an agent version - * - * Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response} - * on successful completion of {@link Mono}. + * @return response from uploading a file to a session sandbox along with {@link Response} on successful completion + * of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getAgentVersionDetailsWithResponseAsync(String agentName, String agentVersion, - RequestOptions requestOptions) { + public Mono> uploadSessionFileWithResponseAsync(String agentName, String agentSessionId, + String path, BinaryData content, RequestOptions requestOptions) { + final String contentType = "application/octet-stream"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getAgentVersionDetails(this.client.getEndpoint(), agentName, - agentVersion, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + return FluxUtil.withContext( + context -> service.uploadSessionFile(this.client.getEndpoint(), agentName, agentSessionId, path, + contentType, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); } /** - * Get an agent version + * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
+     * }
+     * 
* - * Retrieves the specified version of an agent by its agent name and version identifier. *

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)
+     *     path: String (Required)
+     *     bytes_written: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve. - * @param agentVersion The version of the agent to retrieve. + * @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 an agent version - * - * Retrieves the specified version of an agent by its agent name and version identifier along with {@link Response}. + * @return response from uploading a file to a session sandbox along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getAgentVersionDetailsWithResponse(String agentName, String agentVersion, - RequestOptions requestOptions) { + public Response uploadSessionFileWithResponse(String agentName, String agentSessionId, String path, + BinaryData content, RequestOptions requestOptions) { + final String contentType = "application/octet-stream"; final String accept = "application/json"; - return service.getAgentVersionDetailsSync(this.client.getEndpoint(), agentName, agentVersion, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return service.uploadSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, contentType, + this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); } /** - * Delete an agent version + * Download a session file * - * Deletes a specific version of an agent. For hosted agents, if the version has active - * sessions, the request is rejected with HTTP 409 unless `force` is set to true. When - * force is true, all sessions associated with this version are cascade-deleted. - *

Query Parameters

+ * Downloads the file at the specified sandbox path as a binary stream. + * The path is resolved relative to the session home directory. + *

Header Parameters

* - * + * * - * + * *
Query ParametersHeader Parameters
NameTypeRequiredDescription
forceBooleanNoFor Hosted Agents, if `true`, force-deletes the version even if - * it has 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.
x-ms-user-isolation-keyStringNoOpaque 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#addQueryParam} + * You can add these to a request with {@link RequestOptions#addHeader} *

Response Body Schema

* *
      * {@code
-     * {
-     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
-     *     name: String (Required)
-     *     version: String (Required)
-     *     deleted: boolean (Required)
-     * }
+     * BinaryData
      * }
      * 
* - * @param agentName The name of the agent to delete. - * @param agentVersion The version of the agent to delete. + * @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 a deleted agent version Object along with {@link Response} on successful completion of {@link Mono}. + * @return the response body along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> internalDeleteAgentVersionWithResponseAsync(String agentName, String agentVersion, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.internalDeleteAgentVersion(this.client.getEndpoint(), agentName, - agentVersion, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + public Mono> downloadSessionFileWithResponseAsync(String agentName, String agentSessionId, + String path, RequestOptions requestOptions) { + final String accept = "application/octet-stream"; + return FluxUtil.withContext(context -> service.downloadSessionFile(this.client.getEndpoint(), agentName, + agentSessionId, path, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * Delete an agent version + * Download a session file * - * Deletes a specific version of an agent. For hosted agents, if the version has active - * sessions, the request is rejected with HTTP 409 unless `force` is set to true. When - * force is true, all sessions associated with this version are cascade-deleted. - *

Query Parameters

+ * Downloads the file at the specified sandbox path as a binary stream. + * The path is resolved relative to the session home directory. + *

Header Parameters

* - * + * * - * + * *
Query ParametersHeader Parameters
NameTypeRequiredDescription
forceBooleanNoFor Hosted Agents, if `true`, force-deletes the version even if - * it has 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.
x-ms-user-isolation-keyStringNoOpaque 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#addQueryParam} + * You can add these to a request with {@link RequestOptions#addHeader} *

Response Body Schema

* *
      * {@code
-     * {
-     *     object: String(agent/agent.version/agent.deleted/agent.version.deleted/agent.container) (Required)
-     *     name: String (Required)
-     *     version: String (Required)
-     *     deleted: boolean (Required)
-     * }
+     * BinaryData
      * }
      * 
* - * @param agentName The name of the agent to delete. - * @param agentVersion The version of the agent to delete. + * @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 a deleted agent version Object along with {@link Response}. + * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response internalDeleteAgentVersionWithResponse(String agentName, String agentVersion, + public Response downloadSessionFileWithResponse(String agentName, String agentSessionId, String path, RequestOptions requestOptions) { - final String accept = "application/json"; - return service.internalDeleteAgentVersionSync(this.client.getEndpoint(), agentName, agentVersion, + final String accept = "application/octet-stream"; + return service.downloadSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * List agent versions + * List session files * - * Returns a paged collection of versions for the specified agent. + * 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

* * * + * * @@ -2718,68 +5351,59 @@ public Response internalDeleteAgentVersionWithResponse(String agentN * subsequent call can include before=obj_foo in order to fetch the previous page of the list. *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20.
* You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
      * {
-     *     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)
+     *     size: long (Required)
+     *     is_directory: boolean (Required)
+     *     modified_time: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve versions for. + * @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 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 PagedResponse} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listAgentVersionsSinglePageAsync(String agentName, + private Mono> listSessionFilesSinglePageAsync(String agentName, String agentSessionId, RequestOptions requestOptions) { final String accept = "application/json"; return FluxUtil - .withContext(context -> service.listAgentVersions(this.client.getEndpoint(), agentName, + .withContext(context -> service.listSessionFiles(this.client.getEndpoint(), agentName, agentSessionId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "data"), null, null)); + getValues(res.getValue(), "entries"), null, null)); } /** - * List agent versions + * List session files * - * Returns a paged collection of versions for the specified agent. + * 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

* * * + * * @@ -2796,61 +5420,54 @@ private Mono> listAgentVersionsSinglePageAsync(String * subsequent call can include before=obj_foo in order to fetch the previous page of the list. *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20.
* You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
      * {
-     *     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)
+     *     size: long (Required)
+     *     is_directory: boolean (Required)
+     *     modified_time: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve versions for. + * @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 response data for a requested list of items as paginated response with {@link PagedFlux}. + * @return the paginated response with {@link PagedFlux}. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listAgentVersionsAsync(String agentName, RequestOptions requestOptions) { - return new PagedFlux<>(() -> listAgentVersionsSinglePageAsync(agentName, requestOptions)); + public PagedFlux listSessionFilesAsync(String agentName, String agentSessionId, + RequestOptions requestOptions) { + return new PagedFlux<>(() -> listSessionFilesSinglePageAsync(agentName, agentSessionId, requestOptions)); } /** - * List agent versions + * List session files * - * Returns a paged collection of versions for the specified agent. + * 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

* * * + * * @@ -2867,65 +5484,58 @@ public PagedFlux listAgentVersionsAsync(String agentName, RequestOpt * subsequent call can include before=obj_foo in order to fetch the previous page of the list. *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20.
* You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
      * {
-     *     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)
+     *     size: long (Required)
+     *     is_directory: boolean (Required)
+     *     modified_time: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve versions for. + * @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 response data for a requested list of items along with {@link PagedResponse}. + * @return the response body along with {@link PagedResponse}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listAgentVersionsSinglePage(String agentName, RequestOptions requestOptions) { + private PagedResponse listSessionFilesSinglePage(String agentName, String agentSessionId, + RequestOptions requestOptions) { final String accept = "application/json"; - Response res = service.listAgentVersionsSync(this.client.getEndpoint(), agentName, + Response res = service.listSessionFilesSync(this.client.getEndpoint(), agentName, agentSessionId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "data"), null, null); + getValues(res.getValue(), "entries"), null, null); } /** - * List agent versions + * List session files * - * Returns a paged collection of versions for the specified agent. + * 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

* * * + * * @@ -2942,51 +5552,118 @@ private PagedResponse listAgentVersionsSinglePage(String agentName, * subsequent call can include before=obj_foo in order to fetch the previous page of the list. *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home + * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range * between 1 and 100, and the * default is 20.
* You can add these to a request with {@link RequestOptions#addQueryParam} + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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
      * {
-     *     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)
+     *     size: long (Required)
+     *     is_directory: boolean (Required)
+     *     modified_time: long (Required)
      * }
      * }
      * 
* - * @param agentName The name of the agent to retrieve versions for. + * @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 response data for a requested list of items as paginated response with {@link PagedIterable}. + * @return the paginated response with {@link PagedIterable}. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listAgentVersions(String agentName, RequestOptions requestOptions) { - return new PagedIterable<>(() -> listAgentVersionsSinglePage(agentName, requestOptions)); + public PagedIterable listSessionFiles(String agentName, String agentSessionId, + RequestOptions requestOptions) { + return new PagedIterable<>(() -> listSessionFilesSinglePage(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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteSessionFileWithResponseAsync(String agentName, String agentSessionId, String path, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.deleteSessionFile(this.client.getEndpoint(), agentName, + agentSessionId, path, this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteSessionFileWithResponse(String agentName, String agentSessionId, String path, + RequestOptions requestOptions) { + return service.deleteSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); } /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java index 306cbda709e0..4a9bb81cd701 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java @@ -12,10 +12,8 @@ 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; @@ -81,346 +79,6 @@ public AgentsServiceVersion getServiceVersion() { @Host("{endpoint}") @ServiceInterface(name = "AgentsClientBetaAgents") public interface BetaAgentsService { - // @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); - - // @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); - - @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); - @Post("/agent_optimization_jobs") @ExpectedResponses({ 201 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @@ -429,7 +87,7 @@ Response deleteSessionFileSync(@HostParam("endpoint") String endpoint, @UnexpectedResponseExceptionType(HttpResponseException.class) Mono> createOptimizationJob(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, - @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData inputs, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData job, RequestOptions requestOptions, Context context); @Post("/agent_optimization_jobs") @@ -440,11 +98,11 @@ Mono> createOptimizationJob(@HostParam("endpoint") String e @UnexpectedResponseExceptionType(HttpResponseException.class) Response createOptimizationJobSync(@HostParam("endpoint") String endpoint, @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, - @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData inputs, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData job, RequestOptions requestOptions, Context context); @Get("/agent_optimization_jobs/{jobId}") - @ExpectedResponses({ 200, 202 }) + @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @@ -454,7 +112,7 @@ Mono> getOptimizationJob(@HostParam("endpoint") String endp @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); @Get("/agent_optimization_jobs/{jobId}") - @ExpectedResponses({ 200, 202 }) + @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @@ -522,3284 +180,43 @@ Mono> deleteOptimizationJob(@HostParam("endpoint") String endpoin Response deleteOptimizationJobSync(@HostParam("endpoint") String endpoint, @PathParam("jobId") String jobId, @QueryParam("api-version") String apiVersion, RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> listOptimizationCandidates(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Response listOptimizationCandidatesSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> getOptimizationCandidate(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Response getOptimizationCandidateSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/config") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> getOptimizationCandidateConfig(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/config") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Response getOptimizationCandidateConfigSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/results") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> getOptimizationCandidateResults(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/results") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Response getOptimizationCandidateResultsSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/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> getOptimizationCandidateFile(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("path") String path, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - - @Get("/agent_optimization_jobs/{jobId}/candidates/{candidateId}/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 getOptimizationCandidateFileSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("path") String path, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - - @Post("/agent_optimization_jobs/{jobId}/candidates/{candidateId}:promote") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> promoteOptimizationCandidate(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, - @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData candidateRequest, - RequestOptions requestOptions, Context context); - - @Post("/agent_optimization_jobs/{jobId}/candidates/{candidateId}:promote") - @ExpectedResponses({ 200 }) - @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) - @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) - @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) - @UnexpectedResponseExceptionType(HttpResponseException.class) - Response promoteOptimizationCandidateSync(@HostParam("endpoint") String endpoint, - @PathParam("jobId") String jobId, @PathParam("candidateId") String candidateId, - @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, - @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData candidateRequest, - RequestOptions requestOptions, Context context); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - 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.createAgentFromCode(this.client.getEndpoint(), contentType, agentName, - codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createAgentFromCodeWithResponse(String agentName, String codeZipSha256, - BinaryData content, RequestOptions requestOptions) { - final String contentType = "multipart/form-data"; - final String accept = "application/json"; - return service.createAgentFromCodeSync(this.client.getEndpoint(), contentType, agentName, codeZipSha256, - this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); - } - - /** - * 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}. - */ - @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

- * - *
-     * {@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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateAgentFromCodeWithResponse(String agentName, String codeZipSha256, - BinaryData content, RequestOptions requestOptions) { - final String contentType = "multipart/form-data"; - final String accept = "application/json"; - return service.updateAgentFromCodeSync(this.client.getEndpoint(), agentName, contentType, codeZipSha256, - this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateAgentDetailsWithResponseAsync(String agentName, - BinaryData patchAgentObjectRequest, RequestOptions requestOptions) { - final String contentType = "application/merge-patch+json"; - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.updateAgentDetails(this.client.getEndpoint(), agentName, - contentType, this.client.getServiceVersion().getVersion(), accept, patchAgentObjectRequest, requestOptions, - context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateAgentDetailsWithResponse(String agentName, BinaryData patchAgentObjectRequest, - RequestOptions requestOptions) { - final String contentType = "application/merge-patch+json"; - final String accept = "application/json"; - return service.updateAgentDetailsSync(this.client.getEndpoint(), agentName, contentType, - this.client.getServiceVersion().getVersion(), accept, patchAgentObjectRequest, requestOptions, - Context.NONE); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createAgentVersionFromCodeWithResponseAsync(String agentName, - String codeZipSha256, BinaryData content, RequestOptions requestOptions) { - final String contentType = "multipart/form-data"; - final String accept = "application/json"; - return FluxUtil.withContext( - context -> service.createAgentVersionFromCode(this.client.getEndpoint(), agentName, contentType, - codeZipSha256, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createAgentVersionFromCodeWithResponse(String agentName, String codeZipSha256, - BinaryData content, RequestOptions requestOptions) { - final String contentType = "multipart/form-data"; - final String accept = "application/json"; - return service.createAgentVersionFromCodeSync(this.client.getEndpoint(), agentName, contentType, codeZipSha256, - this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
agent_versionStringNoThe 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> downloadAgentCodeWithResponseAsync(String agentName, - RequestOptions requestOptions) { - final String accept = "application/zip"; - return FluxUtil.withContext(context -> service.downloadAgentCode(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
agent_versionStringNoThe 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response downloadAgentCodeWithResponse(String agentName, RequestOptions requestOptions) { - final String accept = "application/zip"; - return service.downloadAgentCodeSync(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createSessionWithResponseAsync(String agentName, BinaryData createSessionRequest, - RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createSession(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, createSessionRequest, requestOptions, - context)); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createSessionWithResponse(String agentName, BinaryData createSessionRequest, - RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return service.createSessionSync(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), contentType, accept, createSessionRequest, requestOptions, - Context.NONE); - } - - /** - * Get a session - * - * Retrieves the details of a hosted agent session by agent name and session identifier. - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSessionWithResponseAsync(String agentName, String sessionId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getSession(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * Get a session - * - * Retrieves the details of a hosted agent session by agent name and session identifier. - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSessionWithResponse(String agentName, String sessionId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return service.getSessionSync(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * Delete a session - * - * Deletes a session synchronously. - * Returns 204 No Content when the session is deleted or does not exist. - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteSessionWithResponseAsync(String agentName, String sessionId, - RequestOptions requestOptions) { - return FluxUtil.withContext(context -> service.deleteSession(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), requestOptions, context)); - } - - /** - * Delete a session - * - * Deletes a session synchronously. - * Returns 204 No Content when the session is deleted or does not exist. - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { - return service.deleteSessionSync(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> stopSessionWithResponseAsync(String agentName, String sessionId, - RequestOptions requestOptions) { - return FluxUtil.withContext(context -> service.stopSession(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { - return service.stopSessionSync(this.client.getEndpoint(), agentName, sessionId, - this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); - } - - /** - * List sessions for an agent - * - * Returns a paged collection of sessions associated with the specified agent endpoint. - *

Query Parameters

- * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 along with {@link PagedResponse} on successful completion - * of {@link Mono}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listSessionsSinglePageAsync(String agentName, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil - .withContext(context -> service.listSessions(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) - .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "data"), null, null)); - } - - /** - * List sessions for an agent - * - * Returns a paged collection of sessions associated with the specified agent endpoint. - *

Query Parameters

- * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSessionsAsync(String agentName, RequestOptions requestOptions) { - return new PagedFlux<>(() -> listSessionsSinglePageAsync(agentName, requestOptions)); - } - - /** - * List sessions for an agent - * - * Returns a paged collection of sessions associated with the specified agent endpoint. - *

Query Parameters

- * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 along with {@link PagedResponse}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listSessionsSinglePage(String agentName, RequestOptions requestOptions) { - final String accept = "application/json"; - Response res = service.listSessionsSync(this.client.getEndpoint(), agentName, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "data"), null, null); - } - - /** - * List sessions for an agent - * - * Returns a paged collection of sessions associated with the specified agent endpoint. - *

Query Parameters

- * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSessions(String agentName, RequestOptions requestOptions) { - return new PagedIterable<>(() -> listSessionsSinglePage(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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSessionLogStreamWithResponseAsync(String agentName, String agentVersion, - String sessionId, RequestOptions requestOptions) { - final String accept = "text/event-stream"; - return FluxUtil.withContext(context -> service.getSessionLogStream(this.client.getEndpoint(), agentName, - agentVersion, sessionId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSessionLogStreamWithResponse(String agentName, String agentVersion, String sessionId, - RequestOptions requestOptions) { - final String accept = "text/event-stream"; - return service.getSessionLogStreamSync(this.client.getEndpoint(), agentName, agentVersion, sessionId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> uploadSessionFileWithResponseAsync(String agentName, String agentSessionId, - String path, BinaryData content, RequestOptions requestOptions) { - final String contentType = "application/octet-stream"; - final String accept = "application/json"; - return FluxUtil.withContext( - context -> service.uploadSessionFile(this.client.getEndpoint(), agentName, agentSessionId, path, - contentType, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response uploadSessionFileWithResponse(String agentName, String agentSessionId, String path, - BinaryData content, RequestOptions requestOptions) { - final String contentType = "application/octet-stream"; - final String accept = "application/json"; - return service.uploadSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, contentType, - this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> downloadSessionFileWithResponseAsync(String agentName, String agentSessionId, - String path, RequestOptions requestOptions) { - final String accept = "application/octet-stream"; - return FluxUtil.withContext(context -> service.downloadSessionFile(this.client.getEndpoint(), agentName, - agentSessionId, path, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response downloadSessionFileWithResponse(String agentName, String agentSessionId, String path, - RequestOptions requestOptions) { - final String accept = "application/octet-stream"; - return service.downloadSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 response body along with {@link PagedResponse} on successful completion of {@link Mono}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listSessionFilesSinglePageAsync(String agentName, String agentSessionId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil - .withContext(context -> service.listSessionFiles(this.client.getEndpoint(), agentName, agentSessionId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) - .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "entries"), null, 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. - *

Query Parameters

- * - * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSessionFilesAsync(String agentName, String agentSessionId, - RequestOptions requestOptions) { - return new PagedFlux<>(() -> listSessionFilesSinglePageAsync(agentName, agentSessionId, 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
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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 response body along with {@link PagedResponse}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listSessionFilesSinglePage(String agentName, String agentSessionId, - RequestOptions requestOptions) { - final String accept = "application/json"; - Response res = service.listSessionFilesSync(this.client.getEndpoint(), agentName, agentSessionId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "entries"), null, 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. - *

Query Parameters

- * - * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
pathStringNoThe directory path to list, relative to the session home - * directory. Defaults to the home directory if not provided.
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Header Parameters

- * - * - * - * - *
Header Parameters
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSessionFiles(String agentName, String agentSessionId, - RequestOptions requestOptions) { - return new PagedIterable<>(() -> listSessionFilesSinglePage(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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteSessionFileWithResponseAsync(String agentName, String agentSessionId, String path, - RequestOptions requestOptions) { - return FluxUtil.withContext(context -> service.deleteSessionFile(this.client.getEndpoint(), agentName, - agentSessionId, path, this.client.getServiceVersion().getVersion(), requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
recursiveBooleanNoWhether 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
NameTypeRequiredDescription
x-ms-user-isolation-keyStringNoOpaque 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteSessionFileWithResponse(String agentName, String agentSessionId, String path, - RequestOptions requestOptions) { - return service.deleteSessionFileSync(this.client.getEndpoint(), agentName, agentSessionId, path, - this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
Operation-IdStringNoClient-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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOptimizationJobWithResponseAsync(BinaryData inputs, - RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createOptimizationJob(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), contentType, accept, inputs, requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
Operation-IdStringNoClient-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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOptimizationJobWithResponse(BinaryData inputs, RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return service.createOptimizationJobSync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), contentType, accept, inputs, requestOptions, Context.NONE); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getOptimizationJobWithResponseAsync(String jobId, RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getOptimizationJob(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { - final String accept = "application/json"; - return service.getOptimizationJobSync(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * List agent optimization jobs - * - * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters. - *

Query Parameters

- * - * - * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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 along with {@link PagedResponse} on successful completion - * of {@link Mono}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listOptimizationJobsSinglePageAsync(RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil - .withContext(context -> service.listOptimizationJobs(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)); - } + } /** - * List agent optimization jobs + * Creates an agent optimization job. * - * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters. - *

Query Parameters

+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry. + *

Header Parameters

* - * + * * - * - * - * - * - * - * + * *
Query ParametersHeader Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
Operation-IdStringNoClient-generated unique ID for idempotent retries. When + * absent, the server creates the job unconditionally.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Response Body Schema

+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request 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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agent_name: String (Required)
+     *             agent_version: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         train_dataset (Required): {
+     *             type: String(inline/reference) (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)
+     *         validation_dataset (Optional): (recursive schema, see validation_dataset above)
+     *         evaluators (Required): [
+     *              (Required){
+     *                 name: String (Required)
+     *                 version: String (Optional)
      *             }
-     *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
      *         ]
      *         options (Optional): {
-     *             max_iterations: Integer (Optional)
+     *             max_candidates: Integer (Optional)
      *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
@@ -3807,164 +224,82 @@ private Mono> listOptimizationJobsSinglePageAsync(Requ
      *             optimization_model: String (Optional)
      *             evaluation_level: String(turn/conversation) (Optional)
      *         }
-     *         warnings (Optional): [
-     *             String (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)
+     *                 }
+     *             }
      *         ]
-     *         all_target_attributes_failed: Boolean (Optional)
      *     }
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: 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)
      *         }
-     *         train_dataset_reference (Required): {
-     *             name: String (Required)
-     *             version: String (Optional)
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         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)
+     *     updated_at: long (Required)
      *     progress (Optional): {
-     *         current_iteration: int (Required)
+     *         candidates_completed: 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)
-     *     }
+     *     warnings (Optional): [
+     *         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. - * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listOptimizationJobsAsync(RequestOptions requestOptions) { - return new PagedFlux<>(() -> listOptimizationJobsSinglePageAsync(requestOptions)); - } - - /** - * List agent optimization jobs - * - * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters. - *

Query Parameters

- * - * - * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter 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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agent_name: String (Required)
+     *             agent_version: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         train_dataset (Required): {
+     *             type: String(inline/reference) (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)
+     *         validation_dataset (Optional): (recursive schema, see validation_dataset above)
+     *         evaluators (Required): [
+     *              (Required){
+     *                 name: String (Required)
+     *                 version: String (Optional)
      *             }
-     *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
      *         ]
      *         options (Optional): {
-     *             max_iterations: Integer (Optional)
+     *             max_candidates: Integer (Optional)
      *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
@@ -3972,168 +307,113 @@ public PagedFlux listOptimizationJobsAsync(RequestOptions requestOpt
      *             optimization_model: String (Optional)
      *             evaluation_level: String(turn/conversation) (Optional)
      *         }
-     *         warnings (Optional): [
-     *             String (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)
+     *                 }
+     *             }
      *         ]
-     *         all_target_attributes_failed: Boolean (Optional)
      *     }
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: 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)
      *         }
-     *         train_dataset_reference (Required): {
-     *             name: String (Required)
-     *             version: String (Optional)
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         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)
+     *     updated_at: long (Required)
      *     progress (Optional): {
-     *         current_iteration: int (Required)
+     *         candidates_completed: 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)
-     *     }
+     *     warnings (Optional): [
+     *         String (Optional)
+     *     ]
      * }
      * }
      * 
* + * @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 data for a requested list of items along with {@link PagedResponse}. + * @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}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listOptimizationJobsSinglePage(RequestOptions requestOptions) { + public Mono> createOptimizationJobWithResponseAsync(BinaryData job, + RequestOptions requestOptions) { + final String contentType = "application/json"; final String accept = "application/json"; - Response res = service.listOptimizationJobsSync(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 FluxUtil.withContext(context -> service.createOptimizationJob(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), contentType, accept, job, requestOptions, context)); } /** - * List agent optimization jobs + * Creates an agent optimization job. * - * Returns agent optimization jobs with cursor pagination and optional lifecycle or agent filters. - *

Query Parameters

+ * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry. + *

Header Parameters

* - * + * * - * - * - * - * - * - * + * *
Query ParametersHeader Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: - * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
Operation-IdStringNoClient-generated unique ID for idempotent retries. When + * absent, the server creates the job unconditionally.
- * You can add these to a request with {@link RequestOptions#addQueryParam} - *

Response Body Schema

+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request 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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agent_name: String (Required)
+     *             agent_version: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         train_dataset (Required): {
+     *             type: String(inline/reference) (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)
+     *         validation_dataset (Optional): (recursive schema, see validation_dataset above)
+     *         evaluators (Required): [
+     *              (Required){
+     *                 name: String (Required)
+     *                 version: String (Optional)
      *             }
-     *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
      *         ]
      *         options (Optional): {
-     *             max_iterations: Integer (Optional)
+     *             max_candidates: Integer (Optional)
      *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
@@ -4141,66 +421,29 @@ private PagedResponse listOptimizationJobsSinglePage(RequestOptions
      *             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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listOptimizationJobs(RequestOptions requestOptions) { - return new PagedIterable<>(() -> listOptimizationJobsSinglePage(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)
+     *     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)
@@ -4217,66 +460,43 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti
      *             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)
-     *             }
+     *     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)
+     *     ]
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agent_name: String (Required)
+     *             agent_version: String (Optional)
      *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
+     *         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_iterations: Integer (Optional)
+     *             max_candidates: Integer (Optional)
      *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
@@ -4284,148 +504,103 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti
      *             optimization_model: String (Optional)
      *             evaluation_level: String(turn/conversation) (Optional)
      *         }
-     *         warnings (Optional): [
-     *             String (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)
+     *                 }
+     *             }
      *         ]
-     *         all_target_attributes_failed: Boolean (Optional)
      *     }
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: 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)
      *         }
-     *         train_dataset_reference (Required): {
-     *             name: String (Required)
-     *             version: String (Optional)
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         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)
+     *     updated_at: long (Required)
      *     progress (Optional): {
-     *         current_iteration: int (Required)
+     *         candidates_completed: 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)
-     *     }
+     *     warnings (Optional): [
+     *         String (Optional)
+     *     ]
      * }
      * }
      * 
* - * @param jobId The ID of the job to cancel. + * @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 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}. + * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> cancelOptimizationJobWithResponseAsync(String jobId, - RequestOptions requestOptions) { + public Response createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) { + final String contentType = "application/json"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.cancelOptimizationJob(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + return service.createOptimizationJobSync(this.client.getEndpoint(), + this.client.getServiceVersion().getVersion(), contentType, accept, job, requestOptions, Context.NONE); } /** - * Cancel an agent optimization job + * Get info about an agent optimization job. * - * Requests cancellation of the specified agent optimization job. - * The operation remains idempotent after the job reaches a terminal state. + * Get an optimization job by id. *

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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agent_name: String (Required)
+     *             agent_version: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         train_dataset (Required): {
+     *             type: String(inline/reference) (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)
+     *         validation_dataset (Optional): (recursive schema, see validation_dataset above)
+     *         evaluators (Required): [
+     *              (Required){
+     *                 name: String (Required)
+     *                 version: String (Optional)
      *             }
-     *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
      *         ]
      *         options (Optional): {
-     *             max_iterations: Integer (Optional)
+     *             max_candidates: Integer (Optional)
      *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
@@ -4433,223 +608,184 @@ public Mono> cancelOptimizationJobWithResponseAsync(String
      *             optimization_model: String (Optional)
      *             evaluation_level: String(turn/conversation) (Optional)
      *         }
-     *         warnings (Optional): [
-     *             String (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)
+     *                 }
+     *             }
      *         ]
-     *         all_target_attributes_failed: Boolean (Optional)
      *     }
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: 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)
      *         }
-     *         train_dataset_reference (Required): {
-     *             name: String (Required)
-     *             version: String (Optional)
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         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)
+     *     updated_at: long (Required)
      *     progress (Optional): {
-     *         current_iteration: int (Required)
+     *         candidates_completed: 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)
-     *     }
+     *     warnings (Optional): [
+     *         String (Optional)
+     *     ]
      * }
      * }
      * 
* - * @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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { - final String accept = "application/json"; - return service.cancelOptimizationJobSync(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * 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
NameTypeRequiredDescription
forceBooleanNoWhen 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 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 {@link Response} on successful completion of {@link Mono}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteOptimizationJobWithResponseAsync(String jobId, RequestOptions requestOptions) { - return FluxUtil.withContext(context -> service.deleteOptimizationJob(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), requestOptions, context)); - } - - /** - * 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
NameTypeRequiredDescription
forceBooleanNoWhen true, force-delete even if the job is in a non-terminal - * state.
- * You can add these to a request with {@link RequestOptions#addQueryParam} + * @return info about an agent optimization job. * - * @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}. + * Get an optimization job by id along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { - return service.deleteOptimizationJobSync(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + public Mono> getOptimizationJobWithResponseAsync(String jobId, RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getOptimizationJob(this.client.getEndpoint(), jobId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * List optimization job candidates + * Get info about an agent optimization job. * - * Returns the candidates produced by the specified optimization job. - *

Query Parameters

- * - * - * - * - * - * - * - *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range - * between 1 and 100, and the - * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` - * for ascending order and`desc` - * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that - * defines your place in the list. - * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your - * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
- * You can add these to a request with {@link RequestOptions#addQueryParam} + * Get an optimization job by id. *

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)
+     *     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)
      *             }
      *         ]
-     *         tools (Optional): [
-     *              (Optional){
+     *         options (Optional): {
+     *             max_candidates: Integer (Optional)
+     *             optimization_config (Optional): {
      *                 String: BinaryData (Required)
      *             }
-     *         ]
-     *     }
-     *     mutations (Required): {
-     *         String: BinaryData (Required)
+     *             eval_model: String (Optional)
+     *             optimization_model: String (Optional)
+     *             evaluation_level: String(turn/conversation) (Optional)
+     *         }
      *     }
-     *     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)
+     *     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)
+     *                 }
      *             }
-     *             response: String (Optional)
-     *             run_id: 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)
      *         }
-     *     ]
-     *     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)
+     *         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 optimization job id. + * @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 data for a requested list of items along with {@link PagedResponse} on successful completion - * of {@link Mono}. + * @return info about an agent optimization job. + * + * Get an optimization job by id along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listOptimizationCandidatesSinglePageAsync(String jobId, - RequestOptions requestOptions) { + public Response getOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { final String accept = "application/json"; - return FluxUtil - .withContext(context -> service.listOptimizationCandidates(this.client.getEndpoint(), jobId, - 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.getOptimizationJobSync(this.client.getEndpoint(), jobId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * 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. *

Query Parameters

* * @@ -4668,6 +804,9 @@ private Mono> listOptimizationCandidatesSinglePageAsyn * 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. + * + * *
Query Parameters
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -4675,78 +814,60 @@ private Mono> listOptimizationCandidatesSinglePageAsyn *
      * {@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)
-     *             }
+     *     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)
+     *         }
      *     }
-     *     mutations (Required): {
-     *         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)
      *     }
-     *     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 (Optional): {
      *         agent_name: String (Required)
-     *         agent_version: String (Required)
+     *         agent_version: String (Optional)
      *     }
      * }
      * }
      * 
* - * @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}. + * @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 PagedFlux listOptimizationCandidatesAsync(String jobId, RequestOptions requestOptions) { - return new PagedFlux<>(() -> listOptimizationCandidatesSinglePageAsync(jobId, requestOptions)); + @ServiceMethod(returns = ReturnType.SINGLE) + private Mono> listOptimizationJobsSinglePageAsync(RequestOptions requestOptions) { + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listOptimizationJobs(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)); } /** - * 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. *

Query Parameters

* * @@ -4765,6 +886,9 @@ public PagedFlux listOptimizationCandidatesAsync(String jobId, Reque * 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. + * + * *
Query Parameters
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -4772,83 +896,54 @@ public PagedFlux listOptimizationCandidatesAsync(String jobId, Reque *
      * {@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)
-     *             }
+     *     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)
+     *         }
      *     }
-     *     mutations (Required): {
-     *         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)
      *     }
-     *     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 (Optional): {
      *         agent_name: String (Required)
-     *         agent_version: String (Required)
+     *         agent_version: String (Optional)
      *     }
      * }
      * }
      * 
* - * @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 along with {@link PagedResponse}. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. */ - @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listOptimizationCandidatesSinglePage(String jobId, - RequestOptions requestOptions) { - final String accept = "application/json"; - Response res = service.listOptimizationCandidatesSync(this.client.getEndpoint(), jobId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), - getValues(res.getValue(), "data"), null, null); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listOptimizationJobsAsync(RequestOptions requestOptions) { + return new PagedFlux<>(() -> listOptimizationJobsSinglePageAsync(requestOptions)); } /** - * 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. *

Query Parameters

* * @@ -4867,6 +962,9 @@ private PagedResponse listOptimizationCandidatesSinglePage(String jo * 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. + * + * *
Query Parameters
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -4874,542 +972,374 @@ private PagedResponse listOptimizationCandidatesSinglePage(String jo *
      * {@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)
-     *             }
+     *     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)
      *         ]
-     *     }
-     *     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}. - */ - @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listOptimizationCandidates(String jobId, RequestOptions requestOptions) { - return new PagedIterable<>(() -> listOptimizationCandidatesSinglePage(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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getOptimizationCandidateWithResponseAsync(String jobId, String candidateId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getOptimizationCandidate(this.client.getEndpoint(), jobId, - candidateId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Response getOptimizationCandidateWithResponse(String jobId, String candidateId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return service.getOptimizationCandidateSync(this.client.getEndpoint(), jobId, candidateId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); - } - - /** - * 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getOptimizationCandidateConfigWithResponseAsync(String jobId, String candidateId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getOptimizationCandidateConfig(this.client.getEndpoint(), jobId, - candidateId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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){
+     *         additionalInfo (Optional): {
      *             String: BinaryData (Required)
      *         }
-     *     ]
-     *     tools (Optional): [
-     *          (Optional){
+     *         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 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}. + * @return the response data for a requested list of items along with {@link PagedResponse}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getOptimizationCandidateConfigWithResponse(String jobId, String candidateId, - RequestOptions requestOptions) { + private PagedResponse listOptimizationJobsSinglePage(RequestOptions requestOptions) { final String accept = "application/json"; - return service.getOptimizationCandidateConfigSync(this.client.getEndpoint(), jobId, candidateId, + Response res = service.listOptimizationJobsSync(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); } /** - * Get optimization candidate results + * Returns a list of agent optimization jobs. * - * Retrieves full per-task evaluation results for the specified candidate. + * List optimization jobs. Supports cursor pagination and optional status / agent_name filters. + *

Query Parameters

+ * + * + * + * + * + * + * + * + * + *
Query Parameters
NameTypeRequiredDescription
limitIntegerNoA limit on the number of objects to be returned. Limit can range + * between 1 and 100, and the + * default is 20.
orderStringNoSort order by the `created_at` timestamp of the objects. `asc` + * for ascending order and`desc` + * for descending order. Allowed values: "asc", "desc".
afterStringNoA cursor for use in pagination. `after` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include after=obj_foo in order to fetch the next page of the list.
beforeStringNoA cursor for use in pagination. `before` is an object ID that + * defines your place in the list. + * For instance, if you make a list request and receive 100 objects, ending with obj_foo, your + * subsequent call can include before=obj_foo in order to fetch the previous page of the list.
statusStringNoFilter to jobs in this lifecycle state. Allowed values: + * "queued", "in_progress", "succeeded", "failed", "cancelled".
agent_nameStringNoFilter to jobs targeting this agent name.
+ * You can add these to a request with {@link RequestOptions#addQueryParam} *

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)
+     *     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 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}. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getOptimizationCandidateResultsWithResponseAsync(String jobId, String candidateId, - RequestOptions requestOptions) { - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getOptimizationCandidateResults(this.client.getEndpoint(), jobId, - candidateId, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listOptimizationJobs(RequestOptions requestOptions) { + return new PagedIterable<>(() -> listOptimizationJobsSinglePage(requestOptions)); } /** - * Get optimization candidate results + * Cancels an agent optimization job. * - * Retrieves full per-task evaluation results for the specified candidate. + * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state. *

Response Body Schema

* *
      * {@code
      * {
-     *     candidate_id: String (Required)
-     *     results (Required): [
-     *          (Required){
-     *             task_name: String (Required)
-     *             query: String (Optional)
-     *             scores (Required): {
-     *                 String: double (Required)
+     *     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)
      *             }
-     *             composite_score: double (Required)
-     *             tokens: long (Required)
-     *             duration_seconds: double (Required)
-     *             passed: boolean (Required)
-     *             error_message: String (Optional)
-     *             rationales (Optional): {
-     *                 String: String (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)
+     *                 }
      *             }
-     *             response: String (Optional)
-     *             run_id: 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 jobId The optimization job id. - * @param candidateId The candidate id. + * @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 optimization candidate results - * - * Retrieves full per-task evaluation results for the specified candidate 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} on successful + * completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getOptimizationCandidateResultsWithResponse(String jobId, String candidateId, + public Mono> cancelOptimizationJobWithResponseAsync(String jobId, RequestOptions requestOptions) { final String accept = "application/json"; - return service.getOptimizationCandidateResultsSync(this.client.getEndpoint(), jobId, candidateId, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return FluxUtil.withContext(context -> service.cancelOptimizationJob(this.client.getEndpoint(), jobId, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * Get an optimization candidate file + * Cancels an agent optimization job. * - * Streams the specified file from the candidate's blob directory. + * Request cancellation of a running or queued job. Returns an error if the job is already in a terminal state. *

Response Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     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 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}. - */ - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getOptimizationCandidateFileWithResponseAsync(String jobId, String candidateId, - String path, RequestOptions requestOptions) { - final String accept = "application/octet-stream"; - return FluxUtil.withContext(context -> service.getOptimizationCandidateFile(this.client.getEndpoint(), jobId, - candidateId, path, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); - } - - /** - * 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 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 an optimization candidate file - * - * Streams the specified file from the candidate's blob directory 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}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getOptimizationCandidateFileWithResponse(String jobId, String candidateId, String path, - RequestOptions requestOptions) { - final String accept = "application/octet-stream"; - return service.getOptimizationCandidateFileSync(this.client.getEndpoint(), jobId, candidateId, path, + public Response cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { + final String accept = "application/json"; + return service.cancelOptimizationJobSync(this.client.getEndpoint(), jobId, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * Promote an optimization candidate + * Deletes an agent optimization job. * - * 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)
-     * }
-     * }
-     * 
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal. * - * @param jobId The optimization job id. - * @param candidateId The candidate id to promote. - * @param candidateRequest Promotion details. + * @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 response after successfully promoting a candidate along with {@link Response} on successful completion of - * {@link Mono}. + * @return the {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> promoteOptimizationCandidateWithResponseAsync(String jobId, String candidateId, - BinaryData candidateRequest, RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return FluxUtil.withContext(context -> service.promoteOptimizationCandidate(this.client.getEndpoint(), jobId, - candidateId, this.client.getServiceVersion().getVersion(), contentType, accept, candidateRequest, - requestOptions, context)); + public Mono> deleteOptimizationJobWithResponseAsync(String jobId, RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.deleteOptimizationJob(this.client.getEndpoint(), jobId, + this.client.getServiceVersion().getVersion(), requestOptions, context)); } /** - * 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

+ * Deletes an agent optimization job. * - *
-     * {@code
-     * {
-     *     candidate_id: String (Required)
-     *     status: String (Required)
-     *     promoted_at: long (Required)
-     *     agent_name: String (Required)
-     *     agent_version: String (Required)
-     * }
-     * }
-     * 
+ * Delete the job and its candidate artifacts. Cancels first if non-terminal. * - * @param jobId The optimization job id. - * @param candidateId The candidate id to promote. - * @param candidateRequest Promotion details. + * @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 response after successfully promoting a candidate along with {@link Response}. + * @return the {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response promoteOptimizationCandidateWithResponse(String jobId, String candidateId, - BinaryData candidateRequest, RequestOptions requestOptions) { - final String contentType = "application/json"; - final String accept = "application/json"; - return service.promoteOptimizationCandidateSync(this.client.getEndpoint(), jobId, candidateId, - this.client.getServiceVersion().getVersion(), contentType, accept, candidateRequest, requestOptions, - Context.NONE); + public Response deleteOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { + return service.deleteOptimizationJobSync(this.client.getEndpoint(), jobId, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); } private List getValues(BinaryData binaryData, String path) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java similarity index 97% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaToolboxesImpl.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java index 5cdab3fcbcb9..3964f407cb59 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/BetaToolboxesImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java @@ -40,13 +40,13 @@ import reactor.core.publisher.Mono; /** - * An instance of this class provides access to all the operations defined in BetaToolboxes. + * An instance of this class provides access to all the operations defined in Toolboxes. */ -public final class BetaToolboxesImpl { +public final class ToolboxesImpl { /** * The proxy service used to perform REST calls. */ - private final BetaToolboxesService service; + private final ToolboxesService service; /** * The service client containing this operation class. @@ -54,13 +54,13 @@ public final class BetaToolboxesImpl { private final AgentsClientImpl client; /** - * Initializes an instance of BetaToolboxesImpl. + * Initializes an instance of ToolboxesImpl. * * @param client the instance of the service client containing this operation class. */ - BetaToolboxesImpl(AgentsClientImpl client) { + ToolboxesImpl(AgentsClientImpl client) { this.service - = RestProxy.create(BetaToolboxesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); + = RestProxy.create(ToolboxesService.class, client.getHttpPipeline(), client.getSerializerAdapter()); this.client = client; } @@ -74,12 +74,12 @@ public AgentsServiceVersion getServiceVersion() { } /** - * The interface defining all the services for AgentsClientBetaToolboxes to be used by the proxy service to perform - * REST calls. + * The interface defining all the services for AgentsClientToolboxes to be used by the proxy service to perform REST + * calls. */ @Host("{endpoint}") - @ServiceInterface(name = "AgentsClientBetaToolboxes") - public interface BetaToolboxesService { + @ServiceInterface(name = "AgentsClientToolboxes") + public interface ToolboxesService { @Post("/toolboxes/{name}/versions") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @@ -262,7 +262,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * } * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -294,7 +294,7 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -345,7 +345,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * } * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -377,7 +377,7 @@ public Mono> createToolboxVersionWithResponseAsync(String n * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -717,7 +717,7 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -793,7 +793,7 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -862,7 +862,7 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -935,7 +935,7 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -984,7 +984,7 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] * skills (Optional): [ @@ -1037,7 +1037,7 @@ public Mono> getToolboxVersionWithResponseAsync(String name * created_at: long (Required) * tools (Required): [ * (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) + * 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/reminder_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/models/AgentDefinitionOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java index 93c228fc17f9..239a82612de7 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java @@ -8,26 +8,11 @@ * Feature opt-in keys for agent definition operations supporting hosted or workflow agents. */ public enum AgentDefinitionOptInKeys { - /** - * Enum value HostedAgents=V1Preview. - */ - HOSTED_AGENTS_V1_PREVIEW("HostedAgents=V1Preview"), - /** * Enum value WorkflowAgents=V1Preview. */ WORKFLOW_AGENTS_V1_PREVIEW("WorkflowAgents=V1Preview"), - /** - * Enum value AgentEndpoints=V1Preview. - */ - AGENT_ENDPOINT_V1_PREVIEW("AgentEndpoints=V1Preview"), - - /** - * Enum value CodeAgents=V1Preview. - */ - CODE_AGENTS_V1_PREVIEW("CodeAgents=V1Preview"), - /** * Enum value ExternalAgents=V1Preview. */ diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java index 85636d2e5ae5..15a9e5a1f8f0 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.implementation.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.ai.agents.models.CodeFileDetails; import com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata; import com.azure.core.annotation.Generated; @@ -14,7 +13,6 @@ * CreateAgentVersionFromCodeContent for future extensibility. */ @Immutable -@Beta(warningText = "Preview API. CodeAgents=V1Preview") public final class CreateAgentFromCodeContent { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java index 5fc49de055af..72acf980f033 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java @@ -7,6 +7,7 @@ import com.azure.ai.agents.models.AgentCard; import com.azure.ai.agents.models.AgentDefinition; import com.azure.ai.agents.models.AgentEndpointConfig; +import com.azure.ai.agents.models.AgentState; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import java.util.Map; @@ -225,4 +226,32 @@ public CreateAgentOptions setAgentEndpoint(AgentEndpointConfig agentEndpoint) { this.agentEndpoint = agentEndpoint; return this; } + + /* + * The initial operational state of the agent. Defaults to 'enabled' if not specified. + */ + @Generated + private AgentState state; + + /** + * Get the state property: The initial operational state of the agent. Defaults to 'enabled' if not specified. + * + * @return the state value. + */ + @Generated + public AgentState getState() { + return this.state; + } + + /** + * Set the state property: The initial operational state of the agent. Defaults to 'enabled' if not specified. + * + * @param state the state value to set. + * @return the CreateAgentOptions object itself. + */ + @Generated + public CreateAgentOptions setState(AgentState state) { + this.state = state; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java index d7389f2b4adc..ba2e40c5be69 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java @@ -7,6 +7,7 @@ import com.azure.ai.agents.models.AgentCard; import com.azure.ai.agents.models.AgentDefinition; import com.azure.ai.agents.models.AgentEndpointConfig; +import com.azure.ai.agents.models.AgentState; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -154,6 +155,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeStringField("name", this.agentName); jsonWriter.writeJsonField("definition", this.definition); + jsonWriter.writeStringField("state", this.state == null ? null : this.state.toString()); jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); jsonWriter.writeStringField("description", this.description); jsonWriter.writeJsonField("blueprint_reference", this.blueprintReference); @@ -176,6 +178,7 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept return jsonReader.readObject(reader -> { String agentName = null; AgentDefinition definition = null; + AgentState state = null; Map metadata = null; String description = null; AgentBlueprintReference blueprintReference = null; @@ -188,6 +191,8 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept agentName = reader.getString(); } else if ("definition".equals(fieldName)) { definition = AgentDefinition.fromJson(reader); + } else if ("state".equals(fieldName)) { + state = AgentState.fromString(reader.getString()); } else if ("metadata".equals(fieldName)) { metadata = reader.readMap(reader1 -> reader1.getString()); } else if ("description".equals(fieldName)) { @@ -203,6 +208,7 @@ public static CreateAgentRequest fromJson(JsonReader jsonReader) throws IOExcept } } CreateAgentRequest deserializedCreateAgentRequest = new CreateAgentRequest(agentName, definition); + deserializedCreateAgentRequest.state = state; deserializedCreateAgentRequest.metadata = metadata; deserializedCreateAgentRequest.description = description; deserializedCreateAgentRequest.blueprintReference = blueprintReference; @@ -297,4 +303,32 @@ public CreateAgentRequest setAgentEndpoint(AgentEndpointConfig agentEndpoint) { this.agentEndpoint = agentEndpoint; return this; } + + /* + * The initial operational state of the agent. Defaults to 'enabled' if not specified. + */ + @Generated + private AgentState state; + + /** + * Get the state property: The initial operational state of the agent. Defaults to 'enabled' if not specified. + * + * @return the state value. + */ + @Generated + public AgentState getState() { + return this.state; + } + + /** + * Set the state property: The initial operational state of the agent. Defaults to 'enabled' if not specified. + * + * @param state the state value to set. + * @return the CreateAgentRequest object itself. + */ + @Generated + public CreateAgentRequest setState(AgentState state) { + this.state = state; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java index b0f972932391..a885b0c74bd1 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java @@ -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-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java index 4d9e91eddc22..6d085bda7104 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * The AgentBlueprintReference model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public class AgentBlueprintReference implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java index 38ab77b1128d..f26ec0ed2c80 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * Defines values for AgentBlueprintReferenceType. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentBlueprintReferenceType extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCard.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCard.java index dc8895e1ffb8..b695280b49e5 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCard.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCard.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -20,7 +19,6 @@ * The AgentCard model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentCard implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCardSkill.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCardSkill.java index 0930a4fc6045..e2c74dc51e04 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCardSkill.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentCardSkill.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -20,7 +19,6 @@ * The AgentCardSkill model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentCardSkill implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java index d4f6025aeea9..ec87c8492024 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDefinition.java @@ -16,8 +16,7 @@ * The AgentDefinition model. */ @Fluent -@Beta( - warningText = "Preview API. CodeAgents=V1Preview, ExternalAgents=V1Preview, HostedAgents=V1Preview, WorkflowAgents=V1Preview") +@Beta(warningText = "Preview API. ExternalAgents=V1Preview, WorkflowAgents=V1Preview") public class AgentDefinition implements JsonSerializable { /* @@ -109,14 +108,14 @@ public static AgentDefinition fromJson(JsonReader jsonReader) throws IOException } } // Use the discriminator value to determine which subtype should be deserialized. - if ("prompt".equals(discriminatorValue)) { + if ("hosted".equals(discriminatorValue)) { + return HostedAgentDefinition.fromJson(readerToUse.reset()); + } else if ("prompt".equals(discriminatorValue)) { return PromptAgentDefinition.fromJson(readerToUse.reset()); } else if ("workflow".equals(discriminatorValue)) { return WorkflowAgentDefinition.fromJson(readerToUse.reset()); } else if ("external".equals(discriminatorValue)) { return ExternalAgentDefinition.fromJson(readerToUse.reset()); - } else if ("hosted".equals(discriminatorValue)) { - return HostedAgentDefinition.fromJson(readerToUse.reset()); } else { return fromJsonKnownDiscriminator(readerToUse.reset()); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java index c54a8fe19c3c..7a7cb13f2efb 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentDetails.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -96,6 +95,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String id = null; String name = null; + AgentState state = null; AgentDetailsVersions versions = null; AgentEndpointConfig agentEndpoint = null; AgentIdentity instanceIdentity = null; @@ -109,6 +109,8 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { id = reader.getString(); } else if ("name".equals(fieldName)) { name = reader.getString(); + } else if ("state".equals(fieldName)) { + state = AgentState.fromString(reader.getString()); } else if ("versions".equals(fieldName)) { versions = AgentDetailsVersions.fromJson(reader); } else if ("agent_endpoint".equals(fieldName)) { @@ -126,6 +128,7 @@ public static AgentDetails fromJson(JsonReader jsonReader) throws IOException { } } AgentDetails deserializedAgentDetails = new AgentDetails(id, name, versions); + deserializedAgentDetails.state = state; deserializedAgentDetails.agentEndpoint = agentEndpoint; deserializedAgentDetails.instanceIdentity = instanceIdentity; deserializedAgentDetails.blueprintIdentity = blueprintIdentity; @@ -169,28 +172,24 @@ public AgentObjectType getObjectType() { * The endpoint configuration for the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentEndpointConfig agentEndpoint; /* * The instance identity of the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentIdentity instanceIdentity; /* * The blueprint for the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentBlueprintReference blueprintReference; /* * The agent_card property. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentCard agentCard; /** @@ -199,7 +198,6 @@ public AgentObjectType getObjectType() { * @return the agentEndpoint value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentEndpointConfig getAgentEndpoint() { return this.agentEndpoint; } @@ -210,7 +208,6 @@ public AgentEndpointConfig getAgentEndpoint() { * @return the instanceIdentity value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentIdentity getInstanceIdentity() { return this.instanceIdentity; } @@ -221,7 +218,6 @@ public AgentIdentity getInstanceIdentity() { * @return the blueprintReference value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentBlueprintReference getBlueprintReference() { return this.blueprintReference; } @@ -232,7 +228,6 @@ public AgentBlueprintReference getBlueprintReference() { * @return the agentCard value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentCard getAgentCard() { return this.agentCard; } @@ -241,7 +236,6 @@ public AgentCard getAgentCard() { * The blueprint for the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentIdentity blueprintIdentity; /** @@ -250,8 +244,24 @@ public AgentCard getAgentCard() { * @return the blueprintIdentity value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentIdentity getBlueprintIdentity() { return this.blueprintIdentity; } + + /* + * The operational state of the agent. Controls whether the agent endpoint accepts or rejects requests. + */ + @Generated + private AgentState state; + + /** + * Get the state property: The operational state of the agent. Controls whether the agent endpoint accepts or + * rejects requests. + * + * @return the state value. + */ + @Generated + public AgentState getState() { + return this.state; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java index e86b254a9b17..296bf41be467 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -19,7 +18,6 @@ * The AgentEndpointAuthorizationScheme model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public class AgentEndpointAuthorizationScheme implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java index e62adaf0ddcd..4d5545a07858 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * Defines values for AgentEndpointAuthorizationSchemeType. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentEndpointAuthorizationSchemeType extends ExpandableStringEnum { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java index e310447fb854..e7e1c06e2947 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -20,7 +19,6 @@ * The AgentEndpointConfig model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentEndpointConfig implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentity.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentity.java index eb3841af688d..a07fe8a68e3c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentity.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentity.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * The AgentIdentity model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentIdentity implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentProtocol.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentProtocol.java deleted file mode 100644 index 69f4dbe23519..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentProtocol.java +++ /dev/null @@ -1,75 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Generated; -import com.azure.core.util.ExpandableStringEnum; -import java.util.Collection; - -/** - * Defines values for AgentProtocol. - */ -public final class AgentProtocol extends ExpandableStringEnum { - - /** - * Static value activity_protocol for AgentProtocol. - */ - @Generated - public static final AgentProtocol ACTIVITY_PROTOCOL = fromString("activity_protocol"); - - /** - * Static value responses for AgentProtocol. - */ - @Generated - public static final AgentProtocol RESPONSES = fromString("responses"); - - /** - * Creates a new instance of AgentProtocol value. - * - * @deprecated Use the {@link #fromString(String)} factory method. - */ - @Generated - @Deprecated - public AgentProtocol() { - } - - /** - * Creates or finds a AgentProtocol from its string representation. - * - * @param name a name to look for. - * @return the corresponding AgentProtocol. - */ - @Generated - public static AgentProtocol fromString(String name) { - return fromString(name, AgentProtocol.class); - } - - /** - * Gets known AgentProtocol values. - * - * @return known AgentProtocol values. - */ - @Generated - public static Collection values() { - return values(AgentProtocol.class); - } - - /** - * Static value invocations for AgentProtocol. - */ - @Generated - public static final AgentProtocol INVOCATIONS = fromString("invocations"); - - /** - * Static value mcp for AgentProtocol. - */ - @Generated - public static final AgentProtocol MCP = fromString("mcp"); - - /** - * WebSocket-based protocol for hosted voice and real-time streaming agents. - */ - @Generated - public static final AgentProtocol INVOCATIONS_WS = fromString("invocations_ws"); -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java index f97ff635b982..66fcc5f82c5a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionResource.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -19,7 +18,6 @@ * An agent session providing a long-lived compute sandbox for hosted agent invocations. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentSessionResource implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java index 7b504a859f1d..8ed919459b6b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The status of an agent session. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class AgentSessionStatus extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentState.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentState.java new file mode 100644 index 000000000000..b19f3497b173 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentState.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * The operational state of an agent. + */ +public final class AgentState extends ExpandableStringEnum { + + /** + * Agent endpoint accepts requests. This is the default state on creation. + */ + @Generated + public static final AgentState ENABLED = fromString("enabled"); + + /** + * Agent endpoint rejects all requests. + */ + @Generated + public static final AgentState DISABLED = fromString("disabled"); + + /** + * Creates a new instance of AgentState value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public AgentState() { + } + + /** + * Creates or finds a AgentState from its string representation. + * + * @param name a name to look for. + * @return the corresponding AgentState. + */ + @Generated + public static AgentState fromString(String name) { + return fromString(name, AgentState.class); + } + + /** + * Gets known AgentState values. + * + * @return known AgentState values. + */ + @Generated + public static Collection values() { + return values(AgentState.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java index 63488e954b42..ae18f6f2872f 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -277,28 +276,24 @@ public AgentObjectType getObjectType() { * The instance identity of the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentIdentity instanceIdentity; /* * The blueprint for the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentIdentity blueprint; /* * The blueprint for the agent */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private AgentBlueprintReference blueprintReference; /* * The unique GUID identifier of the agent. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") private String agentGuid; /** @@ -307,7 +302,6 @@ public AgentObjectType getObjectType() { * @return the instanceIdentity value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentIdentity getInstanceIdentity() { return this.instanceIdentity; } @@ -318,7 +312,6 @@ public AgentIdentity getInstanceIdentity() { * @return the blueprint value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentIdentity getBlueprint() { return this.blueprint; } @@ -329,7 +322,6 @@ public AgentIdentity getBlueprint() { * @return the blueprintReference value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public AgentBlueprintReference getBlueprintReference() { return this.blueprintReference; } @@ -340,7 +332,6 @@ public AgentBlueprintReference getBlueprintReference() { * @return the agentGuid value. */ @Generated - @Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public String getAgentGuid() { return this.agentGuid; } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java index 4538a6b60b2d..8acb122bdf96 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The BotServiceAuthorizationScheme model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class BotServiceAuthorizationScheme extends AgentEndpointAuthorizationScheme { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java index 4b3fae68a596..92051eaf4a02 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The BotServiceRbacAuthorizationScheme model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class BotServiceRbacAuthorizationScheme extends AgentEndpointAuthorizationScheme { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateDeployConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateDeployConfig.java deleted file mode 100644 index 93ca889365e2..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateDeployConfig.java +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.core.util.BinaryData; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.List; -import java.util.Map; - -/** - * Deploy-config blob for a candidate. Suitable for setting OPTIMIZATION_CONFIG on a hosted-agent version. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class CandidateDeployConfig implements JsonSerializable { - - /* - * System prompt / instructions. - */ - @Generated - private String instructions; - - /* - * Foundry deployment name. - */ - @Generated - private String model; - - /* - * Optional sampling temperature. - */ - @Generated - private Double temperature; - - /* - * Optional skill overrides. - */ - @Generated - private List> skills; - - /** - * Creates an instance of CandidateDeployConfig class. - */ - @Generated - private CandidateDeployConfig() { - } - - /** - * Get the instructions property: System prompt / instructions. - * - * @return the instructions value. - */ - @Generated - public String getInstructions() { - return this.instructions; - } - - /** - * Get the model property: Foundry deployment name. - * - * @return the model value. - */ - @Generated - public String getModel() { - return this.model; - } - - /** - * Get the temperature property: Optional sampling temperature. - * - * @return the temperature value. - */ - @Generated - public Double getTemperature() { - return this.temperature; - } - - /** - * Get the skills property: Optional skill overrides. - * - * @return the skills value. - */ - @Generated - public List> getSkills() { - return this.skills; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("instructions", this.instructions); - jsonWriter.writeStringField("model", this.model); - jsonWriter.writeNumberField("temperature", this.temperature); - jsonWriter.writeArrayField("skills", this.skills, - (writer, element) -> writer.writeMap(element, (writer1, element1) -> { - if (element1 == null) { - writer1.writeNull(); - } else { - element1.writeTo(writer1); - } - })); - jsonWriter.writeArrayField("tools", this.tools, - (writer, element) -> writer.writeMap(element, (writer1, element1) -> { - if (element1 == null) { - writer1.writeNull(); - } else { - element1.writeTo(writer1); - } - })); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of CandidateDeployConfig from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of CandidateDeployConfig if the JsonReader was pointing to an instance of it, or null if it - * was pointing to JSON null. - * @throws IOException If an error occurs while reading the CandidateDeployConfig. - */ - @Generated - public static CandidateDeployConfig fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - CandidateDeployConfig deserializedCandidateDeployConfig = new CandidateDeployConfig(); - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("instructions".equals(fieldName)) { - deserializedCandidateDeployConfig.instructions = reader.getString(); - } else if ("model".equals(fieldName)) { - deserializedCandidateDeployConfig.model = reader.getString(); - } else if ("temperature".equals(fieldName)) { - deserializedCandidateDeployConfig.temperature = reader.getNullable(JsonReader::getDouble); - } else if ("skills".equals(fieldName)) { - List> skills - = reader.readArray(reader1 -> reader1.readMap(reader2 -> reader2 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())))); - deserializedCandidateDeployConfig.skills = skills; - } else if ("tools".equals(fieldName)) { - List> tools = reader.readArray(reader1 -> reader1.readMap(reader2 -> reader2 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())))); - deserializedCandidateDeployConfig.tools = tools; - } else { - reader.skipChildren(); - } - } - return deserializedCandidateDeployConfig; - }); - } - - /* - * Optional tool overrides. - */ - @Generated - private List> tools; - - /** - * Get the tools property: Optional tool overrides. - * - * @return the tools value. - */ - @Generated - public List> getTools() { - return this.tools; - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java deleted file mode 100644 index 9ba26c349642..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java +++ /dev/null @@ -1,128 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * File entry in a candidate's blob directory. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class CandidateFileInfo implements JsonSerializable { - - /* - * Relative path of the file. - */ - @Generated - private final String path; - - /* - * File type category (e.g. 'config', 'results'). - */ - @Generated - private final String type; - - /* - * File size in bytes. - */ - @Generated - private final long sizeBytes; - - /** - * Creates an instance of CandidateFileInfo class. - * - * @param path the path value to set. - * @param type the type value to set. - * @param sizeBytes the sizeBytes value to set. - */ - @Generated - private CandidateFileInfo(String path, String type, long sizeBytes) { - this.path = path; - this.type = type; - this.sizeBytes = sizeBytes; - } - - /** - * Get the path property: Relative path of the file. - * - * @return the path value. - */ - @Generated - public String getPath() { - return this.path; - } - - /** - * Get the type property: File type category (e.g. 'config', 'results'). - * - * @return the type value. - */ - @Generated - public String getType() { - return this.type; - } - - /** - * Get the sizeBytes property: File size in bytes. - * - * @return the sizeBytes value. - */ - @Generated - public long getSizeBytes() { - return this.sizeBytes; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("path", this.path); - jsonWriter.writeStringField("type", this.type); - jsonWriter.writeLongField("size_bytes", this.sizeBytes); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of CandidateFileInfo from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of CandidateFileInfo if the JsonReader was pointing to an instance of it, or null if it was - * pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the CandidateFileInfo. - */ - @Generated - public static CandidateFileInfo fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String path = null; - String type = null; - long sizeBytes = 0L; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("path".equals(fieldName)) { - path = reader.getString(); - } else if ("type".equals(fieldName)) { - type = reader.getString(); - } else if ("size_bytes".equals(fieldName)) { - sizeBytes = reader.getLong(); - } else { - reader.skipChildren(); - } - } - return new CandidateFileInfo(path, type, sizeBytes); - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java deleted file mode 100644 index aa45261236d5..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java +++ /dev/null @@ -1,295 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.time.Instant; -import java.time.OffsetDateTime; -import java.time.ZoneOffset; -import java.util.List; - -/** - * Candidate metadata returned by GET /candidates/{id}. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class CandidateMetadata implements JsonSerializable { - - /* - * Server-assigned candidate identifier. - */ - @Generated - private final String candidateId; - - /* - * Owning optimization job id. - */ - @Generated - private final String jobId; - - /* - * Display name of the candidate. - */ - @Generated - private final String candidateName; - - /* - * Candidate lifecycle status. - */ - @Generated - private final String status; - - /* - * Candidate's aggregate score. - */ - @Generated - private Double score; - - /* - * Whether detailed results are available for this candidate. - */ - @Generated - private final boolean hasResults; - - /* - * Timestamp when the candidate was created, represented in Unix time. - */ - @Generated - private final long createdAt; - - /* - * Timestamp when the candidate was last updated, represented in Unix time. - */ - @Generated - private final long updatedAt; - - /* - * Promotion metadata. Null if not promoted. - */ - @Generated - private PromotionInfo promotion; - - /* - * Files in the candidate's blob directory. - */ - @Generated - private final List files; - - /** - * Creates an instance of CandidateMetadata class. - * - * @param candidateId the candidateId value to set. - * @param jobId the jobId value to set. - * @param candidateName the candidateName value to set. - * @param status the status value to set. - * @param hasResults the hasResults value to set. - * @param createdAt the createdAt value to set. - * @param updatedAt the updatedAt value to set. - * @param files the files value to set. - */ - @Generated - private CandidateMetadata(String candidateId, String jobId, String candidateName, String status, boolean hasResults, - OffsetDateTime createdAt, OffsetDateTime updatedAt, List files) { - this.candidateId = candidateId; - this.jobId = jobId; - this.candidateName = candidateName; - this.status = status; - this.hasResults = hasResults; - if (createdAt == null) { - this.createdAt = 0L; - } else { - this.createdAt = createdAt.toEpochSecond(); - } - if (updatedAt == null) { - this.updatedAt = 0L; - } else { - this.updatedAt = updatedAt.toEpochSecond(); - } - this.files = files; - } - - /** - * Get the candidateId property: Server-assigned candidate identifier. - * - * @return the candidateId value. - */ - @Generated - public String getCandidateId() { - return this.candidateId; - } - - /** - * Get the jobId property: Owning optimization job id. - * - * @return the jobId value. - */ - @Generated - public String getJobId() { - return this.jobId; - } - - /** - * Get the candidateName property: Display name of the candidate. - * - * @return the candidateName value. - */ - @Generated - public String getCandidateName() { - return this.candidateName; - } - - /** - * Get the status property: Candidate lifecycle status. - * - * @return the status value. - */ - @Generated - public String getStatus() { - return this.status; - } - - /** - * Get the score property: Candidate's aggregate score. - * - * @return the score value. - */ - @Generated - public Double getScore() { - return this.score; - } - - /** - * Get the hasResults property: Whether detailed results are available for this candidate. - * - * @return the hasResults value. - */ - @Generated - public boolean isHasResults() { - return this.hasResults; - } - - /** - * Get the createdAt property: Timestamp when the candidate was created, represented in Unix time. - * - * @return the createdAt value. - */ - @Generated - public OffsetDateTime getCreatedAt() { - return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); - } - - /** - * Get the updatedAt property: Timestamp when the candidate was last updated, represented in Unix time. - * - * @return the updatedAt value. - */ - @Generated - public OffsetDateTime getUpdatedAt() { - return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); - } - - /** - * Get the promotion property: Promotion metadata. Null if not promoted. - * - * @return the promotion value. - */ - @Generated - public PromotionInfo getPromotion() { - return this.promotion; - } - - /** - * Get the files property: Files in the candidate's blob directory. - * - * @return the files value. - */ - @Generated - public List getFiles() { - return this.files; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("candidate_id", this.candidateId); - jsonWriter.writeStringField("job_id", this.jobId); - jsonWriter.writeStringField("candidate_name", this.candidateName); - jsonWriter.writeStringField("status", this.status); - jsonWriter.writeBooleanField("has_results", this.hasResults); - jsonWriter.writeLongField("created_at", this.createdAt); - jsonWriter.writeLongField("updated_at", this.updatedAt); - jsonWriter.writeArrayField("files", this.files, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeNumberField("score", this.score); - jsonWriter.writeJsonField("promotion", this.promotion); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of CandidateMetadata from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of CandidateMetadata if the JsonReader was pointing to an instance of it, or null if it was - * pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the CandidateMetadata. - */ - @Generated - public static CandidateMetadata fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String candidateId = null; - String jobId = null; - String candidateName = null; - String status = null; - boolean hasResults = false; - OffsetDateTime createdAt = null; - OffsetDateTime updatedAt = null; - List files = null; - Double score = null; - PromotionInfo promotion = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("candidate_id".equals(fieldName)) { - candidateId = reader.getString(); - } else if ("job_id".equals(fieldName)) { - jobId = reader.getString(); - } else if ("candidate_name".equals(fieldName)) { - candidateName = reader.getString(); - } else if ("status".equals(fieldName)) { - status = reader.getString(); - } else if ("has_results".equals(fieldName)) { - hasResults = reader.getBoolean(); - } else if ("created_at".equals(fieldName)) { - createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); - } else if ("updated_at".equals(fieldName)) { - updatedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); - } else if ("files".equals(fieldName)) { - files = reader.readArray(reader1 -> CandidateFileInfo.fromJson(reader1)); - } else if ("score".equals(fieldName)) { - score = reader.getNullable(JsonReader::getDouble); - } else if ("promotion".equals(fieldName)) { - promotion = PromotionInfo.fromJson(reader); - } else { - reader.skipChildren(); - } - } - CandidateMetadata deserializedCandidateMetadata = new CandidateMetadata(candidateId, jobId, candidateName, - status, hasResults, createdAt, updatedAt, files); - deserializedCandidateMetadata.score = score; - deserializedCandidateMetadata.promotion = promotion; - return deserializedCandidateMetadata; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateResults.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateResults.java deleted file mode 100644 index f15545de42f7..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateResults.java +++ /dev/null @@ -1,107 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.List; - -/** - * Full per-task evaluation results for a candidate, returned by GET /candidates/{id}/results. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class CandidateResults implements JsonSerializable { - - /* - * Owning candidate id. - */ - @Generated - private final String candidateId; - - /* - * Per-task evaluation rows. - */ - @Generated - private final List results; - - /** - * Creates an instance of CandidateResults class. - * - * @param candidateId the candidateId value to set. - * @param results the results value to set. - */ - @Generated - private CandidateResults(String candidateId, List results) { - this.candidateId = candidateId; - this.results = results; - } - - /** - * Get the candidateId property: Owning candidate id. - * - * @return the candidateId value. - */ - @Generated - public String getCandidateId() { - return this.candidateId; - } - - /** - * Get the results property: Per-task evaluation rows. - * - * @return the results value. - */ - @Generated - public List getResults() { - return this.results; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("candidate_id", this.candidateId); - jsonWriter.writeArrayField("results", this.results, (writer, element) -> writer.writeJson(element)); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of CandidateResults from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of CandidateResults if the JsonReader was pointing to an instance of it, or null if it was - * pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the CandidateResults. - */ - @Generated - public static CandidateResults fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String candidateId = null; - List results = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("candidate_id".equals(fieldName)) { - candidateId = reader.getString(); - } else if ("results".equals(fieldName)) { - results = reader.readArray(reader1 -> OptimizationTaskResult.fromJson(reader1)); - } else { - reader.skipChildren(); - } - } - return new CandidateResults(candidateId, results); - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CodeConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CodeConfiguration.java index 175188edd172..80e762577ae6 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CodeConfiguration.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CodeConfiguration.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -17,7 +16,6 @@ * Code-based deployment configuration for a hosted agent. */ @Immutable -@Beta(warningText = "Preview API. CodeAgents=V1Preview") public final class CodeConfiguration implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java index 94812d19369c..75a82064ed74 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * Container-based deployment configuration for a hosted agent. */ @Immutable -@Beta(warningText = "Preview API. CodeAgents=V1Preview") public final class ContainerConfiguration implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java index 246889d4524d..ac62bf498f57 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; @@ -12,7 +11,6 @@ * /agents/{name}/versions). */ @Immutable -@Beta(warningText = "Preview API. CodeAgents=V1Preview") public final class CreateAgentVersionFromCodeContent { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java index 0390f65de6c6..087443b76b8c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -20,7 +19,6 @@ * The content hash (SHA-256 of the zip) is carried in the `x-ms-code-zip-sha256` header. */ @Fluent -@Beta(warningText = "Preview API. CodeAgents=V1Preview") public final class CreateAgentVersionFromCodeMetadata implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java index 9d5951d9cb8a..6e5a1755b78e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java @@ -17,8 +17,7 @@ * The CreateAgentVersionInput model. */ @Fluent -@Beta( - warningText = "Preview API. CodeAgents=V1Preview, ExternalAgents=V1Preview, HostedAgents=V1Preview, WorkflowAgents=V1Preview") +@Beta(warningText = "Preview API. ExternalAgents=V1Preview, WorkflowAgents=V1Preview") public final class CreateAgentVersionInput implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java deleted file mode 100644 index 6a308966106b..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * Metadata about the dataset used for optimization, surfaced in the response. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class DatasetInfo implements JsonSerializable { - - /* - * Dataset name when using a registered dataset reference. Null for inline datasets. - */ - @Generated - private String name; - - /* - * Dataset version when using a registered dataset reference. Null for inline datasets. - */ - @Generated - private String version; - - /* - * Number of tasks/rows in the dataset. - */ - @Generated - private final int taskCount; - - /* - * True when the dataset was provided inline in the request body. - */ - @Generated - private final boolean isInline; - - /** - * Creates an instance of DatasetInfo class. - * - * @param taskCount the taskCount value to set. - * @param isInline the isInline value to set. - */ - @Generated - private DatasetInfo(int taskCount, boolean isInline) { - this.taskCount = taskCount; - this.isInline = isInline; - } - - /** - * Get the name property: Dataset name when using a registered dataset reference. Null for inline datasets. - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the version property: Dataset version when using a registered dataset reference. Null for inline datasets. - * - * @return the version value. - */ - @Generated - public String getVersion() { - return this.version; - } - - /** - * Get the taskCount property: Number of tasks/rows in the dataset. - * - * @return the taskCount value. - */ - @Generated - public int getTaskCount() { - return this.taskCount; - } - - /** - * Get the isInline property: True when the dataset was provided inline in the request body. - * - * @return the isInline value. - */ - @Generated - public boolean isInline() { - return this.isInline; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeIntField("task_count", this.taskCount); - jsonWriter.writeBooleanField("is_inline", this.isInline); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeStringField("version", this.version); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of DatasetInfo from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of DatasetInfo if the JsonReader was pointing to an instance of it, or null if it was - * pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the DatasetInfo. - */ - @Generated - public static DatasetInfo fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - int taskCount = 0; - boolean isInline = false; - String name = null; - String version = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("task_count".equals(fieldName)) { - taskCount = reader.getInt(); - } else if ("is_inline".equals(fieldName)) { - isInline = reader.getBoolean(); - } else if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("version".equals(fieldName)) { - version = reader.getString(); - } else { - reader.skipChildren(); - } - } - DatasetInfo deserializedDatasetInfo = new DatasetInfo(taskCount, isInline); - deserializedDatasetInfo.name = name; - deserializedDatasetInfo.version = version; - return deserializedDatasetInfo; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java index f2eda8b4c1a3..8f34e5615547 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The EntraAuthorizationScheme model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class EntraAuthorizationScheme extends AgentEndpointAuthorizationScheme { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java index 2d54561eb9ad..b9a58d6487b4 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The EntraIsolationKeySource model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class EntraIsolationKeySource extends IsolationKeySource { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java index 7c018a501483..80ebec2ec6e0 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The FixedRatioVersionSelectionRule model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class FixedRatioVersionSelectionRule extends VersionSelectionRule { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java index 48b497a60922..71ad0305bce6 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -18,7 +17,6 @@ * The HeaderIsolationKeySource model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class HeaderIsolationKeySource extends IsolationKeySource { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java index cea2b3314af9..a54e42eb985e 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -15,7 +14,6 @@ * Header-based secret authentication for a telemetry endpoint. The resolved secret value is injected as an HTTP header. */ @Immutable -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class HeaderTelemetryEndpointAuth extends TelemetryEndpointAuth { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java index e6a20e978229..d8b9c81a5fc1 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -17,7 +16,6 @@ * The hosted agent definition. */ @Fluent -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class HostedAgentDefinition extends AgentDefinition { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySource.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySource.java index 1edb78bba43f..ee7f3feb0f5b 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySource.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySource.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -19,7 +18,6 @@ * The IsolationKeySource model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public class IsolationKeySource implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java index 61fa7f787856..7e7af6f9ae6d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * Defines values for IsolationKeySourceKind. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class IsolationKeySourceKind extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java index d9fd79c6f87f..e1a141e031a8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -15,7 +14,6 @@ * The ManagedAgentIdentityBlueprintReference model. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class ManagedAgentIdentityBlueprintReference extends AgentBlueprintReference { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentDefinition.java deleted file mode 100644 index efc739f03484..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentDefinition.java +++ /dev/null @@ -1,197 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.core.util.BinaryData; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.List; -import java.util.Map; - -/** - * Agent definition returned in response payloads (includes resolved config). - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class OptimizationAgentDefinition implements JsonSerializable { - - /* - * Agent name. - */ - @Generated - private String agentName; - - /* - * Agent version. - */ - @Generated - private String agentVersion; - - /* - * Model deployment name. - */ - @Generated - private String model; - - /* - * System prompt / instructions. - */ - @Generated - private String systemPrompt; - - /* - * Agent skills. - */ - @Generated - private List> skills; - - /** - * Get the agentName property: Agent name. - * - * @return the agentName value. - */ - @Generated - public String getAgentName() { - return this.agentName; - } - - /** - * Get the agentVersion property: Agent version. - * - * @return the agentVersion value. - */ - @Generated - public String getAgentVersion() { - return this.agentVersion; - } - - /** - * Get the model property: Model deployment name. - * - * @return the model value. - */ - @Generated - public String getModel() { - return this.model; - } - - /** - * Get the systemPrompt property: System prompt / instructions. - * - * @return the systemPrompt value. - */ - @Generated - public String getSystemPrompt() { - return this.systemPrompt; - } - - /** - * Get the skills property: Agent skills. - * - * @return the skills value. - */ - @Generated - public List> getSkills() { - return this.skills; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("agent_name", this.agentName); - jsonWriter.writeStringField("agent_version", this.agentVersion); - jsonWriter.writeStringField("model", this.model); - jsonWriter.writeStringField("system_prompt", this.systemPrompt); - jsonWriter.writeArrayField("skills", this.skills, - (writer, element) -> writer.writeMap(element, (writer1, element1) -> { - if (element1 == null) { - writer1.writeNull(); - } else { - element1.writeTo(writer1); - } - })); - jsonWriter.writeArrayField("tools", this.tools, - (writer, element) -> writer.writeMap(element, (writer1, element1) -> { - if (element1 == null) { - writer1.writeNull(); - } else { - element1.writeTo(writer1); - } - })); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of OptimizationAgentDefinition from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of OptimizationAgentDefinition if the JsonReader was pointing to an instance of it, or null - * if it was pointing to JSON null. - * @throws IOException If an error occurs while reading the OptimizationAgentDefinition. - */ - @Generated - public static OptimizationAgentDefinition fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - OptimizationAgentDefinition deserializedOptimizationAgentDefinition = new OptimizationAgentDefinition(); - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("agent_name".equals(fieldName)) { - deserializedOptimizationAgentDefinition.agentName = reader.getString(); - } else if ("agent_version".equals(fieldName)) { - deserializedOptimizationAgentDefinition.agentVersion = reader.getString(); - } else if ("model".equals(fieldName)) { - deserializedOptimizationAgentDefinition.model = reader.getString(); - } else if ("system_prompt".equals(fieldName)) { - deserializedOptimizationAgentDefinition.systemPrompt = reader.getString(); - } else if ("skills".equals(fieldName)) { - List> skills - = reader.readArray(reader1 -> reader1.readMap(reader2 -> reader2 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())))); - deserializedOptimizationAgentDefinition.skills = skills; - } else if ("tools".equals(fieldName)) { - List> tools = reader.readArray(reader1 -> reader1.readMap(reader2 -> reader2 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped())))); - deserializedOptimizationAgentDefinition.tools = tools; - } else { - reader.skipChildren(); - } - } - return deserializedOptimizationAgentDefinition; - }); - } - - /* - * Agent tools. - */ - @Generated - private List> tools; - - /** - * Creates an instance of OptimizationAgentDefinition class. - */ - @Generated - private OptimizationAgentDefinition() { - } - - /** - * Get the tools property: Agent tools. - * - * @return the tools value. - */ - @Generated - public List> getTools() { - return this.tools; - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentifier.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentIdentifier.java similarity index 73% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentifier.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentIdentifier.java index b9ea66c0045e..19607d33d2d5 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentifier.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentIdentifier.java @@ -17,8 +17,8 @@ * options.optimization_config. */ @Fluent -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class AgentIdentifier implements JsonSerializable { +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationAgentIdentifier implements JsonSerializable { /* * Registered Foundry agent name (required). @@ -33,12 +33,12 @@ public final class AgentIdentifier implements JsonSerializable private String agentVersion; /** - * Creates an instance of AgentIdentifier class. + * Creates an instance of OptimizationAgentIdentifier class. * * @param agentName the agentName value to set. */ @Generated - public AgentIdentifier(String agentName) { + public OptimizationAgentIdentifier(String agentName) { this.agentName = agentName; } @@ -66,10 +66,10 @@ public String getAgentVersion() { * Set the agentVersion property: Pinned agent version. Defaults to latest if omitted. * * @param agentVersion the agentVersion value to set. - * @return the AgentIdentifier object itself. + * @return the OptimizationAgentIdentifier object itself. */ @Generated - public AgentIdentifier setAgentVersion(String agentVersion) { + public OptimizationAgentIdentifier setAgentVersion(String agentVersion) { this.agentVersion = agentVersion; return this; } @@ -87,16 +87,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of AgentIdentifier from the JsonReader. + * Reads an instance of OptimizationAgentIdentifier from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of AgentIdentifier if the JsonReader was pointing to an instance of it, or null if it was - * pointing to JSON null. + * @return An instance of OptimizationAgentIdentifier if the JsonReader was pointing to an instance of it, or null + * if it was pointing to JSON null. * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the AgentIdentifier. + * @throws IOException If an error occurs while reading the OptimizationAgentIdentifier. */ @Generated - public static AgentIdentifier fromJson(JsonReader jsonReader) throws IOException { + public static OptimizationAgentIdentifier fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String agentName = null; String agentVersion = null; @@ -111,9 +111,10 @@ public static AgentIdentifier fromJson(JsonReader jsonReader) throws IOException reader.skipChildren(); } } - AgentIdentifier deserializedAgentIdentifier = new AgentIdentifier(agentName); - deserializedAgentIdentifier.agentVersion = agentVersion; - return deserializedAgentIdentifier; + OptimizationAgentIdentifier deserializedOptimizationAgentIdentifier + = new OptimizationAgentIdentifier(agentName); + deserializedOptimizationAgentIdentifier.agentVersion = agentVersion; + return deserializedOptimizationAgentIdentifier; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java index 4c5f2c014113..34ccfad8ad25 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java @@ -12,14 +12,13 @@ import com.azure.json.JsonToken; import com.azure.json.JsonWriter; import java.io.IOException; -import java.util.List; import java.util.Map; /** * Aggregated evaluation result for a single candidate agent configuration across all tasks. */ @Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationCandidate implements JsonSerializable { /* @@ -34,35 +33,11 @@ public final class OptimizationCandidate implements JsonSerializable mutations; - - /* - * Fraction of tasks that met the pass threshold. - */ - @Generated - private final double passRate; - - /* - * Individual task-level scores. - */ - @Generated - private final List taskScores; - - /* - * Whether this candidate is on the Pareto frontier (score vs cost). - */ - @Generated - private final boolean isParetoOptimal; + private Map mutations; /** * Get the candidateId property: Server-assigned candidate identifier. Use with GET /candidates/{id} sub-endpoints. @@ -84,16 +59,6 @@ public String getName() { return this.name; } - /** - * Get the config property: The agent configuration that produced this candidate. - * - * @return the config value. - */ - @Generated - public OptimizationAgentDefinition getConfig() { - return this.config; - } - /** * Get the mutations property: What was mutated from the baseline (e.g., {system_prompt: 'new prompt'}). * @@ -104,36 +69,6 @@ public Map getMutations() { return this.mutations; } - /** - * Get the passRate property: Fraction of tasks that met the pass threshold. - * - * @return the passRate value. - */ - @Generated - public double getPassRate() { - return this.passRate; - } - - /** - * Get the taskScores property: Individual task-level scores. - * - * @return the taskScores value. - */ - @Generated - public List getTaskScores() { - return this.taskScores; - } - - /** - * Get the isParetoOptimal property: Whether this candidate is on the Pareto frontier (score vs cost). - * - * @return the isParetoOptimal value. - */ - @Generated - public boolean isParetoOptimal() { - return this.isParetoOptimal; - } - /** * {@inheritDoc} */ @@ -142,7 +77,9 @@ public boolean isParetoOptimal() { public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeStringField("name", this.name); - jsonWriter.writeJsonField("config", this.config); + jsonWriter.writeDoubleField("avg_score", this.averageScore); + jsonWriter.writeDoubleField("avg_tokens", this.averageTokens); + jsonWriter.writeStringField("candidate_id", this.candidateId); jsonWriter.writeMapField("mutations", this.mutations, (writer, element) -> { if (element == null) { writer.writeNull(); @@ -150,12 +87,6 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { element.writeTo(writer); } }); - jsonWriter.writeDoubleField("avg_score", this.averageScore); - jsonWriter.writeDoubleField("avg_tokens", this.averageTokens); - jsonWriter.writeDoubleField("pass_rate", this.passRate); - jsonWriter.writeArrayField("task_scores", this.taskScores, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeBooleanField("is_pareto_optimal", this.isParetoOptimal); - jsonWriter.writeStringField("candidate_id", this.candidateId); jsonWriter.writeStringField("eval_id", this.evaluationId); jsonWriter.writeStringField("eval_run_id", this.evaluationRunId); jsonWriter.writeJsonField("promotion", this.promotion); @@ -175,14 +106,10 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String name = null; - OptimizationAgentDefinition config = null; - Map mutations = null; double averageScore = 0.0; double averageTokens = 0.0; - double passRate = 0.0; - List taskScores = null; - boolean isParetoOptimal = false; String candidateId = null; + Map mutations = null; String evaluationId = null; String evaluationRunId = null; PromotionInfo promotion = null; @@ -191,23 +118,15 @@ public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOExc reader.nextToken(); if ("name".equals(fieldName)) { name = reader.getString(); - } else if ("config".equals(fieldName)) { - config = OptimizationAgentDefinition.fromJson(reader); - } else if ("mutations".equals(fieldName)) { - mutations = reader.readMap(reader1 -> reader1 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); } else if ("avg_score".equals(fieldName)) { averageScore = reader.getDouble(); } else if ("avg_tokens".equals(fieldName)) { averageTokens = reader.getDouble(); - } else if ("pass_rate".equals(fieldName)) { - passRate = reader.getDouble(); - } else if ("task_scores".equals(fieldName)) { - taskScores = reader.readArray(reader1 -> OptimizationTaskResult.fromJson(reader1)); - } else if ("is_pareto_optimal".equals(fieldName)) { - isParetoOptimal = reader.getBoolean(); } else if ("candidate_id".equals(fieldName)) { candidateId = reader.getString(); + } else if ("mutations".equals(fieldName)) { + mutations = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); } else if ("eval_id".equals(fieldName)) { evaluationId = reader.getString(); } else if ("eval_run_id".equals(fieldName)) { @@ -218,9 +137,10 @@ public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOExc reader.skipChildren(); } } - OptimizationCandidate deserializedOptimizationCandidate = new OptimizationCandidate(name, config, mutations, - averageScore, averageTokens, passRate, taskScores, isParetoOptimal); + OptimizationCandidate deserializedOptimizationCandidate + = new OptimizationCandidate(name, averageScore, averageTokens); deserializedOptimizationCandidate.candidateId = candidateId; + deserializedOptimizationCandidate.mutations = mutations; deserializedOptimizationCandidate.evaluationId = evaluationId; deserializedOptimizationCandidate.evaluationRunId = evaluationRunId; deserializedOptimizationCandidate.promotion = promotion; @@ -234,32 +154,6 @@ public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOExc @Generated private PromotionInfo promotion; - /** - * Creates an instance of OptimizationCandidate class. - * - * @param name the name value to set. - * @param config the config value to set. - * @param mutations the mutations value to set. - * @param averageScore the averageScore value to set. - * @param averageTokens the averageTokens value to set. - * @param passRate the passRate value to set. - * @param taskScores the taskScores value to set. - * @param isParetoOptimal the isParetoOptimal value to set. - */ - @Generated - private OptimizationCandidate(String name, OptimizationAgentDefinition config, Map mutations, - double averageScore, double averageTokens, double passRate, List taskScores, - boolean isParetoOptimal) { - this.name = name; - this.config = config; - this.mutations = mutations; - this.averageScore = averageScore; - this.averageTokens = averageTokens; - this.passRate = passRate; - this.taskScores = taskScores; - this.isParetoOptimal = isParetoOptimal; - } - /** * Get the promotion property: Promotion metadata. Null if the candidate has not been promoted. * @@ -333,4 +227,18 @@ public String getEvaluationId() { public String getEvaluationRunId() { return this.evaluationRunId; } + + /** + * Creates an instance of OptimizationCandidate class. + * + * @param name the name value to set. + * @param averageScore the averageScore value to set. + * @param averageTokens the averageTokens value to set. + */ + @Generated + private OptimizationCandidate(String name, double averageScore, double averageTokens) { + this.name = name; + this.averageScore = averageScore; + this.averageTokens = averageTokens; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetCriterion.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetCriterion.java new file mode 100644 index 000000000000..d9725830f414 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetCriterion.java @@ -0,0 +1,106 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Evaluation criterion: a name + instruction pair used for per-item scoring. + */ +@Immutable +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationDatasetCriterion implements JsonSerializable { + + /* + * Criterion name. + */ + @Generated + private final String name; + + /* + * Criterion instruction / description. + */ + @Generated + private final String instruction; + + /** + * Creates an instance of OptimizationDatasetCriterion class. + * + * @param name the name value to set. + * @param instruction the instruction value to set. + */ + @Generated + public OptimizationDatasetCriterion(String name, String instruction) { + this.name = name; + this.instruction = instruction; + } + + /** + * Get the name property: Criterion name. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the instruction property: Criterion instruction / description. + * + * @return the instruction value. + */ + @Generated + public String getInstruction() { + return this.instruction; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("instruction", this.instruction); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationDatasetCriterion from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationDatasetCriterion if the JsonReader was pointing to an instance of it, or null + * if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OptimizationDatasetCriterion. + */ + @Generated + public static OptimizationDatasetCriterion fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String instruction = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("instruction".equals(fieldName)) { + instruction = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new OptimizationDatasetCriterion(name, instruction); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInput.java new file mode 100644 index 000000000000..412f9ede937e --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInput.java @@ -0,0 +1,110 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Base discriminated model for dataset input. Either inline items or a registered reference. + */ +@Immutable +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public class OptimizationDatasetInput implements JsonSerializable { + + /* + * Dataset input type discriminator. + */ + @Generated + private OptimizationDatasetInputType type = OptimizationDatasetInputType.fromString("OptimizationDatasetInput"); + + /** + * Creates an instance of OptimizationDatasetInput class. + */ + @Generated + public OptimizationDatasetInput() { + } + + /** + * Get the type property: Dataset input type discriminator. + * + * @return the type value. + */ + @Generated + public OptimizationDatasetInputType getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationDatasetInput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationDatasetInput if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. + * @throws IOException If an error occurs while reading the OptimizationDatasetInput. + */ + @Generated + public static OptimizationDatasetInput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String discriminatorValue = null; + try (JsonReader readerToUse = reader.bufferObject()) { + // Prepare for reading + readerToUse.nextToken(); + while (readerToUse.nextToken() != JsonToken.END_OBJECT) { + String fieldName = readerToUse.getFieldName(); + readerToUse.nextToken(); + if ("type".equals(fieldName)) { + discriminatorValue = readerToUse.getString(); + break; + } else { + readerToUse.skipChildren(); + } + } + // Use the discriminator value to determine which subtype should be deserialized. + if ("inline".equals(discriminatorValue)) { + return OptimizationInlineDatasetInput.fromJson(readerToUse.reset()); + } else if ("reference".equals(discriminatorValue)) { + return OptimizationReferenceDatasetInput.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static OptimizationDatasetInput fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OptimizationDatasetInput deserializedOptimizationDatasetInput = new OptimizationDatasetInput(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedOptimizationDatasetInput.type + = OptimizationDatasetInputType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedOptimizationDatasetInput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInputType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInputType.java new file mode 100644 index 000000000000..6c635a423f96 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetInputType.java @@ -0,0 +1,57 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.util.ExpandableStringEnum; +import java.util.Collection; + +/** + * Discriminator values for the dataset input union. + */ +public final class OptimizationDatasetInputType extends ExpandableStringEnum { + + /** + * Inline dataset — items are provided directly in the request body. + */ + @Generated + public static final OptimizationDatasetInputType INLINE = fromString("inline"); + + /** + * Reference to a registered Foundry dataset by name and version. + */ + @Generated + public static final OptimizationDatasetInputType REFERENCE = fromString("reference"); + + /** + * Creates a new instance of OptimizationDatasetInputType value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public OptimizationDatasetInputType() { + } + + /** + * Creates or finds a OptimizationDatasetInputType from its string representation. + * + * @param name a name to look for. + * @return the corresponding OptimizationDatasetInputType. + */ + @Generated + public static OptimizationDatasetInputType fromString(String name) { + return fromString(name, OptimizationDatasetInputType.class); + } + + /** + * Gets known OptimizationDatasetInputType values. + * + * @return known OptimizationDatasetInputType values. + */ + @Generated + public static Collection values() { + return values(OptimizationDatasetInputType.class); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetItem.java new file mode 100644 index 000000000000..9b74db6783bf --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationDatasetItem.java @@ -0,0 +1,188 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * A single item in an inline dataset. + */ +@Fluent +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationDatasetItem implements JsonSerializable { + + /* + * The user query / prompt. + */ + @Generated + private String query; + + /* + * Expected ground truth answer. + */ + @Generated + private String groundTruth; + + /* + * Desired number of conversation turns for simulation mode (1-20). + */ + @Generated + private Integer desiredNumTurns; + + /* + * Per-item evaluation criteria. + */ + @Generated + private List criteria; + + /** + * Creates an instance of OptimizationDatasetItem class. + */ + @Generated + public OptimizationDatasetItem() { + } + + /** + * Get the query property: The user query / prompt. + * + * @return the query value. + */ + @Generated + public String getQuery() { + return this.query; + } + + /** + * Set the query property: The user query / prompt. + * + * @param query the query value to set. + * @return the OptimizationDatasetItem object itself. + */ + @Generated + public OptimizationDatasetItem setQuery(String query) { + this.query = query; + return this; + } + + /** + * Get the groundTruth property: Expected ground truth answer. + * + * @return the groundTruth value. + */ + @Generated + public String getGroundTruth() { + return this.groundTruth; + } + + /** + * Set the groundTruth property: Expected ground truth answer. + * + * @param groundTruth the groundTruth value to set. + * @return the OptimizationDatasetItem object itself. + */ + @Generated + public OptimizationDatasetItem setGroundTruth(String groundTruth) { + this.groundTruth = groundTruth; + return this; + } + + /** + * Get the desiredNumTurns property: Desired number of conversation turns for simulation mode (1-20). + * + * @return the desiredNumTurns value. + */ + @Generated + public Integer getDesiredNumTurns() { + return this.desiredNumTurns; + } + + /** + * Set the desiredNumTurns property: Desired number of conversation turns for simulation mode (1-20). + * + * @param desiredNumTurns the desiredNumTurns value to set. + * @return the OptimizationDatasetItem object itself. + */ + @Generated + public OptimizationDatasetItem setDesiredNumTurns(Integer desiredNumTurns) { + this.desiredNumTurns = desiredNumTurns; + return this; + } + + /** + * Get the criteria property: Per-item evaluation criteria. + * + * @return the criteria value. + */ + @Generated + public List getCriteria() { + return this.criteria; + } + + /** + * Set the criteria property: Per-item evaluation criteria. + * + * @param criteria the criteria value to set. + * @return the OptimizationDatasetItem object itself. + */ + @Generated + public OptimizationDatasetItem setCriteria(List criteria) { + this.criteria = criteria; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("query", this.query); + jsonWriter.writeStringField("ground_truth", this.groundTruth); + jsonWriter.writeNumberField("desired_num_turns", this.desiredNumTurns); + jsonWriter.writeArrayField("criteria", this.criteria, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationDatasetItem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationDatasetItem if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IOException If an error occurs while reading the OptimizationDatasetItem. + */ + @Generated + public static OptimizationDatasetItem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OptimizationDatasetItem deserializedOptimizationDatasetItem = new OptimizationDatasetItem(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("query".equals(fieldName)) { + deserializedOptimizationDatasetItem.query = reader.getString(); + } else if ("ground_truth".equals(fieldName)) { + deserializedOptimizationDatasetItem.groundTruth = reader.getString(); + } else if ("desired_num_turns".equals(fieldName)) { + deserializedOptimizationDatasetItem.desiredNumTurns = reader.getNullable(JsonReader::getInt); + } else if ("criteria".equals(fieldName)) { + List criteria + = reader.readArray(reader1 -> OptimizationDatasetCriterion.fromJson(reader1)); + deserializedOptimizationDatasetItem.criteria = criteria; + } else { + reader.skipChildren(); + } + } + return deserializedOptimizationDatasetItem; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetRef.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationEvaluatorRef.java similarity index 63% rename from sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetRef.java rename to sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationEvaluatorRef.java index e12d4ac3e087..6d7f737b8509 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetRef.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationEvaluatorRef.java @@ -13,36 +13,36 @@ import java.io.IOException; /** - * Reference to a registered dataset in the Foundry Dataset Service. + * Reference to a named evaluator, optionally pinned to a version. */ @Fluent -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class DatasetRef implements JsonSerializable { +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationEvaluatorRef implements JsonSerializable { /* - * Dataset name. + * Evaluator name. */ @Generated private final String name; /* - * Dataset version. If not specified, the latest version is used. + * Evaluator version. If not specified, the latest version is used. */ @Generated private String version; /** - * Creates an instance of DatasetRef class. + * Creates an instance of OptimizationEvaluatorRef class. * * @param name the name value to set. */ @Generated - public DatasetRef(String name) { + public OptimizationEvaluatorRef(String name) { this.name = name; } /** - * Get the name property: Dataset name. + * Get the name property: Evaluator name. * * @return the name value. */ @@ -52,7 +52,7 @@ public String getName() { } /** - * Get the version property: Dataset version. If not specified, the latest version is used. + * Get the version property: Evaluator version. If not specified, the latest version is used. * * @return the version value. */ @@ -62,13 +62,13 @@ public String getVersion() { } /** - * Set the version property: Dataset version. If not specified, the latest version is used. + * Set the version property: Evaluator version. If not specified, the latest version is used. * * @param version the version value to set. - * @return the DatasetRef object itself. + * @return the OptimizationEvaluatorRef object itself. */ @Generated - public DatasetRef setVersion(String version) { + public OptimizationEvaluatorRef setVersion(String version) { this.version = version; return this; } @@ -86,16 +86,16 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { } /** - * Reads an instance of DatasetRef from the JsonReader. + * Reads an instance of OptimizationEvaluatorRef from the JsonReader. * * @param jsonReader The JsonReader being read. - * @return An instance of DatasetRef if the JsonReader was pointing to an instance of it, or null if it was pointing - * to JSON null. + * @return An instance of OptimizationEvaluatorRef if the JsonReader was pointing to an instance of it, or null if + * it was pointing to JSON null. * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the DatasetRef. + * @throws IOException If an error occurs while reading the OptimizationEvaluatorRef. */ @Generated - public static DatasetRef fromJson(JsonReader jsonReader) throws IOException { + public static OptimizationEvaluatorRef fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { String name = null; String version = null; @@ -110,9 +110,9 @@ public static DatasetRef fromJson(JsonReader jsonReader) throws IOException { reader.skipChildren(); } } - DatasetRef deserializedDatasetRef = new DatasetRef(name); - deserializedDatasetRef.version = version; - return deserializedDatasetRef; + OptimizationEvaluatorRef deserializedOptimizationEvaluatorRef = new OptimizationEvaluatorRef(name); + deserializedOptimizationEvaluatorRef.version = version; + return deserializedOptimizationEvaluatorRef; }); } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationInlineDatasetInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationInlineDatasetInput.java new file mode 100644 index 000000000000..fcc5073ea059 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationInlineDatasetInput.java @@ -0,0 +1,108 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; + +/** + * Inline dataset — items supplied directly in the request body. + */ +@Immutable +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationInlineDatasetInput extends OptimizationDatasetInput { + + /* + * Dataset input type discriminator. + */ + @Generated + private OptimizationDatasetInputType type = OptimizationDatasetInputType.INLINE; + + /* + * Dataset items. + */ + @Generated + private final List items; + + /** + * Creates an instance of OptimizationInlineDatasetInput class. + * + * @param items the items value to set. + */ + @Generated + public OptimizationInlineDatasetInput(List items) { + this.items = items; + } + + /** + * Get the type property: Dataset input type discriminator. + * + * @return the type value. + */ + @Generated + @Override + public OptimizationDatasetInputType getType() { + return this.type; + } + + /** + * Get the items property: Dataset items. + * + * @return the items value. + */ + @Generated + public List getItems() { + return this.items; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeArrayField("items", this.items, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationInlineDatasetInput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationInlineDatasetInput if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OptimizationInlineDatasetInput. + */ + @Generated + public static OptimizationInlineDatasetInput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + List items = null; + OptimizationDatasetInputType type = OptimizationDatasetInputType.INLINE; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("items".equals(fieldName)) { + items = reader.readArray(reader1 -> OptimizationDatasetItem.fromJson(reader1)); + } else if ("type".equals(fieldName)) { + type = OptimizationDatasetInputType.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + OptimizationInlineDatasetInput deserializedOptimizationInlineDatasetInput + = new OptimizationInlineDatasetInput(items); + deserializedOptimizationInlineDatasetInput.type = type; + return deserializedOptimizationInlineDatasetInput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJob.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJob.java index ca74874b744f..ec4c671370be 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJob.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJob.java @@ -4,8 +4,8 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; import com.azure.json.JsonSerializable; import com.azure.json.JsonToken; @@ -14,13 +14,14 @@ import java.time.Instant; import java.time.OffsetDateTime; import java.time.ZoneOffset; +import java.util.List; /** * Agent optimization job resource — a long-running job that optimizes an agent's configuration (instructions, model, * skills, tools) to maximize evaluation scores. On success, the result contains scored candidates. */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Fluent +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationJob implements JsonSerializable { /* @@ -60,13 +61,13 @@ public final class OptimizationJob implements JsonSerializable private long createdAt; /* - * The timestamp when the job was last updated (status, progress, or result change), represented in Unix time. + * The timestamp when the job was last updated, represented in Unix time. */ @Generated - private Long updatedAt; + private long updatedAt; /* - * Progress while in flight. Absent in terminal states. + * Progress snapshot. May be present in terminal states reflecting last-known progress. */ @Generated private OptimizationJobProgress progress; @@ -75,7 +76,7 @@ public final class OptimizationJob implements JsonSerializable * Creates an instance of OptimizationJob class. */ @Generated - private OptimizationJob() { + public OptimizationJob() { } /** @@ -139,21 +140,17 @@ public OffsetDateTime getCreatedAt() { } /** - * Get the updatedAt property: The timestamp when the job was last updated (status, progress, or result change), - * represented in Unix time. + * Get the updatedAt property: The timestamp when the job was last updated, represented in Unix time. * * @return the updatedAt value. */ @Generated public OffsetDateTime getUpdatedAt() { - if (this.updatedAt == null) { - return null; - } return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); } /** - * Get the progress property: Progress while in flight. Absent in terminal states. + * Get the progress property: Progress snapshot. May be present in terminal states reflecting last-known progress. * * @return the progress value. */ @@ -195,18 +192,19 @@ public static OptimizationJob fromJson(JsonReader jsonReader) throws IOException deserializedOptimizationJob.status = JobStatus.fromString(reader.getString()); } else if ("created_at".equals(fieldName)) { deserializedOptimizationJob.createdAt = reader.getLong(); - } else if ("error".equals(fieldName)) { - deserializedOptimizationJob.error = ApiError.fromJson(reader); - } else if ("result".equals(fieldName)) { - deserializedOptimizationJob.result = OptimizationJobResult.fromJson(reader); + } else if ("updated_at".equals(fieldName)) { + deserializedOptimizationJob.updatedAt = reader.getLong(); } else if ("inputs".equals(fieldName)) { deserializedOptimizationJob.inputs = OptimizationJobInputs.fromJson(reader); - } else if ("updated_at".equals(fieldName)) { - deserializedOptimizationJob.updatedAt = reader.getNullable(JsonReader::getLong); + } else if ("result".equals(fieldName)) { + deserializedOptimizationJob.result = OptimizationJobResult.fromJson(reader); + } else if ("error".equals(fieldName)) { + deserializedOptimizationJob.error = ApiError.fromJson(reader); } else if ("progress".equals(fieldName)) { deserializedOptimizationJob.progress = OptimizationJobProgress.fromJson(reader); - } else if ("dataset".equals(fieldName)) { - deserializedOptimizationJob.dataset = DatasetInfo.fromJson(reader); + } else if ("warnings".equals(fieldName)) { + List warnings = reader.readArray(reader1 -> reader1.getString()); + deserializedOptimizationJob.warnings = warnings; } else { reader.skipChildren(); } @@ -216,18 +214,30 @@ public static OptimizationJob fromJson(JsonReader jsonReader) throws IOException } /* - * Metadata about the dataset used for this optimization job. + * Non-fatal warnings emitted at any point during optimization. + */ + @Generated + private List warnings; + + /** + * Set the inputs property: Caller-supplied inputs. + * + * @param inputs the inputs value to set. + * @return the OptimizationJob object itself. */ @Generated - private DatasetInfo dataset; + public OptimizationJob setInputs(OptimizationJobInputs inputs) { + this.inputs = inputs; + return this; + } /** - * Get the dataset property: Metadata about the dataset used for this optimization job. + * Get the warnings property: Non-fatal warnings emitted at any point during optimization. * - * @return the dataset value. + * @return the warnings value. */ @Generated - public DatasetInfo getDataset() { - return this.dataset; + public List getWarnings() { + return this.warnings; } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java index ae77010a274c..587c18b622bb 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java @@ -17,32 +17,20 @@ * Caller-supplied inputs for an optimization job. */ @Fluent -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationJobInputs implements JsonSerializable { /* * The agent (and pinned version) being optimized. */ @Generated - private final AgentIdentifier agent; + private final OptimizationAgentIdentifier agent; /* - * Reference to a registered training dataset (required). + * Job-level evaluators referenced by name and optional version. Required; at least one must be provided. */ @Generated - private final DatasetRef trainDatasetReference; - - /* - * Optional held-out validation dataset for measuring generalization of the final candidate. - */ - @Generated - private DatasetRef validationDatasetReference; - - /* - * Job-level evaluators (referenced by name). Per-task criteria may override. Default: ['task_adherence']. - */ - @Generated - private List evaluators; + private final List evaluators; /* * Tuning knobs and run-mode. @@ -56,68 +44,21 @@ public final class OptimizationJobInputs implements JsonSerializable getEvaluators() { + public List getEvaluators() { return this.evaluators; } - /** - * Set the evaluators property: Job-level evaluators (referenced by name). Per-task criteria may override. Default: - * ['task_adherence']. - * - * @param evaluators the evaluators value to set. - * @return the OptimizationJobInputs object itself. - */ - @Generated - public OptimizationJobInputs setEvaluators(List evaluators) { - this.evaluators = evaluators; - return this; - } - /** * Get the options property: Tuning knobs and run-mode. * @@ -148,9 +89,9 @@ public OptimizationJobInputs setOptions(OptimizationOptions options) { public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeJsonField("agent", this.agent); - jsonWriter.writeJsonField("train_dataset_reference", this.trainDatasetReference); - jsonWriter.writeJsonField("validation_dataset_reference", this.validationDatasetReference); - jsonWriter.writeArrayField("evaluators", this.evaluators, (writer, element) -> writer.writeString(element)); + jsonWriter.writeJsonField("train_dataset", this.trainDataset); + jsonWriter.writeArrayField("evaluators", this.evaluators, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeJsonField("validation_dataset", this.validationDataset); jsonWriter.writeJsonField("options", this.options); return jsonWriter.writeEndObject(); } @@ -167,22 +108,22 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { @Generated public static OptimizationJobInputs fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - AgentIdentifier agent = null; - DatasetRef trainDatasetReference = null; - DatasetRef validationDatasetReference = null; - List evaluators = null; + OptimizationAgentIdentifier agent = null; + OptimizationDatasetInput trainDataset = null; + List evaluators = null; + OptimizationDatasetInput validationDataset = null; OptimizationOptions options = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("agent".equals(fieldName)) { - agent = AgentIdentifier.fromJson(reader); - } else if ("train_dataset_reference".equals(fieldName)) { - trainDatasetReference = DatasetRef.fromJson(reader); - } else if ("validation_dataset_reference".equals(fieldName)) { - validationDatasetReference = DatasetRef.fromJson(reader); + agent = OptimizationAgentIdentifier.fromJson(reader); + } else if ("train_dataset".equals(fieldName)) { + trainDataset = OptimizationDatasetInput.fromJson(reader); } else if ("evaluators".equals(fieldName)) { - evaluators = reader.readArray(reader1 -> reader1.getString()); + evaluators = reader.readArray(reader1 -> OptimizationEvaluatorRef.fromJson(reader1)); + } else if ("validation_dataset".equals(fieldName)) { + validationDataset = OptimizationDatasetInput.fromJson(reader); } else if ("options".equals(fieldName)) { options = OptimizationOptions.fromJson(reader); } else { @@ -190,23 +131,72 @@ public static OptimizationJobInputs fromJson(JsonReader jsonReader) throws IOExc } } OptimizationJobInputs deserializedOptimizationJobInputs - = new OptimizationJobInputs(agent, trainDatasetReference); - deserializedOptimizationJobInputs.validationDatasetReference = validationDatasetReference; - deserializedOptimizationJobInputs.evaluators = evaluators; + = new OptimizationJobInputs(agent, trainDataset, evaluators); + deserializedOptimizationJobInputs.validationDataset = validationDataset; deserializedOptimizationJobInputs.options = options; return deserializedOptimizationJobInputs; }); } + /* + * Training dataset — either inline items or a reference to a registered dataset. Required. + */ + @Generated + private final OptimizationDatasetInput trainDataset; + + /* + * Optional held-out validation dataset for measuring generalization of the final candidate. + */ + @Generated + private OptimizationDatasetInput validationDataset; + /** * Creates an instance of OptimizationJobInputs class. * * @param agent the agent value to set. - * @param trainDatasetReference the trainDatasetReference value to set. + * @param trainDataset the trainDataset value to set. + * @param evaluators the evaluators value to set. */ @Generated - public OptimizationJobInputs(AgentIdentifier agent, DatasetRef trainDatasetReference) { + public OptimizationJobInputs(OptimizationAgentIdentifier agent, OptimizationDatasetInput trainDataset, + List evaluators) { this.agent = agent; - this.trainDatasetReference = trainDatasetReference; + this.trainDataset = trainDataset; + this.evaluators = evaluators; + } + + /** + * Get the trainDataset property: Training dataset — either inline items or a reference to a registered dataset. + * Required. + * + * @return the trainDataset value. + */ + @Generated + public OptimizationDatasetInput getTrainDataset() { + return this.trainDataset; + } + + /** + * Get the validationDataset property: Optional held-out validation dataset for measuring generalization of the + * final candidate. + * + * @return the validationDataset value. + */ + @Generated + public OptimizationDatasetInput getValidationDataset() { + return this.validationDataset; + } + + /** + * Set the validationDataset property: Optional held-out validation dataset for measuring generalization of the + * final candidate. + * + * @param validationDataset the validationDataset value to set. + * @return the OptimizationJobInputs object itself. + */ + @Generated + public OptimizationJobInputs setValidationDataset(OptimizationDatasetInput validationDataset) { + this.validationDataset = validationDataset; + return this; } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobListItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobListItem.java new file mode 100644 index 000000000000..32711d29c292 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobListItem.java @@ -0,0 +1,191 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * Slim job representation returned by the LIST endpoint. + */ +@Immutable +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationJobListItem implements JsonSerializable { + + /* + * Server-assigned unique identifier. + */ + @Generated + private String id; + + /* + * Current lifecycle status. + */ + @Generated + private JobStatus status; + + /* + * Error details — populated only on failure. + */ + @Generated + private ApiError error; + + /* + * The timestamp when the job was created, represented in Unix time. + */ + @Generated + private long createdAt; + + /* + * The timestamp when the job was last updated, represented in Unix time. + */ + @Generated + private long updatedAt; + + /* + * Progress snapshot. May be present in terminal states reflecting last-known progress. + */ + @Generated + private OptimizationJobProgress progress; + + /* + * The agent targeted by this optimization job. + */ + @Generated + private OptimizationAgentIdentifier agent; + + /** + * Creates an instance of OptimizationJobListItem class. + */ + @Generated + private OptimizationJobListItem() { + } + + /** + * Get the id property: Server-assigned unique identifier. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the status property: Current lifecycle status. + * + * @return the status value. + */ + @Generated + public JobStatus getStatus() { + return this.status; + } + + /** + * Get the error property: Error details — populated only on failure. + * + * @return the error value. + */ + @Generated + public ApiError getError() { + return this.error; + } + + /** + * Get the createdAt property: The timestamp when the job was created, represented in Unix time. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the updatedAt property: The timestamp when the job was last updated, represented in Unix time. + * + * @return the updatedAt value. + */ + @Generated + public OffsetDateTime getUpdatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.updatedAt), ZoneOffset.UTC); + } + + /** + * Get the progress property: Progress snapshot. May be present in terminal states reflecting last-known progress. + * + * @return the progress value. + */ + @Generated + public OptimizationJobProgress getProgress() { + return this.progress; + } + + /** + * Get the agent property: The agent targeted by this optimization job. + * + * @return the agent value. + */ + @Generated + public OptimizationAgentIdentifier getAgent() { + return this.agent; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationJobListItem from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationJobListItem if the JsonReader was pointing to an instance of it, or null if it + * was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OptimizationJobListItem. + */ + @Generated + public static OptimizationJobListItem fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OptimizationJobListItem deserializedOptimizationJobListItem = new OptimizationJobListItem(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("id".equals(fieldName)) { + deserializedOptimizationJobListItem.id = reader.getString(); + } else if ("status".equals(fieldName)) { + deserializedOptimizationJobListItem.status = JobStatus.fromString(reader.getString()); + } else if ("created_at".equals(fieldName)) { + deserializedOptimizationJobListItem.createdAt = reader.getLong(); + } else if ("updated_at".equals(fieldName)) { + deserializedOptimizationJobListItem.updatedAt = reader.getLong(); + } else if ("error".equals(fieldName)) { + deserializedOptimizationJobListItem.error = ApiError.fromJson(reader); + } else if ("progress".equals(fieldName)) { + deserializedOptimizationJobListItem.progress = OptimizationJobProgress.fromJson(reader); + } else if ("agent".equals(fieldName)) { + deserializedOptimizationJobListItem.agent = OptimizationAgentIdentifier.fromJson(reader); + } else { + reader.skipChildren(); + } + } + return deserializedOptimizationJobListItem; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java index 42d9a3083574..21c10d11dc91 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java @@ -16,15 +16,9 @@ * In-flight progress; only populated while status is queued or in_progress. */ @Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationJobProgress implements JsonSerializable { - /* - * 1-based current iteration index. - */ - @Generated - private final int currentIteration; - /* * Best score observed so far across all candidates. */ @@ -37,16 +31,6 @@ public final class OptimizationJobProgress implements JsonSerializable { - int currentIteration = 0; + int candidatesCompleted = 0; double bestScore = 0.0; double elapsedSeconds = 0.0; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("current_iteration".equals(fieldName)) { - currentIteration = reader.getInt(); + if ("candidates_completed".equals(fieldName)) { + candidatesCompleted = reader.getInt(); } else if ("best_score".equals(fieldName)) { bestScore = reader.getDouble(); } else if ("elapsed_seconds".equals(fieldName)) { @@ -108,21 +92,37 @@ public static OptimizationJobProgress fromJson(JsonReader jsonReader) throws IOE reader.skipChildren(); } } - return new OptimizationJobProgress(currentIteration, bestScore, elapsedSeconds); + return new OptimizationJobProgress(candidatesCompleted, bestScore, elapsedSeconds); }); } /** * Creates an instance of OptimizationJobProgress class. * - * @param currentIteration the currentIteration value to set. + * @param candidatesCompleted the candidatesCompleted value to set. * @param bestScore the bestScore value to set. * @param elapsedSeconds the elapsedSeconds value to set. */ @Generated - private OptimizationJobProgress(int currentIteration, double bestScore, double elapsedSeconds) { - this.currentIteration = currentIteration; + private OptimizationJobProgress(int candidatesCompleted, double bestScore, double elapsedSeconds) { + this.candidatesCompleted = candidatesCompleted; this.bestScore = bestScore; this.elapsedSeconds = elapsedSeconds; } + + /* + * Number of candidates whose evaluation has completed so far. + */ + @Generated + private final int candidatesCompleted; + + /** + * Get the candidatesCompleted property: Number of candidates whose evaluation has completed so far. + * + * @return the candidatesCompleted value. + */ + @Generated + public int getCandidatesCompleted() { + return this.candidatesCompleted; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java index 78b8eb377459..07ef89b77a4c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java @@ -17,20 +17,20 @@ * Terminal-state result body. Populated when status is succeeded or failed. */ @Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationJobResult implements JsonSerializable { /* - * Evaluation scores for the original (un-optimized) agent configuration. + * Candidate ID of the original (un-optimized) baseline evaluation. */ @Generated - private OptimizationCandidate baseline; + private String baseline; /* - * The highest-scoring candidate found during optimization. + * Candidate ID of the highest-scoring candidate found during optimization. */ @Generated - private OptimizationCandidate best; + private String best; /* * All evaluated candidates including baseline. @@ -38,18 +38,6 @@ public final class OptimizationJobResult implements JsonSerializable candidates; - /* - * The options used for this optimization run. - */ - @Generated - private OptimizationOptions options; - - /* - * Non-fatal warnings from the optimization run (e.g., target attribute failures that were skipped). - */ - @Generated - private List warnings; - /** * Creates an instance of OptimizationJobResult class. */ @@ -58,22 +46,22 @@ private OptimizationJobResult() { } /** - * Get the baseline property: Evaluation scores for the original (un-optimized) agent configuration. + * Get the baseline property: Candidate ID of the original (un-optimized) baseline evaluation. * * @return the baseline value. */ @Generated - public OptimizationCandidate getBaseline() { + public String getBaseline() { return this.baseline; } /** - * Get the best property: The highest-scoring candidate found during optimization. + * Get the best property: Candidate ID of the highest-scoring candidate found during optimization. * * @return the best value. */ @Generated - public OptimizationCandidate getBest() { + public String getBest() { return this.best; } @@ -87,27 +75,6 @@ public List getCandidates() { return this.candidates; } - /** - * Get the options property: The options used for this optimization run. - * - * @return the options value. - */ - @Generated - public OptimizationOptions getOptions() { - return this.options; - } - - /** - * Get the warnings property: Non-fatal warnings from the optimization run (e.g., target attribute failures that - * were skipped). - * - * @return the warnings value. - */ - @Generated - public List getWarnings() { - return this.warnings; - } - /** * {@inheritDoc} */ @@ -115,12 +82,9 @@ public List getWarnings() { @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeJsonField("baseline", this.baseline); - jsonWriter.writeJsonField("best", this.best); + jsonWriter.writeStringField("baseline", this.baseline); + jsonWriter.writeStringField("best", this.best); jsonWriter.writeArrayField("candidates", this.candidates, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeJsonField("options", this.options); - jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeString(element)); - jsonWriter.writeBooleanField("all_target_attributes_failed", this.allTargetAttributesFailed); return jsonWriter.writeEndObject(); } @@ -140,21 +104,13 @@ public static OptimizationJobResult fromJson(JsonReader jsonReader) throws IOExc String fieldName = reader.getFieldName(); reader.nextToken(); if ("baseline".equals(fieldName)) { - deserializedOptimizationJobResult.baseline = OptimizationCandidate.fromJson(reader); + deserializedOptimizationJobResult.baseline = reader.getString(); } else if ("best".equals(fieldName)) { - deserializedOptimizationJobResult.best = OptimizationCandidate.fromJson(reader); + deserializedOptimizationJobResult.best = reader.getString(); } else if ("candidates".equals(fieldName)) { List candidates = reader.readArray(reader1 -> OptimizationCandidate.fromJson(reader1)); deserializedOptimizationJobResult.candidates = candidates; - } else if ("options".equals(fieldName)) { - deserializedOptimizationJobResult.options = OptimizationOptions.fromJson(reader); - } else if ("warnings".equals(fieldName)) { - List warnings = reader.readArray(reader1 -> reader1.getString()); - deserializedOptimizationJobResult.warnings = warnings; - } else if ("all_target_attributes_failed".equals(fieldName)) { - deserializedOptimizationJobResult.allTargetAttributesFailed - = reader.getNullable(JsonReader::getBoolean); } else { reader.skipChildren(); } @@ -162,21 +118,4 @@ public static OptimizationJobResult fromJson(JsonReader jsonReader) throws IOExc return deserializedOptimizationJobResult; }); } - - /* - * True when all target attributes failed — only the baseline was evaluated. - */ - @Generated - private Boolean allTargetAttributesFailed; - - /** - * Get the allTargetAttributesFailed property: True when all target attributes failed — only the baseline was - * evaluated. - * - * @return the allTargetAttributesFailed value. - */ - @Generated - public Boolean isAllTargetAttributesFailed() { - return this.allTargetAttributesFailed; - } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationOptions.java index f5798feaa025..f3bedf521aaf 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationOptions.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationOptions.java @@ -18,15 +18,9 @@ * Tuning knobs and run-mode for an optimization job. */ @Fluent -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class OptimizationOptions implements JsonSerializable { - /* - * Maximum optimization iterations per strategy. Must be >= 1. Default: 5. - */ - @Generated - private Integer maxIterations; - /* * Model deployment used for evaluation. Defaults to server config (typically 'gpt-4o'). */ @@ -40,28 +34,6 @@ public final class OptimizationOptions implements JsonSerializable { if (element == null) { writer.writeNull(); @@ -121,8 +93,8 @@ public static OptimizationOptions fromJson(JsonReader jsonReader) throws IOExcep while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("max_iterations".equals(fieldName)) { - deserializedOptimizationOptions.maxIterations = reader.getNullable(JsonReader::getInt); + if ("max_candidates".equals(fieldName)) { + deserializedOptimizationOptions.maxCandidates = reader.getNullable(JsonReader::getInt); } else if ("optimization_config".equals(fieldName)) { Map optimizationConfig = reader.readMap(reader1 -> reader1 .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); @@ -233,4 +205,34 @@ public OptimizationOptions setEvaluationLevel(EvaluationLevel evaluationLevel) { this.evaluationLevel = evaluationLevel; return this; } + + /* + * Maximum number of optimization candidates to generate. Must be >= 1. Default: 5. + */ + @Generated + private Integer maxCandidates; + + /** + * Get the maxCandidates property: Maximum number of optimization candidates to generate. Must be >= 1. Default: + * 5. + * + * @return the maxCandidates value. + */ + @Generated + public Integer getMaxCandidates() { + return this.maxCandidates; + } + + /** + * Set the maxCandidates property: Maximum number of optimization candidates to generate. Must be >= 1. Default: + * 5. + * + * @param maxCandidates the maxCandidates value to set. + * @return the OptimizationOptions object itself. + */ + @Generated + public OptimizationOptions setMaxCandidates(Integer maxCandidates) { + this.maxCandidates = maxCandidates; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationReferenceDatasetInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationReferenceDatasetInput.java new file mode 100644 index 000000000000..df76d1bd3eaf --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationReferenceDatasetInput.java @@ -0,0 +1,140 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.ai.agents.implementation.utils.Beta; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * Reference to a registered Foundry dataset. + */ +@Fluent +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") +public final class OptimizationReferenceDatasetInput extends OptimizationDatasetInput { + + /* + * Dataset input type discriminator. + */ + @Generated + private OptimizationDatasetInputType type = OptimizationDatasetInputType.REFERENCE; + + /* + * Registered dataset name. + */ + @Generated + private final String name; + + /* + * Dataset version. If not specified, the latest version is used. + */ + @Generated + private String version; + + /** + * Creates an instance of OptimizationReferenceDatasetInput class. + * + * @param name the name value to set. + */ + @Generated + public OptimizationReferenceDatasetInput(String name) { + this.name = name; + } + + /** + * Get the type property: Dataset input type discriminator. + * + * @return the type value. + */ + @Generated + @Override + public OptimizationDatasetInputType getType() { + return this.type; + } + + /** + * Get the name property: Registered dataset name. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the version property: Dataset version. If not specified, the latest version is used. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Set the version property: Dataset version. If not specified, the latest version is used. + * + * @param version the version value to set. + * @return the OptimizationReferenceDatasetInput object itself. + */ + @Generated + public OptimizationReferenceDatasetInput setVersion(String version) { + this.version = version; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("version", this.version); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of OptimizationReferenceDatasetInput from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationReferenceDatasetInput if the JsonReader was pointing to an instance of it, or + * null if it was pointing to JSON null. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the OptimizationReferenceDatasetInput. + */ + @Generated + public static OptimizationReferenceDatasetInput fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + OptimizationDatasetInputType type = OptimizationDatasetInputType.REFERENCE; + String version = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("type".equals(fieldName)) { + type = OptimizationDatasetInputType.fromString(reader.getString()); + } else if ("version".equals(fieldName)) { + version = reader.getString(); + } else { + reader.skipChildren(); + } + } + OptimizationReferenceDatasetInput deserializedOptimizationReferenceDatasetInput + = new OptimizationReferenceDatasetInput(name); + deserializedOptimizationReferenceDatasetInput.type = type; + deserializedOptimizationReferenceDatasetInput.version = version; + return deserializedOptimizationReferenceDatasetInput; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationTaskResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationTaskResult.java deleted file mode 100644 index 3039797ed1d9..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationTaskResult.java +++ /dev/null @@ -1,308 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.time.Duration; -import java.util.Map; - -/** - * Per-task evaluation result for a single candidate. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class OptimizationTaskResult implements JsonSerializable { - - /* - * Task name (from the dataset). - */ - @Generated - private final String taskName; - - /* - * The user query / input for the task. - */ - @Generated - private String query; - - /* - * Per-evaluator scores keyed by evaluator name. - */ - @Generated - private final Map scores; - - /* - * Composite score combining all evaluator scores. - */ - @Generated - private final double compositeScore; - - /* - * Total tokens consumed during the agent run for this task. - */ - @Generated - private final long tokens; - - /* - * Wall-clock seconds for this task's agent execution. - */ - @Generated - private final double durationSeconds; - - /* - * Whether the task met the pass threshold. - */ - @Generated - private final boolean passed; - - /* - * Error message if the task failed during execution. - */ - @Generated - private String errorMessage; - - /* - * Per-evaluator reasoning keyed by evaluator name. - */ - @Generated - private Map rationales; - - /* - * Raw agent response text. - */ - @Generated - private String response; - - /* - * Identifier of the agent run that produced this result. - */ - @Generated - private String runId; - - /** - * Get the taskName property: Task name (from the dataset). - * - * @return the taskName value. - */ - @Generated - public String getTaskName() { - return this.taskName; - } - - /** - * Get the query property: The user query / input for the task. - * - * @return the query value. - */ - @Generated - public String getQuery() { - return this.query; - } - - /** - * Get the scores property: Per-evaluator scores keyed by evaluator name. - * - * @return the scores value. - */ - @Generated - public Map getScores() { - return this.scores; - } - - /** - * Get the compositeScore property: Composite score combining all evaluator scores. - * - * @return the compositeScore value. - */ - @Generated - public double getCompositeScore() { - return this.compositeScore; - } - - /** - * Get the tokens property: Total tokens consumed during the agent run for this task. - * - * @return the tokens value. - */ - @Generated - public long getTokens() { - return this.tokens; - } - - /** - * Get the durationSeconds property: Wall-clock seconds for this task's agent execution. - * - * @return the durationSeconds value. - */ - @Generated - public Duration getDurationSeconds() { - return Duration.ofNanos((long) (this.durationSeconds * 1000_000_000L)); - } - - /** - * Get the passed property: Whether the task met the pass threshold. - * - * @return the passed value. - */ - @Generated - public boolean isPassed() { - return this.passed; - } - - /** - * Get the errorMessage property: Error message if the task failed during execution. - * - * @return the errorMessage value. - */ - @Generated - public String getErrorMessage() { - return this.errorMessage; - } - - /** - * Get the rationales property: Per-evaluator reasoning keyed by evaluator name. - * - * @return the rationales value. - */ - @Generated - public Map getRationales() { - return this.rationales; - } - - /** - * Get the response property: Raw agent response text. - * - * @return the response value. - */ - @Generated - public String getResponse() { - return this.response; - } - - /** - * Get the runId property: Identifier of the agent run that produced this result. - * - * @return the runId value. - */ - @Generated - public String getRunId() { - return this.runId; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("task_name", this.taskName); - jsonWriter.writeMapField("scores", this.scores, (writer, element) -> writer.writeDouble(element)); - jsonWriter.writeDoubleField("composite_score", this.compositeScore); - jsonWriter.writeLongField("tokens", this.tokens); - jsonWriter.writeDoubleField("duration_seconds", this.durationSeconds); - jsonWriter.writeBooleanField("passed", this.passed); - jsonWriter.writeStringField("query", this.query); - jsonWriter.writeStringField("error_message", this.errorMessage); - jsonWriter.writeMapField("rationales", this.rationales, (writer, element) -> writer.writeString(element)); - jsonWriter.writeStringField("response", this.response); - jsonWriter.writeStringField("run_id", this.runId); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of OptimizationTaskResult from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of OptimizationTaskResult if the JsonReader was pointing to an instance of it, or null if it - * was pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the OptimizationTaskResult. - */ - @Generated - public static OptimizationTaskResult fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String taskName = null; - Map scores = null; - double compositeScore = 0.0; - long tokens = 0L; - Duration durationSeconds = null; - boolean passed = false; - String query = null; - String errorMessage = null; - Map rationales = null; - String response = null; - String runId = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("task_name".equals(fieldName)) { - taskName = reader.getString(); - } else if ("scores".equals(fieldName)) { - scores = reader.readMap(reader1 -> reader1.getDouble()); - } else if ("composite_score".equals(fieldName)) { - compositeScore = reader.getDouble(); - } else if ("tokens".equals(fieldName)) { - tokens = reader.getLong(); - } else if ("duration_seconds".equals(fieldName)) { - durationSeconds = Duration.ofNanos((long) (reader.getDouble() * 1000_000_000L)); - } else if ("passed".equals(fieldName)) { - passed = reader.getBoolean(); - } else if ("query".equals(fieldName)) { - query = reader.getString(); - } else if ("error_message".equals(fieldName)) { - errorMessage = reader.getString(); - } else if ("rationales".equals(fieldName)) { - rationales = reader.readMap(reader1 -> reader1.getString()); - } else if ("response".equals(fieldName)) { - response = reader.getString(); - } else if ("run_id".equals(fieldName)) { - runId = reader.getString(); - } else { - reader.skipChildren(); - } - } - OptimizationTaskResult deserializedOptimizationTaskResult - = new OptimizationTaskResult(taskName, scores, compositeScore, tokens, durationSeconds, passed); - deserializedOptimizationTaskResult.query = query; - deserializedOptimizationTaskResult.errorMessage = errorMessage; - deserializedOptimizationTaskResult.rationales = rationales; - deserializedOptimizationTaskResult.response = response; - deserializedOptimizationTaskResult.runId = runId; - return deserializedOptimizationTaskResult; - }); - } - - /** - * Creates an instance of OptimizationTaskResult class. - * - * @param taskName the taskName value to set. - * @param scores the scores value to set. - * @param compositeScore the compositeScore value to set. - * @param tokens the tokens value to set. - * @param durationSeconds the durationSeconds value to set. - * @param passed the passed value to set. - */ - @Generated - private OptimizationTaskResult(String taskName, Map scores, double compositeScore, long tokens, - Duration durationSeconds, boolean passed) { - this.taskName = taskName; - this.scores = scores; - this.compositeScore = compositeScore; - this.tokens = tokens; - if (durationSeconds == null) { - this.durationSeconds = 0.0; - } else { - this.durationSeconds = (double) durationSeconds.toNanos() / 1000_000_000L; - } - this.passed = passed; - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java index 243224b111f6..9e4d5b2c8982 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * An OTLP (OpenTelemetry Protocol) telemetry export endpoint. */ @Fluent -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class OtlpTelemetryEndpoint extends TelemetryEndpoint { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateInput.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateInput.java deleted file mode 100644 index e5e3fdbcd2a5..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateInput.java +++ /dev/null @@ -1,106 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * Request body for promoting a candidate to a Foundry agent version. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class PromoteCandidateInput implements JsonSerializable { - - /* - * Name of the Foundry agent to promote to. - */ - @Generated - private final String agentName; - - /* - * Version of the Foundry agent to promote to. - */ - @Generated - private final String agentVersion; - - /** - * Creates an instance of PromoteCandidateInput class. - * - * @param agentName the agentName value to set. - * @param agentVersion the agentVersion value to set. - */ - @Generated - public PromoteCandidateInput(String agentName, String agentVersion) { - this.agentName = agentName; - this.agentVersion = agentVersion; - } - - /** - * Get the agentName property: Name of the Foundry agent to promote to. - * - * @return the agentName value. - */ - @Generated - public String getAgentName() { - return this.agentName; - } - - /** - * Get the agentVersion property: Version of the Foundry agent to promote to. - * - * @return the agentVersion value. - */ - @Generated - public String getAgentVersion() { - return this.agentVersion; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("agent_name", this.agentName); - jsonWriter.writeStringField("agent_version", this.agentVersion); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of PromoteCandidateInput from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of PromoteCandidateInput if the JsonReader was pointing to an instance of it, or null if it - * was pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the PromoteCandidateInput. - */ - @Generated - public static PromoteCandidateInput fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String agentName = null; - String agentVersion = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("agent_name".equals(fieldName)) { - agentName = reader.getString(); - } else if ("agent_version".equals(fieldName)) { - agentVersion = reader.getString(); - } else { - reader.skipChildren(); - } - } - return new PromoteCandidateInput(agentName, agentVersion); - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResult.java deleted file mode 100644 index 8438e73f09c1..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResult.java +++ /dev/null @@ -1,180 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.ai.agents.implementation.utils.Beta; -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.time.Instant; -import java.time.OffsetDateTime; -import java.time.ZoneOffset; - -/** - * Response after successfully promoting a candidate. - */ -@Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") -public final class PromoteCandidateResult implements JsonSerializable { - - /* - * The promoted candidate id. - */ - @Generated - private final String candidateId; - - /* - * Status after promotion. - */ - @Generated - private final String status; - - /* - * Timestamp when promotion occurred, represented in Unix time. - */ - @Generated - private final long promotedAt; - - /* - * Name of the Foundry agent promoted to. - */ - @Generated - private final String agentName; - - /* - * Version of the Foundry agent promoted to. - */ - @Generated - private final String agentVersion; - - /** - * Creates an instance of PromoteCandidateResult class. - * - * @param candidateId the candidateId value to set. - * @param status the status value to set. - * @param promotedAt the promotedAt value to set. - * @param agentName the agentName value to set. - * @param agentVersion the agentVersion value to set. - */ - @Generated - private PromoteCandidateResult(String candidateId, String status, OffsetDateTime promotedAt, String agentName, - String agentVersion) { - this.candidateId = candidateId; - this.status = status; - if (promotedAt == null) { - this.promotedAt = 0L; - } else { - this.promotedAt = promotedAt.toEpochSecond(); - } - this.agentName = agentName; - this.agentVersion = agentVersion; - } - - /** - * Get the candidateId property: The promoted candidate id. - * - * @return the candidateId value. - */ - @Generated - public String getCandidateId() { - return this.candidateId; - } - - /** - * Get the status property: Status after promotion. - * - * @return the status value. - */ - @Generated - public String getStatus() { - return this.status; - } - - /** - * Get the promotedAt property: Timestamp when promotion occurred, represented in Unix time. - * - * @return the promotedAt value. - */ - @Generated - public OffsetDateTime getPromotedAt() { - return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.promotedAt), ZoneOffset.UTC); - } - - /** - * Get the agentName property: Name of the Foundry agent promoted to. - * - * @return the agentName value. - */ - @Generated - public String getAgentName() { - return this.agentName; - } - - /** - * Get the agentVersion property: Version of the Foundry agent promoted to. - * - * @return the agentVersion value. - */ - @Generated - public String getAgentVersion() { - return this.agentVersion; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("candidate_id", this.candidateId); - jsonWriter.writeStringField("status", this.status); - jsonWriter.writeLongField("promoted_at", this.promotedAt); - jsonWriter.writeStringField("agent_name", this.agentName); - jsonWriter.writeStringField("agent_version", this.agentVersion); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of PromoteCandidateResult from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of PromoteCandidateResult if the JsonReader was pointing to an instance of it, or null if it - * was pointing to JSON null. - * @throws IllegalStateException If the deserialized JSON object was missing any required properties. - * @throws IOException If an error occurs while reading the PromoteCandidateResult. - */ - @Generated - public static PromoteCandidateResult fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String candidateId = null; - String status = null; - OffsetDateTime promotedAt = null; - String agentName = null; - String agentVersion = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("candidate_id".equals(fieldName)) { - candidateId = reader.getString(); - } else if ("status".equals(fieldName)) { - status = reader.getString(); - } else if ("promoted_at".equals(fieldName)) { - promotedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); - } else if ("agent_name".equals(fieldName)) { - agentName = reader.getString(); - } else if ("agent_version".equals(fieldName)) { - agentVersion = reader.getString(); - } else { - reader.skipChildren(); - } - } - return new PromoteCandidateResult(candidateId, status, promotedAt, agentName, agentVersion); - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java index 34b2a5bbf325..3f8c5eec81c7 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java @@ -19,7 +19,7 @@ * Promotion metadata recorded when a candidate is deployed to a Foundry agent. */ @Immutable -@Beta(warningText = "Preview API. AgentsOptimization=V1Preview") +@Beta(warningText = "Preview API. AgentsOptimization=V2Preview") public final class PromotionInfo implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java index f25947f89900..9cbfd44db485 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java @@ -21,7 +21,7 @@ public final class ProtocolVersionRecord implements JsonSerializable { - AgentProtocol protocol = null; + AgentEndpointProtocol protocol = null; String version = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("protocol".equals(fieldName)) { - protocol = AgentProtocol.fromString(reader.getString()); + protocol = AgentEndpointProtocol.fromString(reader.getString()); } else if ("version".equals(fieldName)) { version = reader.getString(); } else { @@ -101,4 +89,16 @@ public static ProtocolVersionRecord fromJson(JsonReader jsonReader) throws IOExc return new ProtocolVersionRecord(protocol, version); }); } + + /** + * Creates an instance of ProtocolVersionRecord class. + * + * @param protocol the protocol value to set. + * @param version the version value to set. + */ + @Generated + public ProtocolVersionRecord(AgentEndpointProtocol protocol, String version) { + this.protocol = protocol; + this.version = version; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ReminderPreviewTool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ReminderPreviewTool.java new file mode 100644 index 000000000000..692f1c0d39a9 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ReminderPreviewTool.java @@ -0,0 +1,183 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.Map; + +/** + * A built-in tool that schedules the agent to re-invoke itself after a delay. + * The model passes a single `minutes` argument (positive integer) when calling + * this tool. The service creates a one-shot timer routine that fires after the + * specified delay and re-invokes the agent on the same conversation thread. + * No pre-created routine is required. + */ +@Fluent +public final class ReminderPreviewTool extends Tool { + + /* + * The type property. + */ + @Generated + private ToolType type = ToolType.REMINDER_PREVIEW; + + /* + * Optional user-defined name for this tool or configuration. + */ + @Generated + private String name; + + /* + * Optional user-defined description for this tool or configuration. + */ + @Generated + private String description; + + /* + * Per-tool configuration map. Keys are tool names or `*` (catch-all default). + * Resolution order: exact tool name match takes priority over `*`. + * Unknown tool names are silently ignored at runtime. + */ + @Generated + private Map toolConfigs; + + /** + * Creates an instance of ReminderPreviewTool class. + */ + @Generated + public ReminderPreviewTool() { + } + + /** + * Get the type property: The type property. + * + * @return the type value. + */ + @Generated + @Override + public ToolType getType() { + return this.type; + } + + /** + * Get the name property: Optional user-defined name for this tool or configuration. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Set the name property: Optional user-defined name for this tool or configuration. + * + * @param name the name value to set. + * @return the ReminderPreviewTool object itself. + */ + @Generated + public ReminderPreviewTool setName(String name) { + this.name = name; + return this; + } + + /** + * Get the description property: Optional user-defined description for this tool or configuration. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Set the description property: Optional user-defined description for this tool or configuration. + * + * @param description the description value to set. + * @return the ReminderPreviewTool object itself. + */ + @Generated + public ReminderPreviewTool setDescription(String description) { + this.description = description; + return this; + } + + /** + * Get the toolConfigs property: Per-tool configuration map. Keys are tool names or `*` (catch-all default). + * Resolution order: exact tool name match takes priority over `*`. + * Unknown tool names are silently ignored at runtime. + * + * @return the toolConfigs value. + */ + @Generated + public Map getToolConfigs() { + return this.toolConfigs; + } + + /** + * Set the toolConfigs property: Per-tool configuration map. Keys are tool names or `*` (catch-all default). + * Resolution order: exact tool name match takes priority over `*`. + * Unknown tool names are silently ignored at runtime. + * + * @param toolConfigs the toolConfigs value to set. + * @return the ReminderPreviewTool object itself. + */ + @Generated + public ReminderPreviewTool setToolConfigs(Map toolConfigs) { + this.toolConfigs = toolConfigs; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type == null ? null : this.type.toString()); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeMapField("tool_configs", this.toolConfigs, (writer, element) -> writer.writeJson(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ReminderPreviewTool from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ReminderPreviewTool if the JsonReader was pointing to an instance of it, or null if it was + * pointing to JSON null. + * @throws IOException If an error occurs while reading the ReminderPreviewTool. + */ + @Generated + public static ReminderPreviewTool fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ReminderPreviewTool deserializedReminderPreviewTool = new ReminderPreviewTool(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedReminderPreviewTool.type = ToolType.fromString(reader.getString()); + } else if ("name".equals(fieldName)) { + deserializedReminderPreviewTool.name = reader.getString(); + } else if ("description".equals(fieldName)) { + deserializedReminderPreviewTool.description = reader.getString(); + } else if ("tool_configs".equals(fieldName)) { + Map toolConfigs = reader.readMap(reader1 -> ToolConfig.fromJson(reader1)); + deserializedReminderPreviewTool.toolConfigs = toolConfigs; + } else { + reader.skipChildren(); + } + } + return deserializedReminderPreviewTool; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEvent.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEvent.java index b4ca90317939..1825c035b28c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEvent.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEvent.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -34,7 +33,6 @@ * ```. */ @Immutable -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class SessionLogEvent implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEventType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEventType.java index 1316d13099b3..ea640393dff8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEventType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/SessionLogEventType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -12,7 +11,6 @@ * Known SSE event types emitted by the hosted agent session log stream. * Additional event types may be introduced in future versions. */ -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class SessionLogEventType extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryConfig.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryConfig.java index 7ac51c85d090..1be6ae6ad382 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryConfig.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryConfig.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -17,7 +16,6 @@ * Customer-supplied telemetry configuration for exporting container logs, traces, and metrics. */ @Immutable -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class TelemetryConfig implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java index 9649f6df932f..e42b9c927d9c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The type of telemetry data to export. */ -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class TelemetryDataKind extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java index ece9e93a4438..cddb20a8caa4 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -17,7 +16,6 @@ * A telemetry export endpoint configuration. */ @Fluent -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public class TelemetryEndpoint implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java index 605192e0d59c..aaa2802ebaf3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * Authentication configuration for a telemetry endpoint. */ @Immutable -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public class TelemetryEndpointAuth implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java index 5486749c56ed..01e610a655eb 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The type of authentication for a telemetry endpoint. */ -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class TelemetryEndpointAuthType extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java index b0364f28ddbb..aa77cc337cf4 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The kind of telemetry export endpoint. */ -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class TelemetryEndpointKind extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java index 8468a84947bc..2e0365a22fa3 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The transport protocol for telemetry export. */ -@Beta(warningText = "Preview API. HostedAgents=V1Preview") public final class TelemetryTransportProtocol extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java index b469a3d207bf..29fb7f7aa387 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/Tool.java @@ -105,6 +105,8 @@ public static Tool fromJson(JsonReader jsonReader) throws IOException { return MemorySearchPreviewTool.fromJson(readerToUse.reset()); } else if ("toolbox_search_preview".equals(discriminatorValue)) { return ToolboxSearchPreviewTool.fromJson(readerToUse.reset()); + } else if ("reminder_preview".equals(discriminatorValue)) { + return ReminderPreviewTool.fromJson(readerToUse.reset()); } else if ("code_interpreter".equals(discriminatorValue)) { return CodeInterpreterTool.fromJson(readerToUse.reset()); } else if ("function".equals(discriminatorValue)) { diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java index 03a09dcefc94..e5958b235baf 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolType.java @@ -216,4 +216,10 @@ public static Collection values() { */ @Generated public static final ToolType TOOL_SEARCH = fromString("tool_search"); + + /** + * Static value reminder_preview for ToolType. + */ + @Generated + public static final ToolType REMINDER_PREVIEW = fromString("reminder_preview"); } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicator.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicator.java index 4bbd10a6c078..a468fd144aad 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicator.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicator.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -16,7 +15,6 @@ * Version indicator determining which agent version backs the session. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public class VersionIndicator implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java index 719b02777d70..30b092230916 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * The type of version indicator used to determine the agent version backing a session. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class VersionIndicatorType extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java index 35ae27020a5a..0d99c62718be 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; @@ -15,7 +14,6 @@ * Version indicator that references a specific agent version by name. */ @Immutable -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class VersionRefIndicator extends VersionIndicator { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java index 4cc6a46509ed..681009fb51f0 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -19,7 +18,6 @@ * The VersionSelectionRule model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public class VersionSelectionRule implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelector.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelector.java index 5c7e19faedb1..8d85e6e94940 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelector.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelector.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.models; import com.azure.ai.agents.implementation.JsonMergePatchHelper; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -20,7 +19,6 @@ * The VersionSelector model. */ @Fluent -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class VersionSelector implements JsonSerializable { /* diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectorType.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectorType.java index 831798b6e6fc..3c6830203628 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectorType.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/VersionSelectorType.java @@ -3,7 +3,6 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.ai.agents.implementation.utils.Beta; import com.azure.core.annotation.Generated; import com.azure.core.util.ExpandableStringEnum; import java.util.Collection; @@ -11,7 +10,6 @@ /** * Defines values for VersionSelectorType. */ -@Beta(warningText = "Preview API. AgentEndpoints=V1Preview") public final class VersionSelectorType extends ExpandableStringEnum { /** diff --git a/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json b/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json index 241587ad6ee6..bce7d0996865 100644 --- a/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json +++ b/sdk/ai/azure-ai-agents/src/main/resources/META-INF/azure-ai-agents_metadata.json @@ -1 +1 @@ -{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"dffa27c2bb0b","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.BetaAgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.BetaAgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.BetaAgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.BetaAgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.BetaAgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.BetaAgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.BetaAgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.BetaAgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateFile":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateFileWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.BetaAgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.BetaAgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.BetaAgentsAsyncClient.promoteOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.BetaAgentsAsyncClient.promoteOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.BetaAgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.BetaAgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.BetaAgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.BetaAgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.BetaAgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.BetaAgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.BetaAgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.BetaAgentsClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.BetaAgentsClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.BetaAgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.BetaAgentsClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.BetaAgentsClient.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.BetaAgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.BetaAgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.BetaAgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.BetaAgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.BetaAgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.BetaAgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.BetaAgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.BetaAgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateFile":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateFileWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.BetaAgentsClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.BetaAgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.BetaAgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.BetaAgentsClient.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.BetaAgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.BetaAgentsClient.promoteOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.BetaAgentsClient.promoteOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.BetaAgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.BetaAgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.BetaAgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.BetaAgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.BetaAgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.BetaAgentsClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.BetaAgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.BetaAgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaToolboxesAsyncClient":"Azure.AI.Projects.Beta.Toolboxes","com.azure.ai.agents.BetaToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.BetaToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.BetaToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.BetaToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.BetaToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.BetaToolboxesAsyncClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.BetaToolboxesAsyncClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.BetaToolboxesAsyncClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.BetaToolboxesAsyncClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.BetaToolboxesClient":"Azure.AI.Projects.Beta.Toolboxes","com.azure.ai.agents.BetaToolboxesClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.BetaToolboxesClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.BetaToolboxesClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.BetaToolboxesClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.BetaToolboxesClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.BetaToolboxesClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.BetaToolboxesClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.BetaToolboxesClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.BetaToolboxesClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent":"Azure.AI.Projects.CreateAgentFromCodeContent","com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest":"Azure.AI.Projects.createAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentOptions":null,"com.azure.ai.agents.implementation.models.CreateAgentRequest":"Azure.AI.Projects.createAgent.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest":"Azure.AI.Projects.createAgentVersionFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionRequest":"Azure.AI.Projects.createAgentVersion.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryRequest":"Azure.AI.Projects.createMemory.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryStoreRequest":"Azure.AI.Projects.createMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.CreateSessionRequest":"Azure.AI.Projects.createSession.Request.anonymous","com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest":"Azure.AI.Projects.createToolboxVersion.Request.anonymous","com.azure.ai.agents.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.implementation.models.ListMemoriesRequest":"Azure.AI.Projects.listMemories.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest":"Azure.AI.Projects.updateAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentRequest":"Azure.AI.Projects.updateAgent.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoriesRequest":"Azure.AI.Projects.updateMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryRequest":"Azure.AI.Projects.updateMemory.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryStoreRequest":"Azure.AI.Projects.updateMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateToolboxInput":"Azure.AI.Projects.UpdateToolboxRequest","com.azure.ai.agents.implementation.models.UpdateToolboxRequest":"Azure.AI.Projects.updateToolbox.Request.anonymous","com.azure.ai.agents.models.A2APreviewTool":"Azure.AI.Projects.A2APreviewTool","com.azure.ai.agents.models.A2AToolCall":"Azure.AI.Projects.A2AToolCall","com.azure.ai.agents.models.A2AToolCallOutput":"Azure.AI.Projects.A2AToolCallOutput","com.azure.ai.agents.models.AISearchIndexResource":"Azure.AI.Projects.AISearchIndexResource","com.azure.ai.agents.models.AgentBlueprintReference":"Azure.AI.Projects.AgentBlueprintReference","com.azure.ai.agents.models.AgentBlueprintReferenceType":"Azure.AI.Projects.AgentBlueprintReferenceType","com.azure.ai.agents.models.AgentCard":"Azure.AI.Projects.AgentCard","com.azure.ai.agents.models.AgentCardSkill":"Azure.AI.Projects.AgentCardSkill","com.azure.ai.agents.models.AgentDefinition":"Azure.AI.Projects.AgentDefinition","com.azure.ai.agents.models.AgentDetails":"Azure.AI.Projects.AgentObject","com.azure.ai.agents.models.AgentDetailsVersions":"Azure.AI.Projects.AgentObject.versions.anonymous","com.azure.ai.agents.models.AgentEndpointAuthorizationScheme":"Azure.AI.Projects.AgentEndpointAuthorizationScheme","com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType":"Azure.AI.Projects.AgentEndpointAuthorizationSchemeType","com.azure.ai.agents.models.AgentEndpointConfig":"Azure.AI.Projects.AgentEndpointConfig","com.azure.ai.agents.models.AgentEndpointProtocol":"Azure.AI.Projects.AgentEndpointProtocol","com.azure.ai.agents.models.AgentIdentifier":"Azure.AI.Projects.AgentIdentifier","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentProtocol":"Azure.AI.Projects.AgentProtocol","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AutoCodeInterpreterToolParameter":"OpenAI.AutoCodeInterpreterToolParam","com.azure.ai.agents.models.AzureAISearchQueryType":"Azure.AI.Projects.AzureAISearchQueryType","com.azure.ai.agents.models.AzureAISearchTool":"Azure.AI.Projects.AzureAISearchTool","com.azure.ai.agents.models.AzureAISearchToolCall":"Azure.AI.Projects.AzureAISearchToolCall","com.azure.ai.agents.models.AzureAISearchToolCallOutput":"Azure.AI.Projects.AzureAISearchToolCallOutput","com.azure.ai.agents.models.AzureAISearchToolResource":"Azure.AI.Projects.AzureAISearchToolResource","com.azure.ai.agents.models.AzureCreateResponseDetails":"Azure.AI.Projects.AzureCreateResponseDetails","com.azure.ai.agents.models.AzureCreateResponseOptions":"Azure.AI.Projects.AzureCreateResponseOptions","com.azure.ai.agents.models.AzureFunctionBinding":"Azure.AI.Projects.AzureFunctionBinding","com.azure.ai.agents.models.AzureFunctionDefinition":"Azure.AI.Projects.AzureFunctionDefinition","com.azure.ai.agents.models.AzureFunctionDefinitionDetails":"Azure.AI.Projects.AzureFunctionDefinition.function.anonymous","com.azure.ai.agents.models.AzureFunctionStorageQueue":"Azure.AI.Projects.AzureFunctionStorageQueue","com.azure.ai.agents.models.AzureFunctionTool":"Azure.AI.Projects.AzureFunctionTool","com.azure.ai.agents.models.AzureFunctionToolCall":"Azure.AI.Projects.AzureFunctionToolCall","com.azure.ai.agents.models.AzureFunctionToolCallOutput":"Azure.AI.Projects.AzureFunctionToolCallOutput","com.azure.ai.agents.models.BingCustomSearchConfiguration":"Azure.AI.Projects.BingCustomSearchConfiguration","com.azure.ai.agents.models.BingCustomSearchPreviewTool":"Azure.AI.Projects.BingCustomSearchPreviewTool","com.azure.ai.agents.models.BingCustomSearchToolCall":"Azure.AI.Projects.BingCustomSearchToolCall","com.azure.ai.agents.models.BingCustomSearchToolCallOutput":"Azure.AI.Projects.BingCustomSearchToolCallOutput","com.azure.ai.agents.models.BingCustomSearchToolParameters":"Azure.AI.Projects.BingCustomSearchToolParameters","com.azure.ai.agents.models.BingGroundingSearchConfiguration":"Azure.AI.Projects.BingGroundingSearchConfiguration","com.azure.ai.agents.models.BingGroundingSearchToolParameters":"Azure.AI.Projects.BingGroundingSearchToolParameters","com.azure.ai.agents.models.BingGroundingTool":"Azure.AI.Projects.BingGroundingTool","com.azure.ai.agents.models.BingGroundingToolCall":"Azure.AI.Projects.BingGroundingToolCall","com.azure.ai.agents.models.BingGroundingToolCallOutput":"Azure.AI.Projects.BingGroundingToolCallOutput","com.azure.ai.agents.models.BotServiceAuthorizationScheme":"Azure.AI.Projects.BotServiceAuthorizationScheme","com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme":"Azure.AI.Projects.BotServiceRbacAuthorizationScheme","com.azure.ai.agents.models.BrowserAutomationPreviewTool":"Azure.AI.Projects.BrowserAutomationPreviewTool","com.azure.ai.agents.models.BrowserAutomationToolCall":"Azure.AI.Projects.BrowserAutomationToolCall","com.azure.ai.agents.models.BrowserAutomationToolCallOutput":"Azure.AI.Projects.BrowserAutomationToolCallOutput","com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters":"Azure.AI.Projects.BrowserAutomationToolConnectionParameters","com.azure.ai.agents.models.BrowserAutomationToolParameters":"Azure.AI.Projects.BrowserAutomationToolParameters","com.azure.ai.agents.models.CandidateDeployConfig":"Azure.AI.Projects.CandidateDeployConfig","com.azure.ai.agents.models.CandidateFileInfo":"Azure.AI.Projects.CandidateFileInfo","com.azure.ai.agents.models.CandidateMetadata":"Azure.AI.Projects.CandidateMetadata","com.azure.ai.agents.models.CandidateResults":"Azure.AI.Projects.CandidateResults","com.azure.ai.agents.models.CaptureStructuredOutputsTool":"Azure.AI.Projects.CaptureStructuredOutputsTool","com.azure.ai.agents.models.ChatSummaryMemoryItem":"Azure.AI.Projects.ChatSummaryMemoryItem","com.azure.ai.agents.models.CodeConfiguration":"Azure.AI.Projects.CodeConfiguration","com.azure.ai.agents.models.CodeDependencyResolution":"Azure.AI.Projects.CodeDependencyResolution","com.azure.ai.agents.models.CodeFileDetails":null,"com.azure.ai.agents.models.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.agents.models.ComputerEnvironment":"ComputerEnvironmentExpandable","com.azure.ai.agents.models.ComputerTool":"OpenAI.ComputerTool","com.azure.ai.agents.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","com.azure.ai.agents.models.ContainerAutoParameter":"OpenAI.ContainerAutoParam","com.azure.ai.agents.models.ContainerConfiguration":"Azure.AI.Projects.ContainerConfiguration","com.azure.ai.agents.models.ContainerMemoryLimit":"ContainerMemoryLimitExpandable","com.azure.ai.agents.models.ContainerNetworkPolicyAllowlistParameter":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.agents.models.ContainerNetworkPolicyDisabledParameter":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.agents.models.ContainerNetworkPolicyDomainSecretParameter":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.agents.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.agents.models.ContainerNetworkPolicyParameter":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.agents.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.agents.models.ContainerSkillType":"OpenAI.ContainerSkillType","com.azure.ai.agents.models.CreateAgentVersionFromCodeContent":"Azure.AI.Projects.CreateAgentVersionFromCodeContent","com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata":"Azure.AI.Projects.CreateAgentVersionFromCodeMetadata","com.azure.ai.agents.models.CreateAgentVersionInput":"Azure.AI.Projects.CreateAgentVersionRequest","com.azure.ai.agents.models.CustomGrammarFormatParameter":"OpenAI.CustomGrammarFormatParam","com.azure.ai.agents.models.CustomTextFormatParameter":"OpenAI.CustomTextFormatParam","com.azure.ai.agents.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.agents.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","com.azure.ai.agents.models.CustomToolParameter":"OpenAI.CustomToolParam","com.azure.ai.agents.models.DatasetInfo":"Azure.AI.Projects.DatasetInfo","com.azure.ai.agents.models.DatasetRef":"Azure.AI.Projects.DatasetRef","com.azure.ai.agents.models.EmptyModelParam":"OpenAI.EmptyModelParam","com.azure.ai.agents.models.EntraAuthorizationScheme":"Azure.AI.Projects.EntraAuthorizationScheme","com.azure.ai.agents.models.EntraIsolationKeySource":"Azure.AI.Projects.EntraIsolationKeySource","com.azure.ai.agents.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.agents.models.ExternalAgentDefinition":"Azure.AI.Projects.ExternalAgentDefinition","com.azure.ai.agents.models.FabricDataAgentToolCall":"Azure.AI.Projects.FabricDataAgentToolCall","com.azure.ai.agents.models.FabricDataAgentToolCallOutput":"Azure.AI.Projects.FabricDataAgentToolCallOutput","com.azure.ai.agents.models.FabricDataAgentToolParameters":"Azure.AI.Projects.FabricDataAgentToolParameters","com.azure.ai.agents.models.FabricIqPreviewTool":"Azure.AI.Projects.FabricIQPreviewTool","com.azure.ai.agents.models.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.agents.models.FixedRatioVersionSelectionRule":"Azure.AI.Projects.FixedRatioVersionSelectionRule","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.FunctionToolParam":"OpenAI.FunctionToolParam","com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.HeaderIsolationKeySource":"Azure.AI.Projects.HeaderIsolationKeySource","com.azure.ai.agents.models.HeaderTelemetryEndpointAuth":"Azure.AI.Projects.HeaderTelemetryEndpointAuth","com.azure.ai.agents.models.HostedAgentDefinition":"Azure.AI.Projects.HostedAgentDefinition","com.azure.ai.agents.models.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.agents.models.ImageGenActionEnum":"ImageGenActionEnumExpandable","com.azure.ai.agents.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.agents.models.ImageGenToolBackground":"ImageGenToolBackgroundExpandable","com.azure.ai.agents.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.agents.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.agents.models.ImageGenToolModeration":"ImageGenToolModerationExpandable","com.azure.ai.agents.models.ImageGenToolOutputFormat":"ImageGenToolOutputFormatExpandable","com.azure.ai.agents.models.ImageGenToolQuality":"ImageGenToolQualityExpandable","com.azure.ai.agents.models.ImageGenToolSize":"ImageGenToolSizeExpandable","com.azure.ai.agents.models.IncludeEnum":"OpenAI.IncludeEnum","com.azure.ai.agents.models.InlineSkillParameter":"OpenAI.InlineSkillParam","com.azure.ai.agents.models.InlineSkillSourceParameter":"OpenAI.InlineSkillSourceParam","com.azure.ai.agents.models.InputFidelity":"InputFidelityExpandable","com.azure.ai.agents.models.IsolationKeySource":"Azure.AI.Projects.IsolationKeySource","com.azure.ai.agents.models.IsolationKeySourceKind":"Azure.AI.Projects.IsolationKeySourceKind","com.azure.ai.agents.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.agents.models.ListMemoriesOptions":null,"com.azure.ai.agents.models.LocalShellToolParameter":"OpenAI.LocalShellToolParam","com.azure.ai.agents.models.LocalSkillParameter":"OpenAI.LocalSkillParam","com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference":"Azure.AI.Projects.ManagedAgentIdentityBlueprintReference","com.azure.ai.agents.models.McpTool":"OpenAI.MCPTool","com.azure.ai.agents.models.McpToolConnectorId":"McpToolConnectorIdExpandable","com.azure.ai.agents.models.McpToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.agents.models.McpToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.agents.models.MemoryCommandToolCall":"Azure.AI.Projects.MemoryCommandToolCall","com.azure.ai.agents.models.MemoryCommandToolCallOutput":"Azure.AI.Projects.MemoryCommandToolCallOutput","com.azure.ai.agents.models.MemoryItem":"Azure.AI.Projects.MemoryItem","com.azure.ai.agents.models.MemoryItemKind":"Azure.AI.Projects.MemoryItemKind","com.azure.ai.agents.models.MemoryOperation":"Azure.AI.Projects.MemoryOperation","com.azure.ai.agents.models.MemoryOperationKind":"Azure.AI.Projects.MemoryOperationKind","com.azure.ai.agents.models.MemorySearchItem":"Azure.AI.Projects.MemorySearchItem","com.azure.ai.agents.models.MemorySearchOptions":"Azure.AI.Projects.MemorySearchOptions","com.azure.ai.agents.models.MemorySearchPreviewTool":"Azure.AI.Projects.MemorySearchPreviewTool","com.azure.ai.agents.models.MemorySearchToolCall":"Azure.AI.Projects.MemorySearchToolCall","com.azure.ai.agents.models.MemoryStoreDefaultDefinition":"Azure.AI.Projects.MemoryStoreDefaultDefinition","com.azure.ai.agents.models.MemoryStoreDefaultOptions":"Azure.AI.Projects.MemoryStoreDefaultOptions","com.azure.ai.agents.models.MemoryStoreDefinition":"Azure.AI.Projects.MemoryStoreDefinition","com.azure.ai.agents.models.MemoryStoreDetails":"Azure.AI.Projects.MemoryStoreObject","com.azure.ai.agents.models.MemoryStoreKind":"Azure.AI.Projects.MemoryStoreKind","com.azure.ai.agents.models.MemoryStoreObjectType":"Azure.AI.Projects.MemoryStoreObjectType","com.azure.ai.agents.models.MemoryStoreOperationUsage":"Azure.AI.Projects.MemoryStoreOperationUsage","com.azure.ai.agents.models.MemoryStoreSearchResponse":"Azure.AI.Projects.MemoryStoreSearchResponse","com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult":"Azure.AI.Projects.MemoryStoreUpdateCompletedResult","com.azure.ai.agents.models.MemoryStoreUpdateResponse":"Azure.AI.Projects.MemoryStoreUpdateResponse","com.azure.ai.agents.models.MemoryStoreUpdateStatus":"Azure.AI.Projects.MemoryStoreUpdateStatus","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.NamespaceToolParam":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OptimizationAgentDefinition":"Azure.AI.Projects.OptimizationAgentDefinition","com.azure.ai.agents.models.OptimizationCandidate":"Azure.AI.Projects.OptimizationCandidate","com.azure.ai.agents.models.OptimizationJob":"Azure.AI.Projects.OptimizationJob","com.azure.ai.agents.models.OptimizationJobInputs":"Azure.AI.Projects.OptimizationJobInputs","com.azure.ai.agents.models.OptimizationJobProgress":"Azure.AI.Projects.OptimizationJobProgress","com.azure.ai.agents.models.OptimizationJobResult":"Azure.AI.Projects.OptimizationJobResult","com.azure.ai.agents.models.OptimizationOptions":"Azure.AI.Projects.OptimizationOptions","com.azure.ai.agents.models.OptimizationTaskResult":"Azure.AI.Projects.OptimizationTaskResult","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.PromoteCandidateInput":"Azure.AI.Projects.PromoteCandidateRequest","com.azure.ai.agents.models.PromoteCandidateResult":"Azure.AI.Projects.PromoteCandidateResponse","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RankerVersionType":"RankerVersionTypeExpandable","com.azure.ai.agents.models.RankingOptions":"OpenAI.RankingOptions","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponseUsageInputTokensDetails":"OpenAI.ResponseUsageInputTokensDetails","com.azure.ai.agents.models.ResponseUsageOutputTokensDetails":"OpenAI.ResponseUsageOutputTokensDetails","com.azure.ai.agents.models.SearchContentType":"OpenAI.SearchContentType","com.azure.ai.agents.models.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionFileWriteResult":"Azure.AI.Projects.SessionFileWriteResponse","com.azure.ai.agents.models.SessionLogEvent":"Azure.AI.Projects.SessionLogEvent","com.azure.ai.agents.models.SessionLogEventType":"Azure.AI.Projects.SessionLogEventType","com.azure.ai.agents.models.SharepointGroundingToolCall":"Azure.AI.Projects.SharepointGroundingToolCall","com.azure.ai.agents.models.SharepointGroundingToolCallOutput":"Azure.AI.Projects.SharepointGroundingToolCallOutput","com.azure.ai.agents.models.SharepointGroundingToolParameters":"Azure.AI.Projects.SharepointGroundingToolParameters","com.azure.ai.agents.models.SharepointPreviewTool":"Azure.AI.Projects.SharepointPreviewTool","com.azure.ai.agents.models.SkillReferenceParameter":"OpenAI.SkillReferenceParam","com.azure.ai.agents.models.StructuredInputDefinition":"Azure.AI.Projects.StructuredInputDefinition","com.azure.ai.agents.models.StructuredOutputDefinition":"Azure.AI.Projects.StructuredOutputDefinition","com.azure.ai.agents.models.TelemetryConfig":"Azure.AI.Projects.TelemetryConfig","com.azure.ai.agents.models.TelemetryDataKind":"Azure.AI.Projects.TelemetryDataKind","com.azure.ai.agents.models.TelemetryEndpoint":"Azure.AI.Projects.TelemetryEndpoint","com.azure.ai.agents.models.TelemetryEndpointAuth":"Azure.AI.Projects.TelemetryEndpointAuth","com.azure.ai.agents.models.TelemetryEndpointAuthType":"Azure.AI.Projects.TelemetryEndpointAuthType","com.azure.ai.agents.models.TelemetryEndpointKind":"Azure.AI.Projects.TelemetryEndpointKind","com.azure.ai.agents.models.TelemetryTransportProtocol":"Azure.AI.Projects.TelemetryTransportProtocol","com.azure.ai.agents.models.TextResponseFormatConfiguration":"OpenAI.TextResponseFormatConfiguration","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatJsonObject":"OpenAI.TextResponseFormatConfigurationResponseFormatJsonObject","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatText":"OpenAI.TextResponseFormatConfigurationResponseFormatText","com.azure.ai.agents.models.TextResponseFormatConfigurationType":"OpenAI.TextResponseFormatConfigurationType","com.azure.ai.agents.models.TextResponseFormatJsonSchema":"OpenAI.TextResponseFormatJsonSchema","com.azure.ai.agents.models.Tool":"OpenAI.Tool","com.azure.ai.agents.models.ToolCallStatus":"Azure.AI.Projects.ToolCallStatus","com.azure.ai.agents.models.ToolConfig":"Azure.AI.Projects.ToolConfig","com.azure.ai.agents.models.ToolProjectConnection":"Azure.AI.Projects.ToolProjectConnection","com.azure.ai.agents.models.ToolSearchExecutionType":"OpenAI.ToolSearchExecutionType","com.azure.ai.agents.models.ToolSearchToolParam":"OpenAI.ToolSearchToolParam","com.azure.ai.agents.models.ToolType":"OpenAI.ToolType","com.azure.ai.agents.models.ToolboxDetails":"Azure.AI.Projects.ToolboxObject","com.azure.ai.agents.models.ToolboxPolicies":"Azure.AI.Projects.ToolboxPolicies","com.azure.ai.agents.models.ToolboxSearchPreviewTool":"Azure.AI.Projects.ToolboxSearchPreviewTool","com.azure.ai.agents.models.ToolboxSkill":"Azure.AI.Projects.ToolboxSkill","com.azure.ai.agents.models.ToolboxSkillReference":"Azure.AI.Projects.ToolboxSkillReference","com.azure.ai.agents.models.ToolboxVersionDetails":"Azure.AI.Projects.ToolboxVersionObject","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UserProfileMemoryItem":"Azure.AI.Projects.UserProfileMemoryItem","com.azure.ai.agents.models.VersionIndicator":"Azure.AI.Projects.VersionIndicator","com.azure.ai.agents.models.VersionIndicatorType":"Azure.AI.Projects.VersionIndicatorType","com.azure.ai.agents.models.VersionRefIndicator":"Azure.AI.Projects.VersionRefIndicator","com.azure.ai.agents.models.VersionSelectionRule":"Azure.AI.Projects.VersionSelectionRule","com.azure.ai.agents.models.VersionSelector":"Azure.AI.Projects.VersionSelector","com.azure.ai.agents.models.VersionSelectorType":"Azure.AI.Projects.VersionSelectorType","com.azure.ai.agents.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.agents.models.WebSearchConfiguration":"Azure.AI.Projects.WebSearchConfiguration","com.azure.ai.agents.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.agents.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.agents.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.agents.models.WebSearchToolSearchContextSize":"WebSearchToolSearchContextSizeExpandable","com.azure.ai.agents.models.WorkIqPreviewTool":"Azure.AI.Projects.WorkIQPreviewTool","com.azure.ai.agents.models.WorkflowAgentDefinition":"Azure.AI.Projects.WorkflowAgentDefinition"},"generatedFiles":["src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/BetaToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/BetaToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxInput.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxRequest.java","src/main/java/com/azure/ai/agents/implementation/models/package-info.java","src/main/java/com/azure/ai/agents/implementation/package-info.java","src/main/java/com/azure/ai/agents/models/A2APreviewTool.java","src/main/java/com/azure/ai/agents/models/A2AToolCall.java","src/main/java/com/azure/ai/agents/models/A2AToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AISearchIndexResource.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java","src/main/java/com/azure/ai/agents/models/AgentCard.java","src/main/java/com/azure/ai/agents/models/AgentCardSkill.java","src/main/java/com/azure/ai/agents/models/AgentDefinition.java","src/main/java/com/azure/ai/agents/models/AgentDetails.java","src/main/java/com/azure/ai/agents/models/AgentDetailsVersions.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java","src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java","src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java","src/main/java/com/azure/ai/agents/models/AgentIdentifier.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentProtocol.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AutoCodeInterpreterToolParameter.java","src/main/java/com/azure/ai/agents/models/AzureAISearchQueryType.java","src/main/java/com/azure/ai/agents/models/AzureAISearchTool.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCall.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolResource.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java","src/main/java/com/azure/ai/agents/models/AzureFunctionBinding.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinitionDetails.java","src/main/java/com/azure/ai/agents/models/AzureFunctionStorageQueue.java","src/main/java/com/azure/ai/agents/models/AzureFunctionTool.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCall.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCall.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingTool.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCall.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java","src/main/java/com/azure/ai/agents/models/CandidateDeployConfig.java","src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java","src/main/java/com/azure/ai/agents/models/CandidateMetadata.java","src/main/java/com/azure/ai/agents/models/CandidateResults.java","src/main/java/com/azure/ai/agents/models/CaptureStructuredOutputsTool.java","src/main/java/com/azure/ai/agents/models/ChatSummaryMemoryItem.java","src/main/java/com/azure/ai/agents/models/CodeConfiguration.java","src/main/java/com/azure/ai/agents/models/CodeDependencyResolution.java","src/main/java/com/azure/ai/agents/models/CodeFileDetails.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterTool.java","src/main/java/com/azure/ai/agents/models/ComputerEnvironment.java","src/main/java/com/azure/ai/agents/models/ComputerTool.java","src/main/java/com/azure/ai/agents/models/ComputerUsePreviewTool.java","src/main/java/com/azure/ai/agents/models/ContainerAutoParameter.java","src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java","src/main/java/com/azure/ai/agents/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyAllowlistParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDisabledParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDomainSecretParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParameter.java","src/main/java/com/azure/ai/agents/models/ContainerSkill.java","src/main/java/com/azure/ai/agents/models/ContainerSkillType.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java","src/main/java/com/azure/ai/agents/models/CustomGrammarFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomTextFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormatType.java","src/main/java/com/azure/ai/agents/models/CustomToolParameter.java","src/main/java/com/azure/ai/agents/models/DatasetInfo.java","src/main/java/com/azure/ai/agents/models/DatasetRef.java","src/main/java/com/azure/ai/agents/models/EmptyModelParam.java","src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java","src/main/java/com/azure/ai/agents/models/EvaluationLevel.java","src/main/java/com/azure/ai/agents/models/ExternalAgentDefinition.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCall.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCallOutput.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolParameters.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/FileSearchTool.java","src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/FunctionToolParam.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java","src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java","src/main/java/com/azure/ai/agents/models/HybridSearchOptions.java","src/main/java/com/azure/ai/agents/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/agents/models/ImageGenTool.java","src/main/java/com/azure/ai/agents/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/agents/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModel.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/agents/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/agents/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/agents/models/ImageGenToolSize.java","src/main/java/com/azure/ai/agents/models/IncludeEnum.java","src/main/java/com/azure/ai/agents/models/InlineSkillParameter.java","src/main/java/com/azure/ai/agents/models/InlineSkillSourceParameter.java","src/main/java/com/azure/ai/agents/models/InputFidelity.java","src/main/java/com/azure/ai/agents/models/IsolationKeySource.java","src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java","src/main/java/com/azure/ai/agents/models/JobStatus.java","src/main/java/com/azure/ai/agents/models/ListMemoriesOptions.java","src/main/java/com/azure/ai/agents/models/LocalShellToolParameter.java","src/main/java/com/azure/ai/agents/models/LocalSkillParameter.java","src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java","src/main/java/com/azure/ai/agents/models/McpTool.java","src/main/java/com/azure/ai/agents/models/McpToolConnectorId.java","src/main/java/com/azure/ai/agents/models/McpToolFilter.java","src/main/java/com/azure/ai/agents/models/McpToolRequireApproval.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCallOutput.java","src/main/java/com/azure/ai/agents/models/MemoryItem.java","src/main/java/com/azure/ai/agents/models/MemoryItemKind.java","src/main/java/com/azure/ai/agents/models/MemoryOperation.java","src/main/java/com/azure/ai/agents/models/MemoryOperationKind.java","src/main/java/com/azure/ai/agents/models/MemorySearchItem.java","src/main/java/com/azure/ai/agents/models/MemorySearchOptions.java","src/main/java/com/azure/ai/agents/models/MemorySearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/MemorySearchToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDetails.java","src/main/java/com/azure/ai/agents/models/MemoryStoreKind.java","src/main/java/com/azure/ai/agents/models/MemoryStoreObjectType.java","src/main/java/com/azure/ai/agents/models/MemoryStoreOperationUsage.java","src/main/java/com/azure/ai/agents/models/MemoryStoreSearchResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateCompletedResult.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateStatus.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/NamespaceToolParam.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OptimizationAgentDefinition.java","src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/OptimizationJob.java","src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/OptimizationOptions.java","src/main/java/com/azure/ai/agents/models/OptimizationTaskResult.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/PromoteCandidateInput.java","src/main/java/com/azure/ai/agents/models/PromoteCandidateResult.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RankerVersionType.java","src/main/java/com/azure/ai/agents/models/RankingOptions.java","src/main/java/com/azure/ai/agents/models/ResponseFormatJsonSchemaInner.java","src/main/java/com/azure/ai/agents/models/ResponseUsageInputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponseUsageOutputTokensDetails.java","src/main/java/com/azure/ai/agents/models/SearchContentType.java","src/main/java/com/azure/ai/agents/models/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResult.java","src/main/java/com/azure/ai/agents/models/SessionLogEvent.java","src/main/java/com/azure/ai/agents/models/SessionLogEventType.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolParameters.java","src/main/java/com/azure/ai/agents/models/SharepointPreviewTool.java","src/main/java/com/azure/ai/agents/models/SkillReferenceParameter.java","src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java","src/main/java/com/azure/ai/agents/models/StructuredOutputDefinition.java","src/main/java/com/azure/ai/agents/models/TelemetryConfig.java","src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java","src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfiguration.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatJsonObject.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatText.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationType.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatJsonSchema.java","src/main/java/com/azure/ai/agents/models/Tool.java","src/main/java/com/azure/ai/agents/models/ToolCallStatus.java","src/main/java/com/azure/ai/agents/models/ToolConfig.java","src/main/java/com/azure/ai/agents/models/ToolProjectConnection.java","src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java","src/main/java/com/azure/ai/agents/models/ToolSearchToolParam.java","src/main/java/com/azure/ai/agents/models/ToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxDetails.java","src/main/java/com/azure/ai/agents/models/ToolboxPolicies.java","src/main/java/com/azure/ai/agents/models/ToolboxSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/ToolboxSkill.java","src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java","src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UserProfileMemoryItem.java","src/main/java/com/azure/ai/agents/models/VersionIndicator.java","src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java","src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java","src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/VersionSelector.java","src/main/java/com/azure/ai/agents/models/VersionSelectorType.java","src/main/java/com/azure/ai/agents/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/agents/models/WebSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebSearchTool.java","src/main/java/com/azure/ai/agents/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/agents/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WorkflowAgentDefinition.java","src/main/java/com/azure/ai/agents/models/package-info.java","src/main/java/com/azure/ai/agents/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file +{"flavor":"azure","apiVersions":{"Azure.AI.Projects":"v1"},"crossLanguagePackageId":"Azure.AI.Projects","crossLanguageVersion":"99e23a5b2bc5","crossLanguageDefinitions":{"com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsAsyncClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsAsyncClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsAsyncClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsAsyncClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsAsyncClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsAsyncClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsAsyncClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsAsyncClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsAsyncClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsAsyncClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsAsyncClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsAsyncClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsAsyncClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.createAgent":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createAgentFromCode":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentFromCode","com.azure.ai.agents.AgentsClient.createAgentFromManifest":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersion":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentVersionFromCode":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromCodeWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromCode","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifest":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionFromManifestWithResponse":"Azure.AI.Projects.Agents.createAgentVersionFromManifest","com.azure.ai.agents.AgentsClient.createAgentVersionWithResponse":"Azure.AI.Projects.Agents.createAgentVersion","com.azure.ai.agents.AgentsClient.createAgentWithResponse":"Azure.AI.Projects.Agents.createAgent","com.azure.ai.agents.AgentsClient.createSession":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.createSessionWithResponse":"Azure.AI.Projects.Agents.createSession","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.disableAgent":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.disableAgentWithResponse":"Azure.AI.Projects.Agents.disableAgent","com.azure.ai.agents.AgentsClient.downloadAgentCode":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadAgentCodeWithResponse":"Azure.AI.Projects.Agents.downloadAgentCode","com.azure.ai.agents.AgentsClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentsClient.enableAgent":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.enableAgentWithResponse":"Azure.AI.Projects.Agents.enableAgent","com.azure.ai.agents.AgentsClient.getAgent":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getAgentVersionDetails":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentVersionDetailsWithResponse":"Azure.AI.Projects.Agents.getAgentVersion","com.azure.ai.agents.AgentsClient.getAgentWithResponse":"Azure.AI.Projects.Agents.getAgent","com.azure.ai.agents.AgentsClient.getSession":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.getSessionWithResponse":"Azure.AI.Projects.Agents.getSession","com.azure.ai.agents.AgentsClient.listAgentConversations":"Azure.AI.Projects.Conversations.listConversations","com.azure.ai.agents.AgentsClient.listAgentVersions":"Azure.AI.Projects.Agents.listAgentVersions","com.azure.ai.agents.AgentsClient.listAgents":"Azure.AI.Projects.Agents.listAgents","com.azure.ai.agents.AgentsClient.listSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.stopSession":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.stopSessionWithResponse":"Azure.AI.Projects.Agents.stopSession","com.azure.ai.agents.AgentsClient.updateAgent":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.updateAgentDetails":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentDetailsWithResponse":"Azure.AI.Projects.Agents.patchAgentObject","com.azure.ai.agents.AgentsClient.updateAgentFromCode":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromCodeWithResponse":"Azure.AI.Projects.Agents.updateAgentFromCode","com.azure.ai.agents.AgentsClient.updateAgentFromManifest":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentFromManifestWithResponse":"Azure.AI.Projects.Agents.updateAgentFromManifest","com.azure.ai.agents.AgentsClient.updateAgentWithResponse":"Azure.AI.Projects.Agents.updateAgent","com.azure.ai.agents.AgentsClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.BetaAgentsAsyncClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsAsyncClient.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaAgentsClient":"Azure.AI.Projects.Beta.Agents","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.BetaAgentsClient.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.BetaAgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.BetaAgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.BetaMemoryStoresAsyncClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient":"Azure.AI.Projects.Beta.MemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.BetaMemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.BetaMemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.BetaMemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.BetaMemoryStoresClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.ToolboxesAsyncClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesAsyncClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesAsyncClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesAsyncClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesAsyncClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient":"Azure.AI.Projects.Toolboxes","com.azure.ai.agents.ToolboxesClient.createToolboxVersion":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.createToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.createToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolbox":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersion":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolboxVersion","com.azure.ai.agents.ToolboxesClient.deleteToolboxWithResponse":"Azure.AI.Projects.Toolboxes.deleteToolbox","com.azure.ai.agents.ToolboxesClient.getToolbox":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.getToolboxVersion":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxVersionWithResponse":"Azure.AI.Projects.Toolboxes.getToolboxVersion","com.azure.ai.agents.ToolboxesClient.getToolboxWithResponse":"Azure.AI.Projects.Toolboxes.getToolbox","com.azure.ai.agents.ToolboxesClient.listToolboxVersions":"Azure.AI.Projects.Toolboxes.listToolboxVersions","com.azure.ai.agents.ToolboxesClient.listToolboxes":"Azure.AI.Projects.Toolboxes.listToolboxes","com.azure.ai.agents.ToolboxesClient.updateToolbox":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.ToolboxesClient.updateToolboxWithResponse":"Azure.AI.Projects.Toolboxes.updateToolbox","com.azure.ai.agents.implementation.models.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","com.azure.ai.agents.implementation.models.CreateAgentFromCodeContent":"Azure.AI.Projects.CreateAgentFromCodeContent","com.azure.ai.agents.implementation.models.CreateAgentFromManifestRequest":"Azure.AI.Projects.createAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentOptions":null,"com.azure.ai.agents.implementation.models.CreateAgentRequest":"Azure.AI.Projects.createAgent.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionFromManifestRequest":"Azure.AI.Projects.createAgentVersionFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.CreateAgentVersionRequest":"Azure.AI.Projects.createAgentVersion.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryRequest":"Azure.AI.Projects.createMemory.Request.anonymous","com.azure.ai.agents.implementation.models.CreateMemoryStoreRequest":"Azure.AI.Projects.createMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.CreateSessionRequest":"Azure.AI.Projects.createSession.Request.anonymous","com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest":"Azure.AI.Projects.createToolboxVersion.Request.anonymous","com.azure.ai.agents.implementation.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.implementation.models.ListMemoriesRequest":"Azure.AI.Projects.listMemories.Request.anonymous","com.azure.ai.agents.implementation.models.SearchMemoriesRequest":"Azure.AI.Projects.searchMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentFromManifestRequest":"Azure.AI.Projects.updateAgentFromManifest.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateAgentRequest":"Azure.AI.Projects.updateAgent.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoriesRequest":"Azure.AI.Projects.updateMemories.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryRequest":"Azure.AI.Projects.updateMemory.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateMemoryStoreRequest":"Azure.AI.Projects.updateMemoryStore.Request.anonymous","com.azure.ai.agents.implementation.models.UpdateToolboxInput":"Azure.AI.Projects.UpdateToolboxRequest","com.azure.ai.agents.implementation.models.UpdateToolboxRequest":"Azure.AI.Projects.updateToolbox.Request.anonymous","com.azure.ai.agents.models.A2APreviewTool":"Azure.AI.Projects.A2APreviewTool","com.azure.ai.agents.models.A2AToolCall":"Azure.AI.Projects.A2AToolCall","com.azure.ai.agents.models.A2AToolCallOutput":"Azure.AI.Projects.A2AToolCallOutput","com.azure.ai.agents.models.AISearchIndexResource":"Azure.AI.Projects.AISearchIndexResource","com.azure.ai.agents.models.AgentBlueprintReference":"Azure.AI.Projects.AgentBlueprintReference","com.azure.ai.agents.models.AgentBlueprintReferenceType":"Azure.AI.Projects.AgentBlueprintReferenceType","com.azure.ai.agents.models.AgentCard":"Azure.AI.Projects.AgentCard","com.azure.ai.agents.models.AgentCardSkill":"Azure.AI.Projects.AgentCardSkill","com.azure.ai.agents.models.AgentDefinition":"Azure.AI.Projects.AgentDefinition","com.azure.ai.agents.models.AgentDetails":"Azure.AI.Projects.AgentObject","com.azure.ai.agents.models.AgentDetailsVersions":"Azure.AI.Projects.AgentObject.versions.anonymous","com.azure.ai.agents.models.AgentEndpointAuthorizationScheme":"Azure.AI.Projects.AgentEndpointAuthorizationScheme","com.azure.ai.agents.models.AgentEndpointAuthorizationSchemeType":"Azure.AI.Projects.AgentEndpointAuthorizationSchemeType","com.azure.ai.agents.models.AgentEndpointConfig":"Azure.AI.Projects.AgentEndpointConfig","com.azure.ai.agents.models.AgentEndpointProtocol":"Azure.AI.Projects.AgentEndpointProtocol","com.azure.ai.agents.models.AgentIdentity":"Azure.AI.Projects.AgentIdentity","com.azure.ai.agents.models.AgentKind":"Azure.AI.Projects.AgentKind","com.azure.ai.agents.models.AgentObjectType":"Azure.AI.Projects.AgentObjectType","com.azure.ai.agents.models.AgentReference":"Azure.AI.Projects.AgentReference","com.azure.ai.agents.models.AgentSessionResource":"Azure.AI.Projects.AgentSessionResource","com.azure.ai.agents.models.AgentSessionStatus":"Azure.AI.Projects.AgentSessionStatus","com.azure.ai.agents.models.AgentState":"Azure.AI.Projects.AgentState","com.azure.ai.agents.models.AgentVersionDetails":"Azure.AI.Projects.AgentVersionObject","com.azure.ai.agents.models.AgentVersionStatus":"Azure.AI.Projects.AgentVersionStatus","com.azure.ai.agents.models.ApiError":"OpenAI.Error","com.azure.ai.agents.models.ApplyPatchToolParameter":"OpenAI.ApplyPatchToolParam","com.azure.ai.agents.models.ApproximateLocation":"OpenAI.ApproximateLocation","com.azure.ai.agents.models.AutoCodeInterpreterToolParameter":"OpenAI.AutoCodeInterpreterToolParam","com.azure.ai.agents.models.AzureAISearchQueryType":"Azure.AI.Projects.AzureAISearchQueryType","com.azure.ai.agents.models.AzureAISearchTool":"Azure.AI.Projects.AzureAISearchTool","com.azure.ai.agents.models.AzureAISearchToolCall":"Azure.AI.Projects.AzureAISearchToolCall","com.azure.ai.agents.models.AzureAISearchToolCallOutput":"Azure.AI.Projects.AzureAISearchToolCallOutput","com.azure.ai.agents.models.AzureAISearchToolResource":"Azure.AI.Projects.AzureAISearchToolResource","com.azure.ai.agents.models.AzureCreateResponseDetails":"Azure.AI.Projects.AzureCreateResponseDetails","com.azure.ai.agents.models.AzureCreateResponseOptions":"Azure.AI.Projects.AzureCreateResponseOptions","com.azure.ai.agents.models.AzureFunctionBinding":"Azure.AI.Projects.AzureFunctionBinding","com.azure.ai.agents.models.AzureFunctionDefinition":"Azure.AI.Projects.AzureFunctionDefinition","com.azure.ai.agents.models.AzureFunctionDefinitionDetails":"Azure.AI.Projects.AzureFunctionDefinition.function.anonymous","com.azure.ai.agents.models.AzureFunctionStorageQueue":"Azure.AI.Projects.AzureFunctionStorageQueue","com.azure.ai.agents.models.AzureFunctionTool":"Azure.AI.Projects.AzureFunctionTool","com.azure.ai.agents.models.AzureFunctionToolCall":"Azure.AI.Projects.AzureFunctionToolCall","com.azure.ai.agents.models.AzureFunctionToolCallOutput":"Azure.AI.Projects.AzureFunctionToolCallOutput","com.azure.ai.agents.models.BingCustomSearchConfiguration":"Azure.AI.Projects.BingCustomSearchConfiguration","com.azure.ai.agents.models.BingCustomSearchPreviewTool":"Azure.AI.Projects.BingCustomSearchPreviewTool","com.azure.ai.agents.models.BingCustomSearchToolCall":"Azure.AI.Projects.BingCustomSearchToolCall","com.azure.ai.agents.models.BingCustomSearchToolCallOutput":"Azure.AI.Projects.BingCustomSearchToolCallOutput","com.azure.ai.agents.models.BingCustomSearchToolParameters":"Azure.AI.Projects.BingCustomSearchToolParameters","com.azure.ai.agents.models.BingGroundingSearchConfiguration":"Azure.AI.Projects.BingGroundingSearchConfiguration","com.azure.ai.agents.models.BingGroundingSearchToolParameters":"Azure.AI.Projects.BingGroundingSearchToolParameters","com.azure.ai.agents.models.BingGroundingTool":"Azure.AI.Projects.BingGroundingTool","com.azure.ai.agents.models.BingGroundingToolCall":"Azure.AI.Projects.BingGroundingToolCall","com.azure.ai.agents.models.BingGroundingToolCallOutput":"Azure.AI.Projects.BingGroundingToolCallOutput","com.azure.ai.agents.models.BotServiceAuthorizationScheme":"Azure.AI.Projects.BotServiceAuthorizationScheme","com.azure.ai.agents.models.BotServiceRbacAuthorizationScheme":"Azure.AI.Projects.BotServiceRbacAuthorizationScheme","com.azure.ai.agents.models.BrowserAutomationPreviewTool":"Azure.AI.Projects.BrowserAutomationPreviewTool","com.azure.ai.agents.models.BrowserAutomationToolCall":"Azure.AI.Projects.BrowserAutomationToolCall","com.azure.ai.agents.models.BrowserAutomationToolCallOutput":"Azure.AI.Projects.BrowserAutomationToolCallOutput","com.azure.ai.agents.models.BrowserAutomationToolConnectionParameters":"Azure.AI.Projects.BrowserAutomationToolConnectionParameters","com.azure.ai.agents.models.BrowserAutomationToolParameters":"Azure.AI.Projects.BrowserAutomationToolParameters","com.azure.ai.agents.models.CaptureStructuredOutputsTool":"Azure.AI.Projects.CaptureStructuredOutputsTool","com.azure.ai.agents.models.ChatSummaryMemoryItem":"Azure.AI.Projects.ChatSummaryMemoryItem","com.azure.ai.agents.models.CodeConfiguration":"Azure.AI.Projects.CodeConfiguration","com.azure.ai.agents.models.CodeDependencyResolution":"Azure.AI.Projects.CodeDependencyResolution","com.azure.ai.agents.models.CodeFileDetails":null,"com.azure.ai.agents.models.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.agents.models.ComputerEnvironment":"ComputerEnvironmentExpandable","com.azure.ai.agents.models.ComputerTool":"OpenAI.ComputerTool","com.azure.ai.agents.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","com.azure.ai.agents.models.ContainerAutoParameter":"OpenAI.ContainerAutoParam","com.azure.ai.agents.models.ContainerConfiguration":"Azure.AI.Projects.ContainerConfiguration","com.azure.ai.agents.models.ContainerMemoryLimit":"ContainerMemoryLimitExpandable","com.azure.ai.agents.models.ContainerNetworkPolicyAllowlistParameter":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.agents.models.ContainerNetworkPolicyDisabledParameter":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.agents.models.ContainerNetworkPolicyDomainSecretParameter":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.agents.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.agents.models.ContainerNetworkPolicyParameter":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.agents.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.agents.models.ContainerSkillType":"OpenAI.ContainerSkillType","com.azure.ai.agents.models.CreateAgentVersionFromCodeContent":"Azure.AI.Projects.CreateAgentVersionFromCodeContent","com.azure.ai.agents.models.CreateAgentVersionFromCodeMetadata":"Azure.AI.Projects.CreateAgentVersionFromCodeMetadata","com.azure.ai.agents.models.CreateAgentVersionInput":"Azure.AI.Projects.CreateAgentVersionRequest","com.azure.ai.agents.models.CustomGrammarFormatParameter":"OpenAI.CustomGrammarFormatParam","com.azure.ai.agents.models.CustomTextFormatParameter":"OpenAI.CustomTextFormatParam","com.azure.ai.agents.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.agents.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","com.azure.ai.agents.models.CustomToolParameter":"OpenAI.CustomToolParam","com.azure.ai.agents.models.EmptyModelParam":"OpenAI.EmptyModelParam","com.azure.ai.agents.models.EntraAuthorizationScheme":"Azure.AI.Projects.EntraAuthorizationScheme","com.azure.ai.agents.models.EntraIsolationKeySource":"Azure.AI.Projects.EntraIsolationKeySource","com.azure.ai.agents.models.EvaluationLevel":"Azure.AI.Projects.EvaluationLevel","com.azure.ai.agents.models.ExternalAgentDefinition":"Azure.AI.Projects.ExternalAgentDefinition","com.azure.ai.agents.models.FabricDataAgentToolCall":"Azure.AI.Projects.FabricDataAgentToolCall","com.azure.ai.agents.models.FabricDataAgentToolCallOutput":"Azure.AI.Projects.FabricDataAgentToolCallOutput","com.azure.ai.agents.models.FabricDataAgentToolParameters":"Azure.AI.Projects.FabricDataAgentToolParameters","com.azure.ai.agents.models.FabricIqPreviewTool":"Azure.AI.Projects.FabricIQPreviewTool","com.azure.ai.agents.models.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.agents.models.FixedRatioVersionSelectionRule":"Azure.AI.Projects.FixedRatioVersionSelectionRule","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.FunctionToolParam":"OpenAI.FunctionToolParam","com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.HeaderIsolationKeySource":"Azure.AI.Projects.HeaderIsolationKeySource","com.azure.ai.agents.models.HeaderTelemetryEndpointAuth":"Azure.AI.Projects.HeaderTelemetryEndpointAuth","com.azure.ai.agents.models.HostedAgentDefinition":"Azure.AI.Projects.HostedAgentDefinition","com.azure.ai.agents.models.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.agents.models.ImageGenActionEnum":"ImageGenActionEnumExpandable","com.azure.ai.agents.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.agents.models.ImageGenToolBackground":"ImageGenToolBackgroundExpandable","com.azure.ai.agents.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.agents.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.agents.models.ImageGenToolModeration":"ImageGenToolModerationExpandable","com.azure.ai.agents.models.ImageGenToolOutputFormat":"ImageGenToolOutputFormatExpandable","com.azure.ai.agents.models.ImageGenToolQuality":"ImageGenToolQualityExpandable","com.azure.ai.agents.models.ImageGenToolSize":"ImageGenToolSizeExpandable","com.azure.ai.agents.models.IncludeEnum":"OpenAI.IncludeEnum","com.azure.ai.agents.models.InlineSkillParameter":"OpenAI.InlineSkillParam","com.azure.ai.agents.models.InlineSkillSourceParameter":"OpenAI.InlineSkillSourceParam","com.azure.ai.agents.models.InputFidelity":"InputFidelityExpandable","com.azure.ai.agents.models.IsolationKeySource":"Azure.AI.Projects.IsolationKeySource","com.azure.ai.agents.models.IsolationKeySourceKind":"Azure.AI.Projects.IsolationKeySourceKind","com.azure.ai.agents.models.JobStatus":"Azure.AI.Projects.JobStatus","com.azure.ai.agents.models.ListMemoriesOptions":null,"com.azure.ai.agents.models.LocalShellToolParameter":"OpenAI.LocalShellToolParam","com.azure.ai.agents.models.LocalSkillParameter":"OpenAI.LocalSkillParam","com.azure.ai.agents.models.ManagedAgentIdentityBlueprintReference":"Azure.AI.Projects.ManagedAgentIdentityBlueprintReference","com.azure.ai.agents.models.McpTool":"OpenAI.MCPTool","com.azure.ai.agents.models.McpToolConnectorId":"McpToolConnectorIdExpandable","com.azure.ai.agents.models.McpToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.agents.models.McpToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.agents.models.MemoryCommandToolCall":"Azure.AI.Projects.MemoryCommandToolCall","com.azure.ai.agents.models.MemoryCommandToolCallOutput":"Azure.AI.Projects.MemoryCommandToolCallOutput","com.azure.ai.agents.models.MemoryItem":"Azure.AI.Projects.MemoryItem","com.azure.ai.agents.models.MemoryItemKind":"Azure.AI.Projects.MemoryItemKind","com.azure.ai.agents.models.MemoryOperation":"Azure.AI.Projects.MemoryOperation","com.azure.ai.agents.models.MemoryOperationKind":"Azure.AI.Projects.MemoryOperationKind","com.azure.ai.agents.models.MemorySearchItem":"Azure.AI.Projects.MemorySearchItem","com.azure.ai.agents.models.MemorySearchOptions":"Azure.AI.Projects.MemorySearchOptions","com.azure.ai.agents.models.MemorySearchPreviewTool":"Azure.AI.Projects.MemorySearchPreviewTool","com.azure.ai.agents.models.MemorySearchToolCall":"Azure.AI.Projects.MemorySearchToolCall","com.azure.ai.agents.models.MemoryStoreDefaultDefinition":"Azure.AI.Projects.MemoryStoreDefaultDefinition","com.azure.ai.agents.models.MemoryStoreDefaultOptions":"Azure.AI.Projects.MemoryStoreDefaultOptions","com.azure.ai.agents.models.MemoryStoreDefinition":"Azure.AI.Projects.MemoryStoreDefinition","com.azure.ai.agents.models.MemoryStoreDetails":"Azure.AI.Projects.MemoryStoreObject","com.azure.ai.agents.models.MemoryStoreKind":"Azure.AI.Projects.MemoryStoreKind","com.azure.ai.agents.models.MemoryStoreObjectType":"Azure.AI.Projects.MemoryStoreObjectType","com.azure.ai.agents.models.MemoryStoreOperationUsage":"Azure.AI.Projects.MemoryStoreOperationUsage","com.azure.ai.agents.models.MemoryStoreSearchResponse":"Azure.AI.Projects.MemoryStoreSearchResponse","com.azure.ai.agents.models.MemoryStoreUpdateCompletedResult":"Azure.AI.Projects.MemoryStoreUpdateCompletedResult","com.azure.ai.agents.models.MemoryStoreUpdateResponse":"Azure.AI.Projects.MemoryStoreUpdateResponse","com.azure.ai.agents.models.MemoryStoreUpdateStatus":"Azure.AI.Projects.MemoryStoreUpdateStatus","com.azure.ai.agents.models.MicrosoftFabricPreviewTool":"Azure.AI.Projects.MicrosoftFabricPreviewTool","com.azure.ai.agents.models.NamespaceToolParam":"OpenAI.NamespaceToolParam","com.azure.ai.agents.models.OpenApiAnonymousAuthDetails":"Azure.AI.Projects.OpenApiAnonymousAuthDetails","com.azure.ai.agents.models.OpenApiAuthDetails":"Azure.AI.Projects.OpenApiAuthDetails","com.azure.ai.agents.models.OpenApiAuthType":"Azure.AI.Projects.OpenApiAuthType","com.azure.ai.agents.models.OpenApiFunctionDefinition":"Azure.AI.Projects.OpenApiFunctionDefinition","com.azure.ai.agents.models.OpenApiFunctionDefinitionFunction":"Azure.AI.Projects.OpenApiFunctionDefinition.function.anonymous","com.azure.ai.agents.models.OpenApiManagedAuthDetails":"Azure.AI.Projects.OpenApiManagedAuthDetails","com.azure.ai.agents.models.OpenApiManagedSecurityScheme":"Azure.AI.Projects.OpenApiManagedSecurityScheme","com.azure.ai.agents.models.OpenApiProjectConnectionAuthDetails":"Azure.AI.Projects.OpenApiProjectConnectionAuthDetails","com.azure.ai.agents.models.OpenApiProjectConnectionSecurityScheme":"Azure.AI.Projects.OpenApiProjectConnectionSecurityScheme","com.azure.ai.agents.models.OpenApiTool":"Azure.AI.Projects.OpenApiTool","com.azure.ai.agents.models.OpenApiToolCall":"Azure.AI.Projects.OpenApiToolCall","com.azure.ai.agents.models.OpenApiToolCallOutput":"Azure.AI.Projects.OpenApiToolCallOutput","com.azure.ai.agents.models.OptimizationAgentIdentifier":"Azure.AI.Projects.OptimizationAgentIdentifier","com.azure.ai.agents.models.OptimizationCandidate":"Azure.AI.Projects.OptimizationCandidate","com.azure.ai.agents.models.OptimizationDatasetCriterion":"Azure.AI.Projects.OptimizationDatasetCriterion","com.azure.ai.agents.models.OptimizationDatasetInput":"Azure.AI.Projects.OptimizationDatasetInput","com.azure.ai.agents.models.OptimizationDatasetInputType":"Azure.AI.Projects.OptimizationDatasetInputType","com.azure.ai.agents.models.OptimizationDatasetItem":"Azure.AI.Projects.OptimizationDatasetItem","com.azure.ai.agents.models.OptimizationEvaluatorRef":"Azure.AI.Projects.OptimizationEvaluatorRef","com.azure.ai.agents.models.OptimizationInlineDatasetInput":"Azure.AI.Projects.OptimizationInlineDatasetInput","com.azure.ai.agents.models.OptimizationJob":"Azure.AI.Projects.OptimizationJob","com.azure.ai.agents.models.OptimizationJobInputs":"Azure.AI.Projects.OptimizationJobInputs","com.azure.ai.agents.models.OptimizationJobListItem":"Azure.AI.Projects.OptimizationJobListItem","com.azure.ai.agents.models.OptimizationJobProgress":"Azure.AI.Projects.OptimizationJobProgress","com.azure.ai.agents.models.OptimizationJobResult":"Azure.AI.Projects.OptimizationJobResult","com.azure.ai.agents.models.OptimizationOptions":"Azure.AI.Projects.OptimizationOptions","com.azure.ai.agents.models.OptimizationReferenceDatasetInput":"Azure.AI.Projects.OptimizationReferenceDatasetInput","com.azure.ai.agents.models.OtlpTelemetryEndpoint":"Azure.AI.Projects.OtlpTelemetryEndpoint","com.azure.ai.agents.models.PageOrder":"Azure.AI.Projects.PageOrder","com.azure.ai.agents.models.ProceduralMemoryItem":"Azure.AI.Projects.ProceduralMemoryItem","com.azure.ai.agents.models.PromotionInfo":"Azure.AI.Projects.PromotionInfo","com.azure.ai.agents.models.PromptAgentDefinition":"Azure.AI.Projects.PromptAgentDefinition","com.azure.ai.agents.models.PromptAgentDefinitionTextOptions":"Azure.AI.Projects.PromptAgentDefinitionTextOptions","com.azure.ai.agents.models.ProtocolVersionRecord":"Azure.AI.Projects.ProtocolVersionRecord","com.azure.ai.agents.models.RaiConfig":"Azure.AI.Projects.RaiConfig","com.azure.ai.agents.models.RankerVersionType":"RankerVersionTypeExpandable","com.azure.ai.agents.models.RankingOptions":"OpenAI.RankingOptions","com.azure.ai.agents.models.ReminderPreviewTool":"Azure.AI.Projects.ReminderPreviewTool","com.azure.ai.agents.models.ResponseFormatJsonSchemaInner":"OpenAI.ResponseFormatJsonSchemaSchema","com.azure.ai.agents.models.ResponseUsageInputTokensDetails":"OpenAI.ResponseUsageInputTokensDetails","com.azure.ai.agents.models.ResponseUsageOutputTokensDetails":"OpenAI.ResponseUsageOutputTokensDetails","com.azure.ai.agents.models.SearchContentType":"OpenAI.SearchContentType","com.azure.ai.agents.models.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionFileWriteResult":"Azure.AI.Projects.SessionFileWriteResponse","com.azure.ai.agents.models.SessionLogEvent":"Azure.AI.Projects.SessionLogEvent","com.azure.ai.agents.models.SessionLogEventType":"Azure.AI.Projects.SessionLogEventType","com.azure.ai.agents.models.SharepointGroundingToolCall":"Azure.AI.Projects.SharepointGroundingToolCall","com.azure.ai.agents.models.SharepointGroundingToolCallOutput":"Azure.AI.Projects.SharepointGroundingToolCallOutput","com.azure.ai.agents.models.SharepointGroundingToolParameters":"Azure.AI.Projects.SharepointGroundingToolParameters","com.azure.ai.agents.models.SharepointPreviewTool":"Azure.AI.Projects.SharepointPreviewTool","com.azure.ai.agents.models.SkillReferenceParameter":"OpenAI.SkillReferenceParam","com.azure.ai.agents.models.StructuredInputDefinition":"Azure.AI.Projects.StructuredInputDefinition","com.azure.ai.agents.models.StructuredOutputDefinition":"Azure.AI.Projects.StructuredOutputDefinition","com.azure.ai.agents.models.TelemetryConfig":"Azure.AI.Projects.TelemetryConfig","com.azure.ai.agents.models.TelemetryDataKind":"Azure.AI.Projects.TelemetryDataKind","com.azure.ai.agents.models.TelemetryEndpoint":"Azure.AI.Projects.TelemetryEndpoint","com.azure.ai.agents.models.TelemetryEndpointAuth":"Azure.AI.Projects.TelemetryEndpointAuth","com.azure.ai.agents.models.TelemetryEndpointAuthType":"Azure.AI.Projects.TelemetryEndpointAuthType","com.azure.ai.agents.models.TelemetryEndpointKind":"Azure.AI.Projects.TelemetryEndpointKind","com.azure.ai.agents.models.TelemetryTransportProtocol":"Azure.AI.Projects.TelemetryTransportProtocol","com.azure.ai.agents.models.TextResponseFormatConfiguration":"OpenAI.TextResponseFormatConfiguration","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatJsonObject":"OpenAI.TextResponseFormatConfigurationResponseFormatJsonObject","com.azure.ai.agents.models.TextResponseFormatConfigurationResponseFormatText":"OpenAI.TextResponseFormatConfigurationResponseFormatText","com.azure.ai.agents.models.TextResponseFormatConfigurationType":"OpenAI.TextResponseFormatConfigurationType","com.azure.ai.agents.models.TextResponseFormatJsonSchema":"OpenAI.TextResponseFormatJsonSchema","com.azure.ai.agents.models.Tool":"OpenAI.Tool","com.azure.ai.agents.models.ToolCallStatus":"Azure.AI.Projects.ToolCallStatus","com.azure.ai.agents.models.ToolConfig":"Azure.AI.Projects.ToolConfig","com.azure.ai.agents.models.ToolProjectConnection":"Azure.AI.Projects.ToolProjectConnection","com.azure.ai.agents.models.ToolSearchExecutionType":"OpenAI.ToolSearchExecutionType","com.azure.ai.agents.models.ToolSearchToolParam":"OpenAI.ToolSearchToolParam","com.azure.ai.agents.models.ToolType":"OpenAI.ToolType","com.azure.ai.agents.models.ToolboxDetails":"Azure.AI.Projects.ToolboxObject","com.azure.ai.agents.models.ToolboxPolicies":"Azure.AI.Projects.ToolboxPolicies","com.azure.ai.agents.models.ToolboxSearchPreviewTool":"Azure.AI.Projects.ToolboxSearchPreviewTool","com.azure.ai.agents.models.ToolboxSkill":"Azure.AI.Projects.ToolboxSkill","com.azure.ai.agents.models.ToolboxSkillReference":"Azure.AI.Projects.ToolboxSkillReference","com.azure.ai.agents.models.ToolboxVersionDetails":"Azure.AI.Projects.ToolboxVersionObject","com.azure.ai.agents.models.UpdateAgentDetailsOptions":"Azure.AI.Projects.patchAgentObject.Request.anonymous","com.azure.ai.agents.models.UserProfileMemoryItem":"Azure.AI.Projects.UserProfileMemoryItem","com.azure.ai.agents.models.VersionIndicator":"Azure.AI.Projects.VersionIndicator","com.azure.ai.agents.models.VersionIndicatorType":"Azure.AI.Projects.VersionIndicatorType","com.azure.ai.agents.models.VersionRefIndicator":"Azure.AI.Projects.VersionRefIndicator","com.azure.ai.agents.models.VersionSelectionRule":"Azure.AI.Projects.VersionSelectionRule","com.azure.ai.agents.models.VersionSelector":"Azure.AI.Projects.VersionSelector","com.azure.ai.agents.models.VersionSelectorType":"Azure.AI.Projects.VersionSelectorType","com.azure.ai.agents.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.agents.models.WebSearchConfiguration":"Azure.AI.Projects.WebSearchConfiguration","com.azure.ai.agents.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.agents.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.agents.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.agents.models.WebSearchToolSearchContextSize":"WebSearchToolSearchContextSizeExpandable","com.azure.ai.agents.models.WorkIqPreviewTool":"Azure.AI.Projects.WorkIQPreviewTool","com.azure.ai.agents.models.WorkflowAgentDefinition":"Azure.AI.Projects.WorkflowAgentDefinition"},"generatedFiles":["src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/BetaAgentsAsyncClient.java","src/main/java/com/azure/ai/agents/BetaAgentsClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/BetaMemoryStoresClient.java","src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java","src/main/java/com/azure/ai/agents/ToolboxesClient.java","src/main/java/com/azure/ai/agents/implementation/AgentsClientImpl.java","src/main/java/com/azure/ai/agents/implementation/AgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaAgentsImpl.java","src/main/java/com/azure/ai/agents/implementation/BetaMemoryStoresImpl.java","src/main/java/com/azure/ai/agents/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/agents/implementation/OperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/PollingUtils.java","src/main/java/com/azure/ai/agents/implementation/SyncOperationLocationPollingStrategy.java","src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java","src/main/java/com/azure/ai/agents/implementation/models/AgentDefinitionOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromCodeContent.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentOptions.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateAgentVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateSessionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java","src/main/java/com/azure/ai/agents/implementation/models/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/implementation/models/ListMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/SearchMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentFromManifestRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateAgentRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoriesRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateMemoryStoreRequest.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxInput.java","src/main/java/com/azure/ai/agents/implementation/models/UpdateToolboxRequest.java","src/main/java/com/azure/ai/agents/implementation/models/package-info.java","src/main/java/com/azure/ai/agents/implementation/package-info.java","src/main/java/com/azure/ai/agents/models/A2APreviewTool.java","src/main/java/com/azure/ai/agents/models/A2AToolCall.java","src/main/java/com/azure/ai/agents/models/A2AToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AISearchIndexResource.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReference.java","src/main/java/com/azure/ai/agents/models/AgentBlueprintReferenceType.java","src/main/java/com/azure/ai/agents/models/AgentCard.java","src/main/java/com/azure/ai/agents/models/AgentCardSkill.java","src/main/java/com/azure/ai/agents/models/AgentDefinition.java","src/main/java/com/azure/ai/agents/models/AgentDetails.java","src/main/java/com/azure/ai/agents/models/AgentDetailsVersions.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/AgentEndpointAuthorizationSchemeType.java","src/main/java/com/azure/ai/agents/models/AgentEndpointConfig.java","src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java","src/main/java/com/azure/ai/agents/models/AgentIdentity.java","src/main/java/com/azure/ai/agents/models/AgentKind.java","src/main/java/com/azure/ai/agents/models/AgentObjectType.java","src/main/java/com/azure/ai/agents/models/AgentReference.java","src/main/java/com/azure/ai/agents/models/AgentSessionResource.java","src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java","src/main/java/com/azure/ai/agents/models/AgentState.java","src/main/java/com/azure/ai/agents/models/AgentVersionDetails.java","src/main/java/com/azure/ai/agents/models/AgentVersionStatus.java","src/main/java/com/azure/ai/agents/models/ApiError.java","src/main/java/com/azure/ai/agents/models/ApplyPatchToolParameter.java","src/main/java/com/azure/ai/agents/models/ApproximateLocation.java","src/main/java/com/azure/ai/agents/models/AutoCodeInterpreterToolParameter.java","src/main/java/com/azure/ai/agents/models/AzureAISearchQueryType.java","src/main/java/com/azure/ai/agents/models/AzureAISearchTool.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCall.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/AzureAISearchToolResource.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseDetails.java","src/main/java/com/azure/ai/agents/models/AzureCreateResponseOptions.java","src/main/java/com/azure/ai/agents/models/AzureFunctionBinding.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/AzureFunctionDefinitionDetails.java","src/main/java/com/azure/ai/agents/models/AzureFunctionStorageQueue.java","src/main/java/com/azure/ai/agents/models/AzureFunctionTool.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCall.java","src/main/java/com/azure/ai/agents/models/AzureFunctionToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCall.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BingCustomSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/BingGroundingSearchToolParameters.java","src/main/java/com/azure/ai/agents/models/BingGroundingTool.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/BingGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BotServiceAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BotServiceRbacAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationPreviewTool.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCall.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolCallOutput.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolConnectionParameters.java","src/main/java/com/azure/ai/agents/models/BrowserAutomationToolParameters.java","src/main/java/com/azure/ai/agents/models/CaptureStructuredOutputsTool.java","src/main/java/com/azure/ai/agents/models/ChatSummaryMemoryItem.java","src/main/java/com/azure/ai/agents/models/CodeConfiguration.java","src/main/java/com/azure/ai/agents/models/CodeDependencyResolution.java","src/main/java/com/azure/ai/agents/models/CodeFileDetails.java","src/main/java/com/azure/ai/agents/models/CodeInterpreterTool.java","src/main/java/com/azure/ai/agents/models/ComputerEnvironment.java","src/main/java/com/azure/ai/agents/models/ComputerTool.java","src/main/java/com/azure/ai/agents/models/ComputerUsePreviewTool.java","src/main/java/com/azure/ai/agents/models/ContainerAutoParameter.java","src/main/java/com/azure/ai/agents/models/ContainerConfiguration.java","src/main/java/com/azure/ai/agents/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyAllowlistParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDisabledParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyDomainSecretParameter.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/agents/models/ContainerNetworkPolicyParameter.java","src/main/java/com/azure/ai/agents/models/ContainerSkill.java","src/main/java/com/azure/ai/agents/models/ContainerSkillType.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeContent.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionFromCodeMetadata.java","src/main/java/com/azure/ai/agents/models/CreateAgentVersionInput.java","src/main/java/com/azure/ai/agents/models/CustomGrammarFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomTextFormatParameter.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/agents/models/CustomToolParamFormatType.java","src/main/java/com/azure/ai/agents/models/CustomToolParameter.java","src/main/java/com/azure/ai/agents/models/EmptyModelParam.java","src/main/java/com/azure/ai/agents/models/EntraAuthorizationScheme.java","src/main/java/com/azure/ai/agents/models/EntraIsolationKeySource.java","src/main/java/com/azure/ai/agents/models/EvaluationLevel.java","src/main/java/com/azure/ai/agents/models/ExternalAgentDefinition.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCall.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolCallOutput.java","src/main/java/com/azure/ai/agents/models/FabricDataAgentToolParameters.java","src/main/java/com/azure/ai/agents/models/FabricIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/FileSearchTool.java","src/main/java/com/azure/ai/agents/models/FixedRatioVersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/FunctionToolParam.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/HeaderIsolationKeySource.java","src/main/java/com/azure/ai/agents/models/HeaderTelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/HostedAgentDefinition.java","src/main/java/com/azure/ai/agents/models/HybridSearchOptions.java","src/main/java/com/azure/ai/agents/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/agents/models/ImageGenTool.java","src/main/java/com/azure/ai/agents/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/agents/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModel.java","src/main/java/com/azure/ai/agents/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/agents/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/agents/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/agents/models/ImageGenToolSize.java","src/main/java/com/azure/ai/agents/models/IncludeEnum.java","src/main/java/com/azure/ai/agents/models/InlineSkillParameter.java","src/main/java/com/azure/ai/agents/models/InlineSkillSourceParameter.java","src/main/java/com/azure/ai/agents/models/InputFidelity.java","src/main/java/com/azure/ai/agents/models/IsolationKeySource.java","src/main/java/com/azure/ai/agents/models/IsolationKeySourceKind.java","src/main/java/com/azure/ai/agents/models/JobStatus.java","src/main/java/com/azure/ai/agents/models/ListMemoriesOptions.java","src/main/java/com/azure/ai/agents/models/LocalShellToolParameter.java","src/main/java/com/azure/ai/agents/models/LocalSkillParameter.java","src/main/java/com/azure/ai/agents/models/ManagedAgentIdentityBlueprintReference.java","src/main/java/com/azure/ai/agents/models/McpTool.java","src/main/java/com/azure/ai/agents/models/McpToolConnectorId.java","src/main/java/com/azure/ai/agents/models/McpToolFilter.java","src/main/java/com/azure/ai/agents/models/McpToolRequireApproval.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryCommandToolCallOutput.java","src/main/java/com/azure/ai/agents/models/MemoryItem.java","src/main/java/com/azure/ai/agents/models/MemoryItemKind.java","src/main/java/com/azure/ai/agents/models/MemoryOperation.java","src/main/java/com/azure/ai/agents/models/MemoryOperationKind.java","src/main/java/com/azure/ai/agents/models/MemorySearchItem.java","src/main/java/com/azure/ai/agents/models/MemorySearchOptions.java","src/main/java/com/azure/ai/agents/models/MemorySearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/MemorySearchToolCall.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDefinition.java","src/main/java/com/azure/ai/agents/models/MemoryStoreDetails.java","src/main/java/com/azure/ai/agents/models/MemoryStoreKind.java","src/main/java/com/azure/ai/agents/models/MemoryStoreObjectType.java","src/main/java/com/azure/ai/agents/models/MemoryStoreOperationUsage.java","src/main/java/com/azure/ai/agents/models/MemoryStoreSearchResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateCompletedResult.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateResponse.java","src/main/java/com/azure/ai/agents/models/MemoryStoreUpdateStatus.java","src/main/java/com/azure/ai/agents/models/MicrosoftFabricPreviewTool.java","src/main/java/com/azure/ai/agents/models/NamespaceToolParam.java","src/main/java/com/azure/ai/agents/models/OpenApiAnonymousAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiAuthType.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinition.java","src/main/java/com/azure/ai/agents/models/OpenApiFunctionDefinitionFunction.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiManagedSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionAuthDetails.java","src/main/java/com/azure/ai/agents/models/OpenApiProjectConnectionSecurityScheme.java","src/main/java/com/azure/ai/agents/models/OpenApiTool.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCall.java","src/main/java/com/azure/ai/agents/models/OpenApiToolCallOutput.java","src/main/java/com/azure/ai/agents/models/OptimizationAgentIdentifier.java","src/main/java/com/azure/ai/agents/models/OptimizationCandidate.java","src/main/java/com/azure/ai/agents/models/OptimizationDatasetCriterion.java","src/main/java/com/azure/ai/agents/models/OptimizationDatasetInput.java","src/main/java/com/azure/ai/agents/models/OptimizationDatasetInputType.java","src/main/java/com/azure/ai/agents/models/OptimizationDatasetItem.java","src/main/java/com/azure/ai/agents/models/OptimizationEvaluatorRef.java","src/main/java/com/azure/ai/agents/models/OptimizationInlineDatasetInput.java","src/main/java/com/azure/ai/agents/models/OptimizationJob.java","src/main/java/com/azure/ai/agents/models/OptimizationJobInputs.java","src/main/java/com/azure/ai/agents/models/OptimizationJobListItem.java","src/main/java/com/azure/ai/agents/models/OptimizationJobProgress.java","src/main/java/com/azure/ai/agents/models/OptimizationJobResult.java","src/main/java/com/azure/ai/agents/models/OptimizationOptions.java","src/main/java/com/azure/ai/agents/models/OptimizationReferenceDatasetInput.java","src/main/java/com/azure/ai/agents/models/OtlpTelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/PageOrder.java","src/main/java/com/azure/ai/agents/models/ProceduralMemoryItem.java","src/main/java/com/azure/ai/agents/models/PromotionInfo.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java","src/main/java/com/azure/ai/agents/models/PromptAgentDefinitionTextOptions.java","src/main/java/com/azure/ai/agents/models/ProtocolVersionRecord.java","src/main/java/com/azure/ai/agents/models/RaiConfig.java","src/main/java/com/azure/ai/agents/models/RankerVersionType.java","src/main/java/com/azure/ai/agents/models/RankingOptions.java","src/main/java/com/azure/ai/agents/models/ReminderPreviewTool.java","src/main/java/com/azure/ai/agents/models/ResponseFormatJsonSchemaInner.java","src/main/java/com/azure/ai/agents/models/ResponseUsageInputTokensDetails.java","src/main/java/com/azure/ai/agents/models/ResponseUsageOutputTokensDetails.java","src/main/java/com/azure/ai/agents/models/SearchContentType.java","src/main/java/com/azure/ai/agents/models/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResult.java","src/main/java/com/azure/ai/agents/models/SessionLogEvent.java","src/main/java/com/azure/ai/agents/models/SessionLogEventType.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCall.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolCallOutput.java","src/main/java/com/azure/ai/agents/models/SharepointGroundingToolParameters.java","src/main/java/com/azure/ai/agents/models/SharepointPreviewTool.java","src/main/java/com/azure/ai/agents/models/SkillReferenceParameter.java","src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java","src/main/java/com/azure/ai/agents/models/StructuredOutputDefinition.java","src/main/java/com/azure/ai/agents/models/TelemetryConfig.java","src/main/java/com/azure/ai/agents/models/TelemetryDataKind.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpoint.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuth.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointAuthType.java","src/main/java/com/azure/ai/agents/models/TelemetryEndpointKind.java","src/main/java/com/azure/ai/agents/models/TelemetryTransportProtocol.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfiguration.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatJsonObject.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationResponseFormatText.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatConfigurationType.java","src/main/java/com/azure/ai/agents/models/TextResponseFormatJsonSchema.java","src/main/java/com/azure/ai/agents/models/Tool.java","src/main/java/com/azure/ai/agents/models/ToolCallStatus.java","src/main/java/com/azure/ai/agents/models/ToolConfig.java","src/main/java/com/azure/ai/agents/models/ToolProjectConnection.java","src/main/java/com/azure/ai/agents/models/ToolSearchExecutionType.java","src/main/java/com/azure/ai/agents/models/ToolSearchToolParam.java","src/main/java/com/azure/ai/agents/models/ToolType.java","src/main/java/com/azure/ai/agents/models/ToolboxDetails.java","src/main/java/com/azure/ai/agents/models/ToolboxPolicies.java","src/main/java/com/azure/ai/agents/models/ToolboxSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/ToolboxSkill.java","src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java","src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java","src/main/java/com/azure/ai/agents/models/UpdateAgentDetailsOptions.java","src/main/java/com/azure/ai/agents/models/UserProfileMemoryItem.java","src/main/java/com/azure/ai/agents/models/VersionIndicator.java","src/main/java/com/azure/ai/agents/models/VersionIndicatorType.java","src/main/java/com/azure/ai/agents/models/VersionRefIndicator.java","src/main/java/com/azure/ai/agents/models/VersionSelectionRule.java","src/main/java/com/azure/ai/agents/models/VersionSelector.java","src/main/java/com/azure/ai/agents/models/VersionSelectorType.java","src/main/java/com/azure/ai/agents/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/agents/models/WebSearchConfiguration.java","src/main/java/com/azure/ai/agents/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/agents/models/WebSearchTool.java","src/main/java/com/azure/ai/agents/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/agents/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/agents/models/WorkIqPreviewTool.java","src/main/java/com/azure/ai/agents/models/WorkflowAgentDefinition.java","src/main/java/com/azure/ai/agents/models/package-info.java","src/main/java/com/azure/ai/agents/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java index b29c12f7951c..14542ed8ad31 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/ReadmeSamples.java @@ -31,12 +31,10 @@ public void readmeSamples() { AgentsClientBuilder builder = new AgentsClientBuilder(); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); ResponsesClient responsesClient = builder.buildResponsesClient(); ConversationService conversationsClient = builder.buildOpenAIClient().conversations(); AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); String agentName = "my-agent"; String agentVersion = "0.1.0"; @@ -92,7 +90,7 @@ public void readmeSamples() { // END: com.azure.ai.agents.openai_official_library // BEGIN: com.azure.ai.agents.session_logs_async - betaAgentsAsyncClient.getSessionLogStream(agentName, agentVersion, sessionId) + agentsAsyncClient.getSessionLogStream(agentName, agentVersion, sessionId) .take(100) .doOnNext(event -> System.out.printf("[%s] %s%n", event.getEvent(), event.getData())) .blockLast(); @@ -100,7 +98,7 @@ public void readmeSamples() { // BEGIN: com.azure.ai.agents.session_logs_sync IterableStream sessionLogs = - betaAgentsClient.getSessionLogStream(agentName, agentVersion, sessionId); + agentsClient.getSessionLogStream(agentName, agentVersion, sessionId); int logsRead = 0; for (SessionLogEvent event : sessionLogs) { diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointAsyncSample.java index 1663774499bc..beb7c4a41f75 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointAsyncSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsAsyncClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentEndpointConfig; @@ -46,11 +45,10 @@ public static void main(String[] args) { .endpoint(endpoint); AgentsAsyncClient agentsAsyncClient = builder.allowPreview(true).buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); AtomicReference resourcesRef = new AtomicReference<>(); Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, - betaAgentsAsyncClient, agentName, image) + agentName, image) .flatMap(resources -> { resourcesRef.set(resources); @@ -62,7 +60,7 @@ public static void main(String[] args) { OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName); - return betaAgentsAsyncClient.updateAgentDetails(agentName, + return agentsAsyncClient.updateAgentDetails(agentName, new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)) .doOnNext(updated -> System.out.printf("Agent endpoint configured for agent: %s%n", updated.getName())) @@ -76,10 +74,10 @@ public static void main(String[] args) { }); workflow - .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, + .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()).then(Mono.error(error))) - .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, + .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()))) .timeout(Duration.ofMinutes(15)) diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointSample.java index c1e56d4680ff..35d0ecc37bd2 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/AgentEndpointSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentEndpointConfig; @@ -44,11 +43,10 @@ public static void main(String[] args) { .endpoint(endpoint); AgentsClient agentsClient = builder.allowPreview(true).buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); AgentEndpointConfig endpointConfig = new AgentEndpointConfig() .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList( @@ -56,7 +54,7 @@ public static void main(String[] args) { .setAgentVersion(resources.getAgent().getVersion())))) .setProtocols(Collections.singletonList(AgentEndpointProtocol.RESPONSES)); - betaAgentsClient.updateAgentDetails(agentName, + agentsClient.updateAgentDetails(agentName, new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)); System.out.printf("Agent endpoint configured for agent: %s%n", agentName); @@ -69,7 +67,7 @@ public static void main(String[] args) { HostedAgentsSampleUtils.printResponseOutput(response); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } } diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentAsyncSample.java index 0df9df114114..e264942b527e 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentAsyncSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsAsyncClient; import com.azure.ai.agents.hostedagents.utils.CodeAgentSampleUtils; import com.azure.core.exception.ResourceNotFoundException; import com.azure.core.util.BinaryData; @@ -33,7 +32,6 @@ public static void main(String[] args) { .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint); AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); Mono workflow = agentsAsyncClient.deleteAgent(agentName) .onErrorResume(ResourceNotFoundException.class, ignored -> Mono.empty()) @@ -43,7 +41,7 @@ public static void main(String[] args) { // BEGIN: com.azure.ai.agents.hostedagents.CodeAgentAsyncSample.createAgentVersionFromCode_initial - return betaAgentsAsyncClient.createAgentVersionFromCode( + return agentsAsyncClient.createAgentVersionFromCode( agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)) @@ -56,14 +54,14 @@ public static void main(String[] args) { // BEGIN: com.azure.ai.agents.hostedagents.CodeAgentAsyncSample.downloadAgentCode - .then(betaAgentsAsyncClient.downloadAgentCode(agentName, null)) + .then(agentsAsyncClient.downloadAgentCode(agentName, null)) .flatMap(downloadedCode -> writeDownloadedCode(agentName, downloadedCode)) // END: com.azure.ai.agents.hostedagents.CodeAgentAsyncSample.downloadAgentCode // BEGIN: com.azure.ai.agents.hostedagents.CodeAgentAsyncSample.createAgentVersionFromCode - .then(betaAgentsAsyncClient.createAgentVersionFromCode( + .then(agentsAsyncClient.createAgentVersionFromCode( agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip))) diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentSample.java index 89ba5e8670d1..ee3ad2a8252d 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/CodeAgentSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.hostedagents.utils.CodeAgentSampleUtils; import com.azure.ai.agents.models.AgentVersionDetails; import com.azure.core.exception.ResourceNotFoundException; @@ -32,7 +31,6 @@ public static void main(String[] args) throws IOException { .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); try { agentsClient.deleteAgent(agentName); @@ -46,7 +44,7 @@ public static void main(String[] args) throws IOException { BinaryData codeZip = CodeAgentSampleUtils.createCodeZip(); String codeZipSha256 = CodeAgentSampleUtils.sha256(codeZip); - AgentVersionDetails version = betaAgentsClient.createAgentVersionFromCode( + AgentVersionDetails version = agentsClient.createAgentVersionFromCode( agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)); @@ -58,7 +56,7 @@ public static void main(String[] args) throws IOException { // BEGIN: com.azure.ai.agents.hostedagents.CodeAgentSample.downloadAgentCode - BinaryData downloadedCode = betaAgentsClient.downloadAgentCode(agentName, null); + BinaryData downloadedCode = agentsClient.downloadAgentCode(agentName, null); Path downloadPath = Files.createTempFile(agentName + "-", ".zip"); Files.write(downloadPath, downloadedCode.toBytes()); System.out.println("Downloaded code package path: " + downloadPath); @@ -67,7 +65,7 @@ public static void main(String[] args) throws IOException { // BEGIN: com.azure.ai.agents.hostedagents.CodeAgentSample.createAgentVersionFromCode - AgentVersionDetails newVersion = betaAgentsClient.createAgentVersionFromCode( + AgentVersionDetails newVersion = agentsClient.createAgentVersionFromCode( agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesAsyncSample.java index f9a55c1a9261..54f11e0df944 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesAsyncSample.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.hostedagents; import com.azure.ai.agents.AgentsAsyncClient; -import com.azure.ai.agents.BetaAgentsAsyncClient; import com.azure.ai.agents.AgentsClientBuilder; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; @@ -42,29 +41,28 @@ public static void main(String[] args) { .endpoint(endpoint); AgentsAsyncClient agentsAsyncClient = builder.allowPreview(true).buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); AtomicReference resourcesRef = new AtomicReference<>(); - Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, image) + Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, agentName, image) .flatMap(resources -> { resourcesRef.set(resources); String sessionId = resources.getSession().getAgentSessionId(); - return betaAgentsAsyncClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, + return agentsAsyncClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, BinaryData.fromString("Sample session file 1."), null) .doOnNext(response -> System.out.printf("Uploaded session file: %s%n", response.getPath())) - .then(betaAgentsAsyncClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, + .then(agentsAsyncClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, BinaryData.fromString("Sample session file 2."), null)) .doOnNext(response -> System.out.printf("Uploaded session file: %s%n", response.getPath())) .then(Mono.defer(() -> { System.out.println("Listing session files for the session at path '/remote'..."); - return betaAgentsAsyncClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null) + return agentsAsyncClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null) .doOnNext(entry -> System.out.printf(" - name=%s, size=%d, isDirectory=%s%n", entry.getName(), entry.getSize(), entry.isDirectory())) .then(); })) - .then(betaAgentsAsyncClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null)) + .then(agentsAsyncClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null)) .doOnNext(downloaded -> { System.out.printf("Downloading and printing content from '%s'%n", REMOTE_FILE_PATH_1); String fileContent = new String(downloaded.toBytes(), StandardCharsets.UTF_8); @@ -72,18 +70,18 @@ public static void main(String[] args) { }) .then(Mono.defer(() -> { System.out.printf("Deleting session file at path: %s...%n", REMOTE_FILE_PATH_1); - return betaAgentsAsyncClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); + return agentsAsyncClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); })) .then(Mono.defer(() -> { System.out.printf("Deleting session file at path: %s...%n", REMOTE_FILE_PATH_2); - return betaAgentsAsyncClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); + return agentsAsyncClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); })); }); workflow - .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()).then(Mono.error(error))) - .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()))) .timeout(Duration.ofMinutes(15)) .block(); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesSample.java index ade914d55a42..ecf56556697f 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionFilesSample.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.hostedagents; import com.azure.ai.agents.AgentsClient; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.AgentsClientBuilder; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; @@ -40,39 +39,38 @@ public static void main(String[] args) { .endpoint(endpoint); AgentsClient agentsClient = builder.allowPreview(true).buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); String sessionId = resources.getSession().getAgentSessionId(); - betaAgentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, + agentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, BinaryData.fromString("Sample session file 1."), null); System.out.printf("Uploaded session file: %s%n", REMOTE_FILE_PATH_1); - betaAgentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, + agentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, BinaryData.fromString("Sample session file 2."), null); System.out.printf("Uploaded session file: %s%n", REMOTE_FILE_PATH_2); System.out.println("Listing session files for the session at path '/remote'..."); - for (SessionDirectoryEntry entry : betaAgentsClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null)) { + for (SessionDirectoryEntry entry : agentsClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null)) { System.out.printf(" - name=%s, size=%d, isDirectory=%s%n", entry.getName(), entry.getSize(), entry.isDirectory()); } System.out.printf("Downloading and printing content from '%s'%n", REMOTE_FILE_PATH_1); - BinaryData downloaded = betaAgentsClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null); + BinaryData downloaded = agentsClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null); String fileContent = new String(downloaded.toBytes(), StandardCharsets.UTF_8); System.out.printf("Session file content (%s):%n%s%n", REMOTE_FILE_PATH_1, fileContent); System.out.printf("Deleting session file at path: %s...%n", REMOTE_FILE_PATH_1); - betaAgentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); + agentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); System.out.printf("Deleting session file at path: %s...%n", REMOTE_FILE_PATH_2); - betaAgentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); + agentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } } diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamAsyncSample.java index 3861c62b6275..b6296d9ea899 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamAsyncSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsAsyncClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentEndpointConfig; @@ -48,10 +47,9 @@ public static void main(String[] args) { .endpoint(endpoint); AgentsAsyncClient agentsAsyncClient = builder.allowPreview(true).buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); AtomicReference resourcesRef = new AtomicReference<>(); - Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, image) + Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, agentName, image) .flatMap(resources -> { resourcesRef.set(resources); @@ -63,7 +61,7 @@ public static void main(String[] args) { OpenAIClientAsync openAIAsyncClient = builder.buildAgentScopedOpenAIAsyncClient(agentName); - return betaAgentsAsyncClient.updateAgentDetails(agentName, + return agentsAsyncClient.updateAgentDetails(agentName, new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)) .doOnNext(updated -> System.out.printf("Agent endpoint configured for agent: %s%n", updated.getName())) @@ -73,7 +71,7 @@ public static void main(String[] args) { JsonValue.from(resources.getSession().getAgentSessionId())) .build()))) .doOnNext(HostedAgentsSampleUtils::printResponseOutput) - .then(betaAgentsAsyncClient.getSessionLogStreamWithResponse(agentName, resources.getAgent().getVersion(), + .then(agentsAsyncClient.getSessionLogStreamWithResponse(agentName, resources.getAgent().getVersion(), resources.getSession().getAgentSessionId(), new RequestOptions())) .flatMap(response -> Mono.fromRunnable(() -> { try { @@ -87,9 +85,9 @@ public static void main(String[] args) { }); workflow - .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()).then(Mono.error(error))) - .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()))) .timeout(Duration.ofMinutes(15)) .block(); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamSample.java index eeea51872c3b..29a0e4997376 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionLogStreamSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentEndpointConfig; @@ -47,11 +46,10 @@ public static void main(String[] args) throws IOException { .endpoint(endpoint); AgentsClient agentsClient = builder.allowPreview(true).buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); AgentEndpointConfig endpointConfig = new AgentEndpointConfig() .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList( @@ -59,7 +57,7 @@ public static void main(String[] args) throws IOException { .setAgentVersion(resources.getAgent().getVersion())))) .setProtocols(Collections.singletonList(AgentEndpointProtocol.RESPONSES)); - betaAgentsClient.updateAgentDetails(agentName, + agentsClient.updateAgentDetails(agentName, new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)); System.out.printf("Agent endpoint configured for agent: %s%n", agentName); @@ -73,11 +71,11 @@ public static void main(String[] args) throws IOException { HostedAgentsSampleUtils.printResponseOutput(openAIResponse); System.out.println("Streaming session logs..."); - Response rawStream = betaAgentsClient.getSessionLogStreamWithResponse(agentName, + Response rawStream = agentsClient.getSessionLogStreamWithResponse(agentName, resources.getAgent().getVersion(), resources.getSession().getAgentSessionId(), new RequestOptions()); HostedAgentsSampleUtils.printSseFrames(rawStream.getValue(), 30); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } } diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsAsyncSample.java index 852e0a6b2f42..833c2cce1a32 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsAsyncSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsAsyncClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentSessionResource; @@ -37,34 +36,33 @@ public static void main(String[] args) { .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint); AgentsAsyncClient agentsAsyncClient = builder.allowPreview(true).buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); AtomicReference resourcesRef = new AtomicReference<>(); - Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, image) + Mono workflow = HostedAgentsSampleUtils.createAgentAndSessionAsync(agentsAsyncClient, agentName, image) .flatMap(resources -> { resourcesRef.set(resources); AgentSessionResource session = resources.getSession(); - return betaAgentsAsyncClient.getSession(agentName, session.getAgentSessionId(), null) + return agentsAsyncClient.getSession(agentName, session.getAgentSessionId(), null) .doOnNext(fetched -> System.out.printf("Retrieved session (id: %s, status: %s)%n", fetched.getAgentSessionId(), fetched.getStatus())) - .thenMany(betaAgentsAsyncClient.listSessions(agentName, null, null, null, null, null) + .thenMany(agentsAsyncClient.listSessions(agentName, null, null, null, null, null) .doOnSubscribe(unused -> System.out.println("Listing sessions for the agent...")) .doOnNext(item -> System.out.printf(" - %s (status: %s)%n", item.getAgentSessionId(), item.getStatus()))) .then(Mono.defer(() -> { System.out.printf("Deleting session with id: %s...%n", session.getAgentSessionId()); - return betaAgentsAsyncClient.deleteSession(agentName, session.getAgentSessionId(), null) + return agentsAsyncClient.deleteSession(agentName, session.getAgentSessionId(), null) .doOnSuccess(unused -> System.out.printf("Session with id: %s deleted.%n", session.getAgentSessionId())); })); }); workflow - .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .onErrorResume(error -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()).then(Mono.error(error))) - .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, betaAgentsAsyncClient, agentName, + .then(Mono.defer(() -> HostedAgentsSampleUtils.cleanupAsync(agentsAsyncClient, agentName, resourcesRef.get()))) .timeout(Duration.ofMinutes(15)) .block(); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsSample.java index 0742a96bebb8..53def9b52375 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/SessionsSample.java @@ -5,7 +5,6 @@ import com.azure.ai.agents.AgentsClient; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils; import com.azure.ai.agents.hostedagents.utils.HostedAgentsSampleUtils.HostedAgentSessionResources; import com.azure.ai.agents.models.AgentSessionResource; @@ -34,28 +33,27 @@ public static void main(String[] args) { .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint); AgentsClient agentsClient = builder.allowPreview(true).buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); AgentSessionResource session = resources.getSession(); - AgentSessionResource fetched = betaAgentsClient.getSession(agentName, session.getAgentSessionId(), null); + AgentSessionResource fetched = agentsClient.getSession(agentName, session.getAgentSessionId(), null); System.out.printf("Retrieved session (id: %s, status: %s)%n", fetched.getAgentSessionId(), fetched.getStatus()); System.out.println("Listing sessions for the agent..."); - PagedIterable sessions = betaAgentsClient.listSessions(agentName, null, null, null, null, null); + PagedIterable sessions = agentsClient.listSessions(agentName, null, null, null, null, null); for (AgentSessionResource item : sessions) { System.out.printf(" - %s (status: %s)%n", item.getAgentSessionId(), item.getStatus()); } System.out.printf("Deleting session with id: %s...%n", session.getAgentSessionId()); - betaAgentsClient.deleteSession(agentName, session.getAgentSessionId(), null); + agentsClient.deleteSession(agentName, session.getAgentSessionId(), null); System.out.printf("Session with id: %s deleted.%n", session.getAgentSessionId()); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } } diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/CodeAgentSampleUtils.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/CodeAgentSampleUtils.java index f2074f97ddf7..b99df6dfd44f 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/CodeAgentSampleUtils.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/CodeAgentSampleUtils.java @@ -3,7 +3,7 @@ package com.azure.ai.agents.hostedagents.utils; -import com.azure.ai.agents.models.AgentProtocol; +import com.azure.ai.agents.models.AgentEndpointProtocol; import com.azure.ai.agents.models.AgentVersionDetails; import com.azure.ai.agents.models.CodeConfiguration; import com.azure.ai.agents.models.CodeDependencyResolution; @@ -86,7 +86,7 @@ private static HostedAgentDefinition createHostedAgentDefinition() { Arrays.asList("python", "main.py"), CodeDependencyResolution.REMOTE_BUILD)) .setProtocolVersions(Collections.singletonList( - new ProtocolVersionRecord(AgentProtocol.RESPONSES, "1.0.0"))); + new ProtocolVersionRecord(AgentEndpointProtocol.RESPONSES, "1.0.0"))); } private static CodeFileDetails createCodeFileDetails(BinaryData codeZip) { diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/HostedAgentsSampleUtils.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/HostedAgentsSampleUtils.java index 2e5ae853730f..efe97c4a1be5 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/HostedAgentsSampleUtils.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/hostedagents/utils/HostedAgentsSampleUtils.java @@ -5,9 +5,7 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClient; -import com.azure.ai.agents.BetaAgentsAsyncClient; -import com.azure.ai.agents.BetaAgentsClient; -import com.azure.ai.agents.models.AgentProtocol; +import com.azure.ai.agents.models.AgentEndpointProtocol; import com.azure.ai.agents.models.AgentSessionResource; import com.azure.ai.agents.models.AgentVersionDetails; import com.azure.ai.agents.models.AgentVersionStatus; @@ -52,11 +50,11 @@ private HostedAgentsSampleUtils() { } public static HostedAgentSessionResources createAgentAndSession(AgentsClient agentsClient, - BetaAgentsClient betaAgentsClient, String agentName, String image) { + String agentName, String image) { AgentVersionDetails agent = createHostedAgentVersion(agentsClient, agentName, image); waitForAgentVersionActive(agentsClient, agentName, agent.getVersion()); - AgentSessionResource session = betaAgentsClient.createSessionWithResponse(agentName, + AgentSessionResource session = agentsClient.createSessionWithResponse(agentName, BinaryData.fromObject(createSessionRequest(agent.getVersion())), new RequestOptions()).getValue() .toObject(AgentSessionResource.class); System.out.printf("Session created (id: %s, status: %s)%n", session.getAgentSessionId(), session.getStatus()); @@ -65,10 +63,10 @@ public static HostedAgentSessionResources createAgentAndSession(AgentsClient age } public static Mono createAgentAndSessionAsync(AgentsAsyncClient agentsAsyncClient, - BetaAgentsAsyncClient betaAgentsAsyncClient, String agentName, String image) { + String agentName, String image) { return createHostedAgentVersionAsync(agentsAsyncClient, agentName, image) .flatMap(agent -> waitForAgentVersionActiveAsync(agentsAsyncClient, agentName, agent.getVersion()) - .then(betaAgentsAsyncClient.createSessionWithResponse(agentName, + .then(agentsAsyncClient.createSessionWithResponse(agentName, BinaryData.fromObject(createSessionRequest(agent.getVersion())), new RequestOptions()) .map(response -> response.getValue().toObject(AgentSessionResource.class))) .map(session -> { @@ -78,7 +76,7 @@ public static Mono createAgentAndSessionAsync(Agent })); } - public static void cleanup(AgentsClient agentsClient, BetaAgentsClient betaAgentsClient, String agentName, + public static void cleanup(AgentsClient agentsClient, String agentName, HostedAgentSessionResources resources) { if (resources == null) { return; @@ -86,7 +84,7 @@ public static void cleanup(AgentsClient agentsClient, BetaAgentsClient betaAgent if (resources.getSession() != null) { try { - betaAgentsClient.deleteSession(agentName, resources.getSession().getAgentSessionId(), null); + agentsClient.deleteSession(agentName, resources.getSession().getAgentSessionId(), null); System.out.printf("Session with id: %s deleted.%n", resources.getSession().getAgentSessionId()); } catch (ResourceNotFoundException ignored) { // The sample may have already deleted the session. @@ -103,7 +101,7 @@ public static void cleanup(AgentsClient agentsClient, BetaAgentsClient betaAgent } } - public static Mono cleanupAsync(AgentsAsyncClient agentsAsyncClient, BetaAgentsAsyncClient betaAgentsAsyncClient, + public static Mono cleanupAsync(AgentsAsyncClient agentsAsyncClient, String agentName, HostedAgentSessionResources resources) { if (resources == null) { return Mono.empty(); @@ -112,7 +110,7 @@ public static Mono cleanupAsync(AgentsAsyncClient agentsAsyncClient, BetaA Mono deleteSession = Mono.empty(); if (resources.getSession() != null) { String sessionId = resources.getSession().getAgentSessionId(); - deleteSession = betaAgentsAsyncClient.deleteSession(agentName, sessionId, null) + deleteSession = agentsAsyncClient.deleteSession(agentName, sessionId, null) .doOnSuccess(unused -> System.out.printf("Session with id: %s deleted.%n", sessionId)) .onErrorResume(ResourceNotFoundException.class, ignored -> Mono.empty()); } @@ -213,7 +211,7 @@ private static HostedAgentDefinition createHostedAgentDefinition(String image) { return new HostedAgentDefinition("0.5", "1Gi") .setContainerConfiguration(new ContainerConfiguration(image)) .setProtocolVersions(Collections.singletonList( - new ProtocolVersionRecord(AgentProtocol.RESPONSES, "1.0.0"))); + new ProtocolVersionRecord(AgentEndpointProtocol.RESPONSES, "1.0.0"))); } private static void waitForAgentVersionActive(AgentsClient agentsClient, String agentName, String agentVersion) { diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/CreateToolboxVersion.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/CreateToolboxVersion.java index 82acf26184f1..e516aec6e2df 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/CreateToolboxVersion.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/CreateToolboxVersion.java @@ -4,7 +4,7 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.McpTool; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxVersionDetails; @@ -15,7 +15,7 @@ import java.util.List; /** - * This sample demonstrates how to create a toolbox version using the BetaToolboxesClient. + * This sample demonstrates how to create a toolbox version using the ToolboxesClient. * *

A toolbox stores reusable tool definitions that can be shared across agents. * Each call to {@code createToolboxVersion} creates a new immutable version. If the @@ -30,10 +30,10 @@ public class CreateToolboxVersion { public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); // Code sample for creating a toolbox version - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); List tools = Arrays.asList( new McpTool("api_specs") diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolbox.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolbox.java index becb56ef838f..a6a798e90511 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolbox.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolbox.java @@ -4,13 +4,13 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** * This sample demonstrates how to delete a toolbox and all its versions using the - * BetaToolboxesClient. + * ToolboxesClient. * *

The {@code deleteToolbox} method removes the toolbox and every version * associated with it.

@@ -25,10 +25,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox_created_from_java"; // Code sample for deleting a toolbox - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); toolboxesClient.deleteToolbox(toolboxName); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolboxVersion.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolboxVersion.java index 7fc90828cc59..d777ab2c12a9 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolboxVersion.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/DeleteToolboxVersion.java @@ -4,13 +4,13 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** * This sample demonstrates how to delete a specific version of a toolbox using the - * BetaToolboxesClient. + * ToolboxesClient. * *

The {@code deleteToolboxVersion} method removes only the specified version, * leaving other versions and the toolbox itself intact.

@@ -26,10 +26,10 @@ public static void main(String[] args) { String toolboxName = "toolbox_created_from_java"; String version = "1"; // Replace with the version to delete // Code sample for deleting a specific toolbox version - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); toolboxesClient.deleteToolboxVersion(toolboxName, version); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolbox.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolbox.java index 044fc26637fa..b1c260bc1b36 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolbox.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolbox.java @@ -4,13 +4,13 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.ToolboxDetails; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** - * This sample demonstrates how to retrieve a toolbox using the BetaToolboxesClient. + * This sample demonstrates how to retrieve a toolbox using the ToolboxesClient. * *

The {@code getToolbox} method returns the toolbox metadata including its name, * ID, and default version.

@@ -25,10 +25,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox_created_from_java"; // Code sample for retrieving a toolbox - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); ToolboxDetails toolbox = toolboxesClient.getToolbox(toolboxName); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolboxVersion.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolboxVersion.java index 7e98bc23a3bf..e66037b156b1 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolboxVersion.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/GetToolboxVersion.java @@ -4,7 +4,7 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.McpTool; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxVersionDetails; @@ -13,7 +13,7 @@ /** * This sample demonstrates how to retrieve a specific version of a toolbox - * using the BetaToolboxesClient. + * using the ToolboxesClient. * *

The {@code getToolboxVersion} method returns the full version details * including the list of tools, description, metadata, and creation timestamp.

@@ -29,10 +29,10 @@ public static void main(String[] args) { String toolboxName = "toolbox_created_from_java"; String version = "1"; // Replace with the desired version // Code sample for retrieving a specific toolbox version - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); ToolboxVersionDetails toolboxVersion = toolboxesClient.getToolboxVersion(toolboxName, version); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxVersions.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxVersions.java index f3d0e62522e7..978d13b12d62 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxVersions.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxVersions.java @@ -4,14 +4,14 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.ToolboxVersionDetails; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** * This sample demonstrates how to list all versions of a toolbox using the - * BetaToolboxesClient. + * ToolboxesClient. * *

The {@code listToolboxVersions} method returns a paginated list of all * immutable versions that have been created for a given toolbox.

@@ -26,10 +26,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox_created_from_java"; // Code sample for listing all versions of a toolbox - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); System.out.println("Listing all versions of toolbox '" + toolboxName + "':"); for (ToolboxVersionDetails version : toolboxesClient.listToolboxVersions(toolboxName)) { diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxes.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxes.java index eab23211fb08..2d8e9f5ea43b 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxes.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ListToolboxes.java @@ -4,13 +4,13 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.ToolboxDetails; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** - * This sample demonstrates how to list all toolboxes using the BetaToolboxesClient. + * This sample demonstrates how to list all toolboxes using the ToolboxesClient. * *

The {@code listToolboxes} method returns a paginated list of all toolboxes * in the project.

@@ -24,10 +24,10 @@ public class ListToolboxes { public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); // Code sample for listing all toolboxes - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); System.out.println("Listing all toolboxes:"); for (ToolboxDetails toolbox : toolboxesClient.listToolboxes()) { diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxSearchToolboxSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxSearchToolboxSample.java index 28caaf66ad4b..778e883120cf 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxSearchToolboxSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxSearchToolboxSample.java @@ -4,7 +4,7 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxSearchPreviewTool; import com.azure.ai.agents.models.ToolboxVersionDetails; @@ -25,10 +25,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox-search-tool-java"; - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); try { toolboxesClient.deleteToolbox(toolboxName); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxesAsyncSample.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxesAsyncSample.java index 835b9b57c58f..5e48d20f91cd 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxesAsyncSample.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/ToolboxesAsyncSample.java @@ -4,7 +4,7 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesAsyncClient; +import com.azure.ai.agents.ToolboxesAsyncClient; import com.azure.ai.agents.models.McpTool; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; @@ -35,10 +35,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox-with-mcp-tool-java"; - BetaToolboxesAsyncClient toolboxesAsyncClient = new AgentsClientBuilder() + ToolboxesAsyncClient toolboxesAsyncClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesAsyncClient(); + .buildToolboxesAsyncClient(); List toolsWithMcpApprovalNever = Collections.singletonList( new McpTool("api_specs") @@ -82,7 +82,7 @@ public static void main(String[] args) { } private static Mono printFetchedDefaultToolboxVersion( - BetaToolboxesAsyncClient toolboxesAsyncClient, ToolboxDetails updated) { + ToolboxesAsyncClient toolboxesAsyncClient, ToolboxDetails updated) { System.out.printf("Updated toolbox: %s default version is now %s%n", updated.getName(), updated.getDefaultVersion()); diff --git a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/UpdateToolbox.java b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/UpdateToolbox.java index 85e11285eee9..2bcdfc716307 100644 --- a/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/UpdateToolbox.java +++ b/sdk/ai/azure-ai-agents/src/samples/java/com/azure/ai/agents/toolboxes/UpdateToolbox.java @@ -4,13 +4,13 @@ package com.azure.ai.agents.toolboxes; import com.azure.ai.agents.AgentsClientBuilder; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.ToolboxDetails; import com.azure.core.util.Configuration; import com.azure.identity.DefaultAzureCredentialBuilder; /** - * This sample demonstrates how to update a toolbox using the BetaToolboxesClient. + * This sample demonstrates how to update a toolbox using the ToolboxesClient. * *

The {@code updateToolbox} method changes the default version that the toolbox * points to. This is useful when you have multiple immutable versions and want to @@ -26,10 +26,10 @@ public static void main(String[] args) { String endpoint = Configuration.getGlobalConfiguration().get("FOUNDRY_PROJECT_ENDPOINT"); String toolboxName = "toolbox_created_from_java"; // Code sample for updating a toolbox's default version - BetaToolboxesClient toolboxesClient = new AgentsClientBuilder() + ToolboxesClient toolboxesClient = new AgentsClientBuilder() .credential(new DefaultAzureCredentialBuilder().build()) .endpoint(endpoint) - .beta().buildBetaToolboxesClient(); + .buildToolboxesClient(); ToolboxDetails updatedToolbox = toolboxesClient.updateToolbox(toolboxName, "2"); diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java index 6e9acfdb615e..fefb6ebd6d5b 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/FoundryFeaturesHeaderVerificationTest.java @@ -40,7 +40,7 @@ public class FoundryFeaturesHeaderVerificationTest { private static final String CUSTOM_PIPELINE_VALUE = "custom-pipeline"; 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(",")); @Test @@ -48,7 +48,7 @@ public void allowPreviewAddsAreaSpecificHeaders() { RecordingHttpClient httpClient = new RecordingHttpClient(); AgentsClientBuilder builder = createBuilder(httpClient).allowPreview(true); - builder.beta().buildBetaAgentsClient().getSessionWithResponse("agent", "session", new RequestOptions()); + builder.beta().buildBetaAgentsClient().getOptimizationJobWithResponse("job", new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); builder.beta().buildBetaAgentsClient().getOptimizationJobWithResponse("job", new RequestOptions()); @@ -57,9 +57,6 @@ public void allowPreviewAddsAreaSpecificHeaders() { builder.beta().buildBetaMemoryStoresClient().getMemoryStoreWithResponse("store", new RequestOptions()); assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); - builder.beta().buildBetaToolboxesClient().getToolboxWithResponse("toolbox", new RequestOptions()); - assertEquals(FoundryFeaturesOptInKeys.TOOLBOXES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); - builder.buildAgentsClient() .createAgentVersionWithResponse("agent", BinaryData.fromString("{}"), new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); @@ -70,14 +67,11 @@ public void betaClientsAddAreaSpecificHeadersByDefault() { RecordingHttpClient httpClient = new RecordingHttpClient(); AgentsClientBuilder builder = createBuilder(httpClient); - builder.beta().buildBetaAgentsClient().getSessionWithResponse("agent", "session", new RequestOptions()); + builder.beta().buildBetaAgentsClient().getOptimizationJobWithResponse("job", new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); builder.beta().buildBetaMemoryStoresClient().getMemoryStoreWithResponse("store", new RequestOptions()); assertEquals(FoundryFeaturesOptInKeys.MEMORY_STORES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); - - builder.beta().buildBetaToolboxesClient().getToolboxWithResponse("toolbox", new RequestOptions()); - assertEquals(FoundryFeaturesOptInKeys.TOOLBOXES_V1_PREVIEW.toString(), foundryFeatures(httpClient)); } @Test @@ -99,13 +93,13 @@ public void betaHeaderDoesNotLeakToGaClientBuiltFromSameBuilder() { @Test public void allowPreviewDoesNotOverrideExplicitHeader() { RecordingHttpClient httpClient = new RecordingHttpClient(); - String explicitHeader = FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V1_PREVIEW.toString(); + String explicitHeader = FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V2_PREVIEW.toString(); RequestOptions requestOptions = new RequestOptions().setHeader(FOUNDRY_FEATURES, explicitHeader); createBuilder(httpClient).allowPreview(true) .beta() .buildBetaAgentsClient() - .getSessionWithResponse("agent", "session", requestOptions); + .getOptimizationJobWithResponse("job", requestOptions); assertEquals(explicitHeader, foundryFeatures(httpClient)); } @@ -129,7 +123,7 @@ public void allowPreviewUsesBuiltClientFeatureHeaderWithoutPathMatching() { .allowPreview(true) .beta() .buildBetaAgentsClient() - .getSessionWithResponse("agent", "session", new RequestOptions()); + .getOptimizationJobWithResponse("job", new RequestOptions()); assertEquals(AGENT_PREVIEW_FEATURES, foundryFeatures(httpClient)); } @@ -171,12 +165,12 @@ public void customPipelineDoesNotAddGaHeaderUnlessAllowPreview() { @Test public void customPipelineDoesNotOverrideExplicitFoundryHeader() { RecordingHttpClient httpClient = new RecordingHttpClient(); - String explicitHeader = FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V1_PREVIEW.toString(); + String explicitHeader = FoundryFeaturesOptInKeys.AGENTS_OPTIMIZATION_V2_PREVIEW.toString(); RequestOptions requestOptions = new RequestOptions().setHeader(FOUNDRY_FEATURES, explicitHeader); createBuilder(createCustomPipeline(httpClient)).beta() .buildBetaAgentsClient() - .getSessionWithResponse("agent", "session", requestOptions); + .getOptimizationJobWithResponse("job", requestOptions); assertEquals(explicitHeader, foundryFeatures(httpClient)); assertEquals(CUSTOM_PIPELINE_VALUE, customPipelineHeader(httpClient)); diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogAsyncTest.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogAsyncTest.java index 21a3ef287009..7cb453aebe44 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogAsyncTest.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogAsyncTest.java @@ -36,7 +36,7 @@ public class SessionLogAsyncTest extends ClientTestBase { @MethodSource("com.azure.ai.agents.TestUtils#getTestParameters") @Disabled public void validatesSessionLogStream(HttpClient httpClient, AgentsServiceVersion serviceVersion) { - BetaAgentsAsyncClient client = getClientBuilder(httpClient, serviceVersion).beta().buildBetaAgentsAsyncClient(); + AgentsAsyncClient client = getClientBuilder(httpClient, serviceVersion).buildAgentsAsyncClient(); deleteSession(client); AgentSessionResource session = client @@ -67,15 +67,15 @@ public void validatesSessionLogStream(HttpClient httpClient, AgentsServiceVersio } } - private static Disposable scheduleSessionDelete(BetaAgentsAsyncClient client) { + private static Disposable scheduleSessionDelete(AgentsAsyncClient client) { return Mono.delay(Duration.ofSeconds(20)).then(deleteSessionAsync(client)).subscribe(); } - private static void deleteSession(BetaAgentsAsyncClient client) { + private static void deleteSession(AgentsAsyncClient client) { deleteSessionAsync(client).block(Duration.ofSeconds(60)); } - private static Mono deleteSessionAsync(BetaAgentsAsyncClient client) { + private static Mono deleteSessionAsync(AgentsAsyncClient client) { return client.deleteSession(AGENT_NAME, SESSION_ID, null).onErrorResume(error -> Mono.empty()); } diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogSyncTest.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogSyncTest.java index 9007ab60b1cc..580505d45a69 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogSyncTest.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/SessionLogSyncTest.java @@ -41,7 +41,7 @@ public class SessionLogSyncTest extends ClientTestBase { @MethodSource("com.azure.ai.agents.TestUtils#getTestParameters") @Disabled public void validatesSessionLogStream(HttpClient httpClient, AgentsServiceVersion serviceVersion) { - BetaAgentsClient client = getClientBuilder(httpClient, serviceVersion).beta().buildBetaAgentsClient(); + AgentsClient client = getClientBuilder(httpClient, serviceVersion).buildAgentsClient(); RequestOptions featureOptions = new RequestOptions(); deleteSession(client); @@ -77,7 +77,7 @@ public void validatesSessionLogStream(HttpClient httpClient, AgentsServiceVersio } } - private ScheduledFuture scheduleSessionDelete(BetaAgentsClient client, ScheduledExecutorService executor) { + private ScheduledFuture scheduleSessionDelete(AgentsClient client, ScheduledExecutorService executor) { return executor.schedule(() -> { if (getTestMode() != TestMode.PLAYBACK) { deleteSession(client); @@ -85,7 +85,7 @@ private ScheduledFuture scheduleSessionDelete(BetaAgentsClient client, Schedu }, 20, TimeUnit.SECONDS); } - private static void deleteSession(BetaAgentsClient client) { + private static void deleteSession(AgentsClient client) { try { client.deleteSession(AGENT_NAME, SESSION_ID, null); } catch (RuntimeException ignored) { diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/CodeAgentSamplesTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/CodeAgentSamplesTests.java index a742fb867902..2dc208362f42 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/CodeAgentSamplesTests.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/CodeAgentSamplesTests.java @@ -5,8 +5,6 @@ import com.azure.ai.agents.AgentsAsyncClient; import com.azure.ai.agents.AgentsClient; -import com.azure.ai.agents.BetaAgentsAsyncClient; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.AgentsClientBuilder; import com.azure.ai.agents.AgentsServiceVersion; import com.azure.ai.agents.ClientTestBase; @@ -48,7 +46,6 @@ static Stream getTestParameters() { public void codeAgentSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) throws Exception { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); String agentName = CodeAgentSampleUtils.SAMPLE_AGENT_NAME + "-test"; try { @@ -61,13 +58,13 @@ public void codeAgentSample(HttpClient httpClient, AgentsServiceVersion serviceV BinaryData codeZip = CodeAgentSampleUtils.createCodeZip(); String codeZipSha256 = CodeAgentSampleUtils.sha256(codeZip); - AgentVersionDetails version = betaAgentsClient.createAgentVersionFromCode(agentName, codeZipSha256, + AgentVersionDetails version = agentsClient.createAgentVersionFromCode(agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)); Assertions.assertNotNull(version); Assertions.assertEquals(agentName, version.getName()); Assertions.assertNotNull(version.getVersion()); - BinaryData downloadedCode = betaAgentsClient.downloadAgentCode(agentName, null); + BinaryData downloadedCode = agentsClient.downloadAgentCode(agentName, null); Assertions.assertNotNull(downloadedCode); Assertions.assertTrue(downloadedCode.toBytes().length > 0); @@ -75,7 +72,7 @@ public void codeAgentSample(HttpClient httpClient, AgentsServiceVersion serviceV Files.write(downloadPath, downloadedCode.toBytes()); Assertions.assertTrue(Files.size(downloadPath) > 0); - AgentVersionDetails newVersion = betaAgentsClient.createAgentVersionFromCode(agentName, codeZipSha256, + AgentVersionDetails newVersion = agentsClient.createAgentVersionFromCode(agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)); Assertions.assertNotNull(newVersion); Assertions.assertEquals(agentName, newVersion.getName()); @@ -95,26 +92,25 @@ public void codeAgentSample(HttpClient httpClient, AgentsServiceVersion serviceV public void codeAgentAsyncSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) throws Exception { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsAsyncClient agentsAsyncClient = builder.buildAgentsAsyncClient(); - BetaAgentsAsyncClient betaAgentsAsyncClient = builder.beta().buildBetaAgentsAsyncClient(); String agentName = CodeAgentSampleUtils.SAMPLE_AGENT_NAME + "-async-test"; BinaryData codeZip = CodeAgentSampleUtils.createCodeZip(); String codeZipSha256 = CodeAgentSampleUtils.sha256(codeZip); Mono testFlow = agentsAsyncClient.deleteAgent(agentName) .onErrorResume(ResourceNotFoundException.class, ignored -> Mono.empty()) - .then(betaAgentsAsyncClient.createAgentVersionFromCode(agentName, codeZipSha256, + .then(agentsAsyncClient.createAgentVersionFromCode(agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip))) .flatMap(version -> { Assertions.assertNotNull(version); Assertions.assertEquals(agentName, version.getName()); Assertions.assertNotNull(version.getVersion()); - return betaAgentsAsyncClient.downloadAgentCode(agentName, null); + return agentsAsyncClient.downloadAgentCode(agentName, null); }) .flatMap(downloadedCode -> { Assertions.assertNotNull(downloadedCode); Assertions.assertTrue(downloadedCode.toBytes().length > 0); - return betaAgentsAsyncClient.createAgentVersionFromCode(agentName, codeZipSha256, + return agentsAsyncClient.createAgentVersionFromCode(agentName, codeZipSha256, CodeAgentSampleUtils.createAgentVersionFromCodeContent(codeZip)); }) .doOnNext(newVersion -> { diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/HostedAgentContainerSamplesTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/HostedAgentContainerSamplesTests.java index a2d1b9e2040f..8fe905c37b57 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/HostedAgentContainerSamplesTests.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/hostedagents/HostedAgentContainerSamplesTests.java @@ -4,7 +4,6 @@ package com.azure.ai.agents.hostedagents; import com.azure.ai.agents.AgentsClient; -import com.azure.ai.agents.BetaAgentsClient; import com.azure.ai.agents.AgentsClientBuilder; import com.azure.ai.agents.AgentsServiceVersion; import com.azure.ai.agents.ClientTestBase; @@ -42,6 +41,7 @@ import static com.azure.core.test.TestProxyTestBase.getHttpClients; +@Disabled("TODO: re-record once service no longer requires Foundry-Features opt-in keys for these operations.") public class HostedAgentContainerSamplesTests extends ClientTestBase { private static final String DISPLAY_NAME_WITH_ARGUMENTS = "{displayName} with [{arguments}]"; private static final String REMOTE_FILE_PATH_1 = "/remote/data_file1.txt"; @@ -59,31 +59,30 @@ static Stream getTestParameters() { public void sessionsSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); String image = getRequiredConfiguration("FOUNDRY_AGENT_CONTAINER_IMAGE"); String agentName = HostedAgentsSampleUtils.SAMPLE_AGENT_NAME + "-sessions-test"; HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); AgentSessionResource session = resources.getSession(); - AgentSessionResource fetched = betaAgentsClient.getSession(agentName, session.getAgentSessionId(), null); + AgentSessionResource fetched = agentsClient.getSession(agentName, session.getAgentSessionId(), null); Assertions.assertNotNull(fetched); Assertions.assertEquals(session.getAgentSessionId(), fetched.getAgentSessionId()); PagedIterable sessions - = betaAgentsClient.listSessions(agentName, null, null, null, null, null); + = agentsClient.listSessions(agentName, null, null, null, null, null); Assertions.assertTrue( sessions.stream().anyMatch(item -> session.getAgentSessionId().equals(item.getAgentSessionId()))); try { - betaAgentsClient.deleteSession(agentName, session.getAgentSessionId(), null); + agentsClient.deleteSession(agentName, session.getAgentSessionId(), null); } catch (ResourceNotFoundException ignored) { // The session may already be deleted by the service. } } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } @@ -93,34 +92,32 @@ public void sessionsSample(HttpClient httpClient, AgentsServiceVersion serviceVe public void sessionFilesSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); String image = getRequiredConfiguration("FOUNDRY_AGENT_CONTAINER_IMAGE"); String agentName = HostedAgentsSampleUtils.SAMPLE_AGENT_NAME + "-files-test"; HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); String sessionId = resources.getSession().getAgentSessionId(); - betaAgentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, + agentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, BinaryData.fromString("Sample session file 1."), null); - betaAgentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, + agentsClient.uploadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, BinaryData.fromString("Sample session file 2."), null); PagedIterable files - = betaAgentsClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null); + = agentsClient.listSessionFiles(agentName, sessionId, "/remote", null, null, null, null, null); Assertions .assertTrue(files.stream().map(SessionDirectoryEntry::getName).anyMatch("data_file1.txt"::equals)); - BinaryData downloaded - = betaAgentsClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null); + BinaryData downloaded = agentsClient.downloadSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, null); String fileContent = new String(downloaded.toBytes(), StandardCharsets.UTF_8); Assertions.assertEquals("Sample session file 1.", fileContent); - betaAgentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); - betaAgentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); + agentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_1, false, null); + agentsClient.deleteSessionFile(agentName, sessionId, REMOTE_FILE_PATH_2, false, null); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } @@ -130,14 +127,13 @@ public void sessionFilesSample(HttpClient httpClient, AgentsServiceVersion servi public void agentEndpointSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); String image = getRequiredConfiguration("FOUNDRY_AGENT_CONTAINER_IMAGE"); String agentName = HostedAgentsSampleUtils.SAMPLE_AGENT_NAME + "-endpoint-test"; HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); - configureAgentEndpoint(betaAgentsClient, agentName, resources); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); + configureAgentEndpoint(agentsClient, agentName, resources); OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agentName); com.openai.models.responses.Response response = openAIClient.responses() @@ -150,7 +146,7 @@ public void agentEndpointSample(HttpClient httpClient, AgentsServiceVersion serv Assertions.assertNotNull(response); Assertions.assertFalse(response.output().isEmpty()); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } @@ -160,14 +156,13 @@ public void agentEndpointSample(HttpClient httpClient, AgentsServiceVersion serv public void sessionLogStreamSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) throws IOException { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); AgentsClient agentsClient = builder.buildAgentsClient(); - BetaAgentsClient betaAgentsClient = builder.beta().buildBetaAgentsClient(); String image = getRequiredConfiguration("FOUNDRY_AGENT_CONTAINER_IMAGE"); String agentName = HostedAgentsSampleUtils.SAMPLE_AGENT_NAME + "-logs-test"; HostedAgentSessionResources resources = null; try { - resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, betaAgentsClient, agentName, image); - configureAgentEndpoint(betaAgentsClient, agentName, resources); + resources = HostedAgentsSampleUtils.createAgentAndSession(agentsClient, agentName, image); + configureAgentEndpoint(agentsClient, agentName, resources); OpenAIClient openAIClient = builder.buildAgentScopedOpenAIClient(agentName); com.openai.models.responses.Response openAIResponse = openAIClient.responses() @@ -179,24 +174,23 @@ public void sessionLogStreamSample(HttpClient httpClient, AgentsServiceVersion s Assertions.assertNotNull(openAIResponse); com.azure.core.http.rest.Response rawStream - = betaAgentsClient.getSessionLogStreamWithResponse(agentName, resources.getAgent().getVersion(), + = agentsClient.getSessionLogStreamWithResponse(agentName, resources.getAgent().getVersion(), resources.getSession().getAgentSessionId(), new RequestOptions()); Assertions.assertNotNull(rawStream.getValue()); HostedAgentsSampleUtils.printSseFrames(rawStream.getValue(), 5); } finally { - HostedAgentsSampleUtils.cleanup(agentsClient, betaAgentsClient, agentName, resources); + HostedAgentsSampleUtils.cleanup(agentsClient, agentName, resources); } } - private static void configureAgentEndpoint(BetaAgentsClient betaAgentsClient, String agentName, + private static void configureAgentEndpoint(AgentsClient agentsClient, String agentName, HostedAgentSessionResources resources) { AgentEndpointConfig endpointConfig = new AgentEndpointConfig() .setVersionSelector(new VersionSelector().setVersionSelectionRules(Collections.singletonList( new FixedRatioVersionSelectionRule(100).setAgentVersion(resources.getAgent().getVersion())))) .setProtocols(Collections.singletonList(AgentEndpointProtocol.RESPONSES)); - betaAgentsClient.updateAgentDetails(agentName, - new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)); + agentsClient.updateAgentDetails(agentName, new UpdateAgentDetailsOptions().setAgentEndpoint(endpointConfig)); } private String getRequiredConfiguration(String name) { diff --git a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/toolboxes/ToolboxSamplesTests.java b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/toolboxes/ToolboxSamplesTests.java index fa55a5971bfe..80fd928c2f58 100644 --- a/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/toolboxes/ToolboxSamplesTests.java +++ b/sdk/ai/azure-ai-agents/src/test/java/com/azure/ai/agents/toolboxes/ToolboxSamplesTests.java @@ -6,8 +6,8 @@ import com.azure.ai.agents.AgentsClientBuilder; import com.azure.ai.agents.AgentsServiceVersion; import com.azure.ai.agents.ClientTestBase; -import com.azure.ai.agents.BetaToolboxesAsyncClient; -import com.azure.ai.agents.BetaToolboxesClient; +import com.azure.ai.agents.ToolboxesAsyncClient; +import com.azure.ai.agents.ToolboxesClient; import com.azure.ai.agents.models.McpTool; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolType; @@ -16,6 +16,7 @@ import com.azure.core.exception.ResourceNotFoundException; import com.azure.core.http.HttpClient; import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -27,6 +28,9 @@ import java.util.List; import java.util.stream.Stream; +import static com.azure.core.test.TestProxyTestBase.getHttpClients; + +@Disabled("TODO: re-record once service no longer requires Foundry-Features opt-in keys for these operations.") public class ToolboxSamplesTests extends ClientTestBase { private static final String DISPLAY_NAME_WITH_ARGUMENTS = "{displayName} with [{arguments}]"; @@ -39,8 +43,7 @@ static Stream getTestParameters() { @ParameterizedTest(name = DISPLAY_NAME_WITH_ARGUMENTS) @MethodSource("getTestParameters") public void toolboxSearchToolboxSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) { - BetaToolboxesClient toolboxesClient - = getClientBuilder(httpClient, serviceVersion).beta().buildBetaToolboxesClient(); + ToolboxesClient toolboxesClient = getClientBuilder(httpClient, serviceVersion).buildToolboxesClient(); String toolboxName = "toolbox-search-tool-java-test"; try { @@ -74,7 +77,7 @@ public void toolboxSearchToolboxSample(HttpClient httpClient, AgentsServiceVersi @MethodSource("getTestParameters") public void toolboxesAsyncSample(HttpClient httpClient, AgentsServiceVersion serviceVersion) { AgentsClientBuilder builder = getClientBuilder(httpClient, serviceVersion); - BetaToolboxesAsyncClient toolboxesAsyncClient = builder.beta().buildBetaToolboxesAsyncClient(); + ToolboxesAsyncClient toolboxesAsyncClient = builder.buildToolboxesAsyncClient(); String toolboxName = "toolbox-with-mcp-tool-java-async-test"; List toolsWithMcpApprovalNever = Collections diff --git a/sdk/ai/azure-ai-agents/tsp-location.yaml.hide b/sdk/ai/azure-ai-agents/tsp-location.yaml similarity index 89% rename from sdk/ai/azure-ai-agents/tsp-location.yaml.hide rename to sdk/ai/azure-ai-agents/tsp-location.yaml index bdd55e0e6cda..1ad5bb4fe75b 100644 --- a/sdk/ai/azure-ai-agents/tsp-location.yaml.hide +++ b/sdk/ai/azure-ai-agents/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-java-azure-ai-agents -commit: 85a61ca34a5b7bfcd0be3f3b9f1bc890ef86b220 +commit: 0384fe9aba51eac35ccac8c7db79257ce48622ca repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents @@ -12,7 +12,6 @@ additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/openai-evaluations - specification/ai-foundry/data-plane/Foundry/src/red-teams - specification/ai-foundry/data-plane/Foundry/src/sdk-common - - 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 diff --git a/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv b/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv index c72daa508736..e08299c790e5 100644 --- a/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv +++ b/sdk/ai/azure-ai-projects/customizations/beta-annotations.csv @@ -20,6 +20,7 @@ class;com.azure.ai.projects.models.RoutineDispatchPayload;Preview API. Routines= class;com.azure.ai.projects.models.RoutineDispatchPayloadType;Preview API. Routines=V1Preview; class;com.azure.ai.projects.models.RoutineRun;Preview API. Routines=V1Preview; class;com.azure.ai.projects.models.RoutineRunPhase;Preview API. Routines=V1Preview; +class;com.azure.ai.projects.models.RoutineRunStatus;Preview API. Routines=V1Preview; class;com.azure.ai.projects.models.RoutineTrigger;Preview API. Routines=V1Preview; class;com.azure.ai.projects.models.RoutineTriggerType;Preview API. Routines=V1Preview; class;com.azure.ai.projects.models.ScheduleRoutineTrigger;Preview API. Routines=V1Preview; diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java index 8054327ab3b5..aacd204f3951 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsAsyncClient.java @@ -30,8 +30,8 @@ /** * Initializes a new instance of the asynchronous AIProjectClient type. */ -@Beta @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true) +@Beta(warningText = "This class is in preview and may change in future releases.") public final class BetaDatasetsAsyncClient { @Generated @@ -52,7 +52,7 @@ public final class BetaDatasetsAsyncClient { * * Retrieves the specified data generation job and its current status. *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -159,7 +159,7 @@ public Mono> getGenerationJobWithResponse(String jobId, Req
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -250,7 +250,7 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) {
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -314,9 +314,9 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -400,7 +400,7 @@ public Mono> createGenerationJobWithResponse(BinaryData job
      *
      * Cancels the specified data generation job if it is still in progress.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java
index 2b484a26bf13..381c79d94909 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaDatasetsClient.java
@@ -24,8 +24,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaDatasetsClient {
 
     @Generated
@@ -46,7 +46,7 @@ public final class BetaDatasetsClient {
      *
      * Retrieves the specified data generation job and its current status.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -152,7 +152,7 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -243,7 +243,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -307,9 +307,9 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -393,7 +393,7 @@ public Response createGenerationJobWithResponse(BinaryData job, Requ
      *
      * Cancels the specified data generation job if it is still in progress.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java
index 475bd8764ead..cd4be71393d0 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesAsyncClient.java
@@ -28,8 +28,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaEvaluationTaxonomiesAsyncClient {
 
     @Generated
@@ -50,7 +50,7 @@ public final class BetaEvaluationTaxonomiesAsyncClient {
      *
      * Retrieves the specified evaluation taxonomy.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -122,7 +122,7 @@ public Mono> getEvaluationTaxonomyWithResponse(String name,
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -202,7 +202,7 @@ public Mono> deleteEvaluationTaxonomyWithResponse(String name, Re
      *
      * Creates or replaces the specified evaluation taxonomy with the provided definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -244,9 +244,9 @@ public Mono> deleteEvaluationTaxonomyWithResponse(String name, Re
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -310,7 +310,7 @@ public Mono> createEvaluationTaxonomyWithResponse(String na
      *
      * Update an evaluation taxonomy.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -352,9 +352,9 @@ public Mono> createEvaluationTaxonomyWithResponse(String na
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java
index 2a04f1d2e1d9..4e012d2b740f 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluationTaxonomiesClient.java
@@ -22,8 +22,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaEvaluationTaxonomiesClient {
 
     @Generated
@@ -44,7 +44,7 @@ public final class BetaEvaluationTaxonomiesClient {
      *
      * Retrieves the specified evaluation taxonomy.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -116,7 +116,7 @@ public Response getEvaluationTaxonomyWithResponse(String name, Reque
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -196,7 +196,7 @@ public Response deleteEvaluationTaxonomyWithResponse(String name, RequestO
      *
      * Creates or replaces the specified evaluation taxonomy with the provided definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -238,9 +238,9 @@ public Response deleteEvaluationTaxonomyWithResponse(String name, RequestO
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -304,7 +304,7 @@ public Response createEvaluationTaxonomyWithResponse(String name, Bi
      *
      * Update an evaluation taxonomy.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -346,9 +346,9 @@ public Response createEvaluationTaxonomyWithResponse(String name, Bi
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java
index 3d562bfebbeb..950871b65198 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsAsyncClient.java
@@ -36,8 +36,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaEvaluatorsAsyncClient {
 
     @Generated
@@ -68,7 +68,7 @@ public final class BetaEvaluatorsAsyncClient {
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -154,7 +154,7 @@ public PagedFlux listEvaluatorVersions(String name, RequestOptions r
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -229,7 +229,7 @@ public PagedFlux listLatestEvaluatorVersions(RequestOptions requestO
      *
      * Retrieves the specified evaluator version, returning 404 if it does not exist.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -331,7 +331,7 @@ public Mono> deleteEvaluatorVersionWithResponse(String name, Stri
      *
      * Creates a new evaluator version with an auto-incremented version identifier.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -387,9 +387,9 @@ public Mono> deleteEvaluatorVersionWithResponse(String name, Stri
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -467,7 +467,7 @@ public Mono> createEvaluatorVersionWithResponse(String name
      *
      * Updates the specified evaluator version in place.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -523,9 +523,9 @@ public Mono> createEvaluatorVersionWithResponse(String name
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -605,7 +605,7 @@ public Mono> updateEvaluatorVersionWithResponse(String name
      *
      * Initiates a new pending upload or retrieves an existing one for the specified evaluator version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -615,9 +615,9 @@ public Mono> updateEvaluatorVersionWithResponse(String name
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -660,7 +660,7 @@ public Mono> startPendingUploadWithResponse(String name, St
      *
      * Retrieves SAS credentials for accessing the storage account associated with the specified evaluator version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -668,9 +668,9 @@ public Mono> startPendingUploadWithResponse(String name, St
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -720,7 +720,7 @@ public Mono> getCredentialsWithResponse(String name, String
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -813,9 +813,9 @@ public Mono> getCredentialsWithResponse(String name, String
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -930,7 +930,7 @@ public Mono> createEvaluatorGenerationJobWithResponse(Binar
      *
      * Gets the details of an evaluator generation job by its ID.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -1070,7 +1070,7 @@ public Mono> getEvaluatorGenerationJobWithResponse(String j
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -1182,7 +1182,7 @@ public PagedFlux listEvaluatorGenerationJobs(RequestOptions requestO
      *
      * Cancels an evaluator generation job by its ID.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java
index 4b24ae5a2bc1..f532ae84d68f 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaEvaluatorsClient.java
@@ -30,8 +30,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaEvaluatorsClient {
 
     @Generated
@@ -62,7 +62,7 @@ public final class BetaEvaluatorsClient {
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -148,7 +148,7 @@ public PagedIterable listEvaluatorVersions(String name, RequestOptio
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -223,7 +223,7 @@ public PagedIterable listLatestEvaluatorVersions(RequestOptions requ
      *
      * Retrieves the specified evaluator version, returning 404 if it does not exist.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -324,7 +324,7 @@ public Response deleteEvaluatorVersionWithResponse(String name, String ver
      *
      * Creates a new evaluator version with an auto-incremented version identifier.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -380,9 +380,9 @@ public Response deleteEvaluatorVersionWithResponse(String name, String ver
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -460,7 +460,7 @@ public Response createEvaluatorVersionWithResponse(String name, Bina
      *
      * Updates the specified evaluator version in place.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -516,9 +516,9 @@ public Response createEvaluatorVersionWithResponse(String name, Bina
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -597,7 +597,7 @@ public Response updateEvaluatorVersionWithResponse(String name, Stri
      *
      * Initiates a new pending upload or retrieves an existing one for the specified evaluator version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -607,9 +607,9 @@ public Response updateEvaluatorVersionWithResponse(String name, Stri
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -650,7 +650,7 @@ public Response startPendingUploadWithResponse(String name, String v
      *
      * Retrieves SAS credentials for accessing the storage account associated with the specified evaluator version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -658,9 +658,9 @@ public Response startPendingUploadWithResponse(String name, String v
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -710,7 +710,7 @@ public Response getCredentialsWithResponse(String name, String versi
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -803,9 +803,9 @@ public Response getCredentialsWithResponse(String name, String versi
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -920,7 +920,7 @@ public Response createEvaluatorGenerationJobWithResponse(BinaryData
      *
      * Gets the details of an evaluator generation job by its ID.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -1058,7 +1058,7 @@ public Response getEvaluatorGenerationJobWithResponse(String jobId,
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -1170,7 +1170,7 @@ public PagedIterable listEvaluatorGenerationJobs(RequestOptions requ
      *
      * Cancels an evaluator generation job by its ID.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java
index bfaea01a79b3..84bfcc977c63 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsAsyncClient.java
@@ -29,8 +29,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaInsightsAsyncClient {
 
     @Generated
@@ -60,7 +60,7 @@ public final class BetaInsightsAsyncClient {
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -80,9 +80,9 @@ public final class BetaInsightsAsyncClient {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -131,7 +131,7 @@ public Mono> generateInsightWithResponse(BinaryData insight
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -187,7 +187,7 @@ public Mono> getInsightWithResponse(String id, RequestOptio
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsClient.java
index 1911e7667a23..6727d092841f 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaInsightsClient.java
@@ -23,8 +23,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaInsightsClient {
 
     @Generated
@@ -54,7 +54,7 @@ public final class BetaInsightsClient {
      * 
      * You can add these to a request with {@link RequestOptions#addHeader}
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -74,9 +74,9 @@ public final class BetaInsightsClient {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -124,7 +124,7 @@ public Response generateInsightWithResponse(BinaryData insight, Requ
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -179,7 +179,7 @@ public Response getInsightWithResponse(String id, RequestOptions req
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java
index fedde0fe85c1..18884cd049ac 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsAsyncClient.java
@@ -35,8 +35,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaModelsAsyncClient {
 
     @Generated
@@ -57,16 +57,10 @@ public final class BetaModelsAsyncClient {
      *
      * List all versions of the given ModelVersion.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -124,16 +118,10 @@ public PagedFlux listModelVersions(String name, RequestOptions reque
      *
      * List the latest version of each ModelVersion.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -190,16 +178,10 @@ public PagedFlux listLatestModelVersions(RequestOptions requestOptio
      *
      * Retrieves the specified model version, returning 404 if it does not exist.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -284,7 +266,7 @@ public Mono> deleteModelVersionWithResponse(String name, String v
      *
      * Update an existing ModelVersion with the given version id.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -295,18 +277,12 @@ public Mono> deleteModelVersionWithResponse(String name, String v
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -369,16 +345,10 @@ public Mono> updateModelVersionWithResponse(String name, St
      * Creates a model version asynchronously with blob content validation. Returns 202 Accepted with a location header
      * for polling the operation status.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -416,9 +386,9 @@ public Mono> updateModelVersionWithResponse(String name, St
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -450,7 +420,7 @@ public Mono> createModelVersionAsyncWithResponse(String nam
      *
      * Initiates a new pending upload or retrieves an existing one for the specified model version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -460,9 +430,9 @@ public Mono> createModelVersionAsyncWithResponse(String nam
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -505,7 +475,7 @@ public Mono> startModelPendingUploadWithResponse(String nam
      *
      * Retrieves temporary credentials for accessing the storage backing the specified model version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -513,9 +483,9 @@ public Mono> startModelPendingUploadWithResponse(String nam
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsClient.java
index b819a4ea11b4..79f952a8879a 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaModelsClient.java
@@ -29,8 +29,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaModelsClient {
 
     @Generated
@@ -51,16 +51,10 @@ public final class BetaModelsClient {
      *
      * List all versions of the given ModelVersion.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -118,16 +112,10 @@ public PagedIterable listModelVersions(String name, RequestOptions r
      *
      * List the latest version of each ModelVersion.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -184,16 +172,10 @@ public PagedIterable listLatestModelVersions(RequestOptions requestO
      *
      * Retrieves the specified model version, returning 404 if it does not exist.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -276,7 +258,7 @@ public Response deleteModelVersionWithResponse(String name, String version
      *
      * Update an existing ModelVersion with the given version id.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -287,18 +269,12 @@ public Response deleteModelVersionWithResponse(String name, String version
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -360,16 +336,10 @@ public Response updateModelVersionWithResponse(String name, String v
      * Creates a model version asynchronously with blob content validation. Returns 202 Accepted with a location header
      * for polling the operation status.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -407,9 +377,9 @@ public Response updateModelVersionWithResponse(String name, String v
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -441,7 +411,7 @@ public Response createModelVersionAsyncWithResponse(String name, Str
      *
      * Initiates a new pending upload or retrieves an existing one for the specified model version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -451,9 +421,9 @@ public Response createModelVersionAsyncWithResponse(String name, Str
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -495,7 +465,7 @@ public Response startModelPendingUploadWithResponse(String name, Str
      *
      * Retrieves temporary credentials for accessing the storage backing the specified model version.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -503,9 +473,9 @@ public Response startModelPendingUploadWithResponse(String name, Str
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java
index c5d5e66ecb92..bea4f7ed242a 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsAsyncClient.java
@@ -28,8 +28,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaRedTeamsAsyncClient {
 
     @Generated
@@ -50,7 +50,7 @@ public final class BetaRedTeamsAsyncClient {
      *
      * Retrieves the specified redteam and its configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -101,7 +101,7 @@ public Mono> getRedTeamWithResponse(String name, RequestOpt
      *
      * Returns the redteams available in the current project.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -148,7 +148,7 @@ public PagedFlux listRedTeams(RequestOptions requestOptions) {
      *
      * Submits a new redteam run for execution with the provided configuration.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -176,9 +176,9 @@ public PagedFlux listRedTeams(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java
index cb312994f0dc..e8555359f25a 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaRedTeamsClient.java
@@ -22,8 +22,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaRedTeamsClient {
 
     @Generated
@@ -44,7 +44,7 @@ public final class BetaRedTeamsClient {
      *
      * Retrieves the specified redteam and its configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -94,7 +94,7 @@ public Response getRedTeamWithResponse(String name, RequestOptions r
      *
      * Returns the redteams available in the current project.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -141,7 +141,7 @@ public PagedIterable listRedTeams(RequestOptions requestOptions) {
      *
      * Submits a new redteam run for execution with the provided configuration.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -169,9 +169,9 @@ public PagedIterable listRedTeams(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
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 cb206cecfe8f..e18040c02c41 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
@@ -36,8 +36,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaRoutinesAsyncClient {
 
     @Generated
@@ -58,7 +58,7 @@ public final class BetaRoutinesAsyncClient {
      *
      * Creates a new routine or replaces an existing routine with the supplied definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -75,9 +75,9 @@ public final class BetaRoutinesAsyncClient {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -121,7 +121,7 @@ public Mono> createOrUpdateRoutineWithResponse(String routi
      *
      * Retrieves the specified routine and its current configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -164,7 +164,7 @@ public Mono> getRoutineWithResponse(String routineName, Req
      *
      * Enables the specified routine so it can be dispatched.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -205,7 +205,7 @@ public Mono> enableRoutineWithResponse(String routineName,
      *
      * Disables the specified routine so it no longer runs.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -259,7 +259,7 @@ public Mono> disableRoutineWithResponse(String routineName,
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -332,12 +332,12 @@ public Mono> deleteRoutineWithResponse(String routineName, Reques
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@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)
@@ -381,7 +381,7 @@ public PagedFlux listRoutineRuns(String routineName, RequestOptions
      *
      * Queues an asynchronous dispatch for the specified routine.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -391,9 +391,9 @@ public PagedFlux listRoutineRuns(String routineName, RequestOptions
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
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 136a6442fba4..cc7c3192f00c 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
@@ -30,8 +30,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaRoutinesClient {
 
     @Generated
@@ -52,7 +52,7 @@ public final class BetaRoutinesClient {
      *
      * Creates a new routine or replaces an existing routine with the supplied definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -69,9 +69,9 @@ public final class BetaRoutinesClient {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -114,7 +114,7 @@ public Response createOrUpdateRoutineWithResponse(String routineName
      *
      * Retrieves the specified routine and its current configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -156,7 +156,7 @@ public Response getRoutineWithResponse(String routineName, RequestOp
      *
      * Enables the specified routine so it can be dispatched.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -196,7 +196,7 @@ public Response enableRoutineWithResponse(String routineName, Reques
      *
      * Disables the specified routine so it no longer runs.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -249,7 +249,7 @@ public Response disableRoutineWithResponse(String routineName, Reque
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -322,12 +322,12 @@ public Response deleteRoutineWithResponse(String routineName, RequestOptio
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@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)
@@ -371,7 +371,7 @@ public PagedIterable listRoutineRuns(String routineName, RequestOpti
      *
      * Queues an asynchronous dispatch for the specified routine.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -381,9 +381,9 @@ public PagedIterable listRoutineRuns(String routineName, RequestOpti
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java
index d617632fb5f8..4d9d04c6ec94 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesAsyncClient.java
@@ -30,8 +30,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaSchedulesAsyncClient {
 
     @Generated
@@ -71,7 +71,7 @@ public Mono> deleteScheduleWithResponse(String id, RequestOptions
      *
      * Retrieves the specified schedule resource.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -132,7 +132,7 @@ public Mono> getScheduleWithResponse(String id, RequestOpti
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -181,7 +181,7 @@ public PagedFlux listSchedules(RequestOptions requestOptions) {
      *
      * Creates a new schedule or updates an existing schedule with the supplied definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -211,9 +211,9 @@ public PagedFlux listSchedules(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -265,7 +265,7 @@ public Mono> createOrUpdateScheduleWithResponse(String id,
      *
      * Retrieves the specified run for a schedule.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -313,7 +313,7 @@ public Mono> getScheduleRunWithResponse(String scheduleId,
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesClient.java
index 137ef07a84d8..079fc5bc5903 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSchedulesClient.java
@@ -24,8 +24,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaSchedulesClient {
 
     @Generated
@@ -65,7 +65,7 @@ public Response deleteScheduleWithResponse(String id, RequestOptions reque
      *
      * Retrieves the specified schedule resource.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -126,7 +126,7 @@ public Response getScheduleWithResponse(String id, RequestOptions re
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -175,7 +175,7 @@ public PagedIterable listSchedules(RequestOptions requestOptions) {
      *
      * Creates a new schedule or updates an existing schedule with the supplied definition.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -205,9 +205,9 @@ public PagedIterable listSchedules(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -259,7 +259,7 @@ public Response createOrUpdateScheduleWithResponse(String id, Binary
      *
      * Retrieves the specified run for a schedule.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -307,7 +307,7 @@ public Response getScheduleRunWithResponse(String scheduleId, String
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java
index debb6ceb725c..d5501bef6634 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsAsyncClient.java
@@ -38,8 +38,8 @@
 /**
  * Initializes a new instance of the asynchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class, isAsync = true)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaSkillsAsyncClient {
 
     @Generated
@@ -60,7 +60,7 @@ public final class BetaSkillsAsyncClient {
      *
      * Retrieves the specified skill and its current configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -113,7 +113,7 @@ public Mono> getSkillWithResponse(String name, RequestOptio
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -145,7 +145,7 @@ public PagedFlux listSkills(RequestOptions requestOptions) {
      *
      * Modifies the specified skill's configuration.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -153,9 +153,9 @@ public PagedFlux listSkills(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -190,7 +190,7 @@ public Mono> updateSkillWithResponse(String name, BinaryDat
      *
      * Removes the specified skill and its associated versions.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -220,7 +220,7 @@ Mono> internalDeleteSkillWithResponse(String name, RequestO
      *
      * Creates a new version of a skill. If the skill does not exist, it will be created.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -240,9 +240,9 @@ Mono> internalDeleteSkillWithResponse(String name, RequestO
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -277,7 +277,7 @@ public Mono> createSkillVersionWithResponse(String name, Bi
      *
      * Creates a new version of a skill from uploaded files via multipart form data.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -334,7 +334,7 @@ Mono> createSkillVersionFromFilesWithResponse(String name,
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -367,7 +367,7 @@ public PagedFlux listSkillVersions(String name, RequestOptions reque
      *
      * Retrieves the specified version of a skill by name and version identifier.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -402,7 +402,7 @@ public Mono> getSkillVersionWithResponse(String name, Strin
      *
      * Downloads the zip content for the default version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * BinaryData
@@ -428,7 +428,7 @@ public Mono> getSkillContentWithResponse(String name, Reque
      *
      * Downloads the zip content for a specific version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * BinaryData
@@ -503,7 +503,7 @@ public Mono> deleteSkillWithResponse(String name, RequestOptions
      *
      * Removes the specified version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsClient.java
index 5e9605c59dd2..4d7fab3636be 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsClient.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/BetaSkillsClient.java
@@ -33,8 +33,8 @@
 /**
  * Initializes a new instance of the synchronous AIProjectClient type.
  */
-@Beta
 @ServiceClient(builder = AIProjectClientBuilder.class)
+@Beta(warningText = "This class is in preview and may change in future releases.")
 public final class BetaSkillsClient {
 
     @Generated
@@ -55,7 +55,7 @@ public final class BetaSkillsClient {
      *
      * Retrieves the specified skill and its current configuration.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -108,7 +108,7 @@ public Response getSkillWithResponse(String name, RequestOptions req
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -140,7 +140,7 @@ public PagedIterable listSkills(RequestOptions requestOptions) {
      *
      * Modifies the specified skill's configuration.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -148,9 +148,9 @@ public PagedIterable listSkills(RequestOptions requestOptions) {
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -230,7 +230,7 @@ public Response deleteSkillWithResponse(String name, RequestOptions reques
      *
      * Removes the specified skill and its associated versions.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -260,7 +260,7 @@ Response internalDeleteSkillWithResponse(String name, RequestOptions
      *
      * Creates a new version of a skill. If the skill does not exist, it will be created.
      * 

Request Body Schema

- * + * *
      * {@code
      * {
@@ -280,9 +280,9 @@ Response internalDeleteSkillWithResponse(String name, RequestOptions
      * }
      * }
      * 
- * + * *

Response Body Schema

- * + * *
      * {@code
      * {
@@ -317,7 +317,7 @@ public Response createSkillVersionWithResponse(String name, BinaryDa
      *
      * Creates a new version of a skill from uploaded files via multipart form data.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -374,7 +374,7 @@ Response createSkillVersionFromFilesWithResponse(String name, Binary
      * 
      * You can add these to a request with {@link RequestOptions#addQueryParam}
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -407,7 +407,7 @@ public PagedIterable listSkillVersions(String name, RequestOptions r
      *
      * Retrieves the specified version of a skill by name and version identifier.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
@@ -442,7 +442,7 @@ public Response getSkillVersionWithResponse(String name, String vers
      *
      * Downloads the zip content for the default version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * BinaryData
@@ -468,7 +468,7 @@ public Response getSkillContentWithResponse(String name, RequestOpti
      *
      * Downloads the zip content for a specific version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * BinaryData
@@ -496,7 +496,7 @@ public Response getSkillVersionContentWithResponse(String name, Stri
      *
      * Removes the specified version of a skill.
      * 

Response Body Schema

- * + * *
      * {@code
      * {
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java
index b7adfad7e367..147434afb4fe 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/BetaModelsImpl.java
@@ -310,12 +310,6 @@ Response listLatestModelVersionsNextSync(
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -383,12 +377,6 @@ private Mono> listModelVersionsSinglePageAsync(String
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -453,12 +441,6 @@ public PagedFlux listModelVersionsAsync(String name, RequestOptions
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -523,12 +505,6 @@ private PagedResponse listModelVersionsSinglePage(String name, Reque
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -593,12 +569,6 @@ public PagedIterable listModelVersions(String name, RequestOptions r
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -664,12 +634,6 @@ private Mono> listLatestModelVersionsSinglePageAsync(R
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -733,12 +697,6 @@ public PagedFlux listLatestModelVersionsAsync(RequestOptions request
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -802,12 +760,6 @@ private PagedResponse listLatestModelVersionsSinglePage(RequestOptio
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -871,12 +823,6 @@ public PagedIterable listLatestModelVersions(RequestOptions requestO
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -944,12 +890,6 @@ public Mono> getModelVersionWithResponseAsync(String name,
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1072,12 +1012,6 @@ public Response deleteModelVersionWithResponse(String name, String version
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1158,12 +1092,6 @@ public Mono> updateModelVersionWithResponseAsync(String nam
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1231,12 +1159,6 @@ public Response updateModelVersionWithResponse(String name, String v
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1316,12 +1238,6 @@ public Mono> createModelVersionAsyncWithResponseAsync(Strin
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1620,12 +1536,6 @@ public Response getModelCredentialsWithResponse(String name, String
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1693,12 +1603,6 @@ private Mono> listModelVersionsNextSinglePageAsync(Str
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1763,12 +1667,6 @@ private PagedResponse listModelVersionsNextSinglePage(String nextLin
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: String (Optional)
@@ -1836,12 +1734,6 @@ private Mono> listLatestModelVersionsNextSinglePageAsy
      * 
      * {@code
      * {
-     *     systemData (Optional): {
-     *         createdAt: Long (Optional)
-     *         createdBy: String (Optional)
-     *         createdByType: String (Optional)
-     *         lastModifiedAt: Long (Optional)
-     *     }
      *     blobUri: String (Required)
      *     weightType: String(FullWeight/LoRA/DraftModel) (Optional)
      *     baseModel: 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/CreateSkillVersionFromFilesBody.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java
index b1f9ce3ee0bb..53ef65d4089d 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java
@@ -3,7 +3,6 @@
 // Code generated by Microsoft (R) TypeSpec Code Generator.
 package com.azure.ai.projects.models;
 
-import com.azure.ai.projects.implementation.utils.Beta;
 import com.azure.core.annotation.Fluent;
 import com.azure.core.annotation.Generated;
 import java.util.List;
@@ -14,7 +13,6 @@
  * uploads, files are validated as-is.
  */
 @Fluent
-@Beta(warningText = "Preview API. Skills=V1Preview")
 public final class CreateSkillVersionFromFilesBody {
 
     /*
diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ModelVersion.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ModelVersion.java
index f152b1b39b6e..c4489fe9df44 100644
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ModelVersion.java
+++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/ModelVersion.java
@@ -19,12 +19,6 @@
 @Fluent
 public final class ModelVersion implements JsonSerializable {
 
-    /*
-     * System related metadata
-     */
-    @Generated
-    private SystemDataV3 systemData;
-
     /*
      * The weight type of the model
      */
@@ -103,16 +97,6 @@ public ModelVersion(String blobUrl) {
         this.blobUrl = blobUrl;
     }
 
-    /**
-     * Get the systemData property: System related metadata.
-     *
-     * @return the systemData value.
-     */
-    @Generated
-    public SystemDataV3 getSystemData() {
-        return this.systemData;
-    }
-
     /**
      * Get the weightType property: The weight type of the model.
      *
@@ -331,7 +315,6 @@ public static ModelVersion fromJson(JsonReader jsonReader) throws IOException {
             String blobUrl = null;
             String name = null;
             String version = null;
-            SystemDataV3 systemData = null;
             FoundryModelWeightType weightType = null;
             String baseModel = null;
             ModelSourceData source = null;
@@ -350,8 +333,6 @@ public static ModelVersion fromJson(JsonReader jsonReader) throws IOException {
                     name = reader.getString();
                 } else if ("version".equals(fieldName)) {
                     version = reader.getString();
-                } else if ("systemData".equals(fieldName)) {
-                    systemData = SystemDataV3.fromJson(reader);
                 } else if ("weightType".equals(fieldName)) {
                     weightType = FoundryModelWeightType.fromString(reader.getString());
                 } else if ("baseModel".equals(fieldName)) {
@@ -377,7 +358,6 @@ public static ModelVersion fromJson(JsonReader jsonReader) throws IOException {
             ModelVersion deserializedModelVersion = new ModelVersion(blobUrl);
             deserializedModelVersion.name = name;
             deserializedModelVersion.version = version;
-            deserializedModelVersion.systemData = systemData;
             deserializedModelVersion.weightType = weightType;
             deserializedModelVersion.baseModel = baseModel;
             deserializedModelVersion.source = source;
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 670a4c0d06c5..f8bfa1d25505 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
@@ -6,6 +6,7 @@
 import com.azure.ai.projects.implementation.utils.Beta;
 import com.azure.core.annotation.Generated;
 import com.azure.core.annotation.Immutable;
+import com.azure.core.util.BinaryData;
 import com.azure.json.JsonReader;
 import com.azure.json.JsonSerializable;
 import com.azure.json.JsonToken;
@@ -32,7 +33,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.
@@ -128,7 +129,7 @@ public String getId() {
      * @return the status value.
      */
     @Generated
-    public String getStatus() {
+    public BinaryData getStatus() {
         return this.status;
     }
 
@@ -278,7 +279,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);
@@ -322,7 +326,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/SystemDataV3.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SystemDataV3.java
deleted file mode 100644
index 5ae87ab33724..000000000000
--- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SystemDataV3.java
+++ /dev/null
@@ -1,144 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License.
-// Code generated by Microsoft (R) TypeSpec Code Generator.
-package com.azure.ai.projects.models;
-
-import com.azure.core.annotation.Generated;
-import com.azure.core.annotation.Immutable;
-import com.azure.json.JsonReader;
-import com.azure.json.JsonSerializable;
-import com.azure.json.JsonToken;
-import com.azure.json.JsonWriter;
-import java.io.IOException;
-import java.time.Instant;
-import java.time.OffsetDateTime;
-import java.time.ZoneOffset;
-
-/**
- * System metadata for a resource.
- */
-@Immutable
-public final class SystemDataV3 implements JsonSerializable {
-
-    /*
-     * Timestamp of resource creation
-     */
-    @Generated
-    private Long createdAt;
-
-    /*
-     * Identity that created the resource
-     */
-    @Generated
-    private String createdBy;
-
-    /*
-     * Type of identity that created the resource
-     */
-    @Generated
-    private String createdByType;
-
-    /*
-     * Timestamp of last resource modification
-     */
-    @Generated
-    private Long lastModifiedAt;
-
-    /**
-     * Creates an instance of SystemDataV3 class.
-     */
-    @Generated
-    private SystemDataV3() {
-    }
-
-    /**
-     * Get the createdAt property: Timestamp of resource creation.
-     *
-     * @return the createdAt value.
-     */
-    @Generated
-    public OffsetDateTime getCreatedAt() {
-        if (this.createdAt == null) {
-            return null;
-        }
-        return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC);
-    }
-
-    /**
-     * Get the createdBy property: Identity that created the resource.
-     *
-     * @return the createdBy value.
-     */
-    @Generated
-    public String getCreatedBy() {
-        return this.createdBy;
-    }
-
-    /**
-     * Get the createdByType property: Type of identity that created the resource.
-     *
-     * @return the createdByType value.
-     */
-    @Generated
-    public String getCreatedByType() {
-        return this.createdByType;
-    }
-
-    /**
-     * Get the lastModifiedAt property: Timestamp of last resource modification.
-     *
-     * @return the lastModifiedAt value.
-     */
-    @Generated
-    public OffsetDateTime getLastModifiedAt() {
-        if (this.lastModifiedAt == null) {
-            return null;
-        }
-        return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.lastModifiedAt), ZoneOffset.UTC);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Generated
-    @Override
-    public JsonWriter toJson(JsonWriter jsonWriter) throws IOException {
-        jsonWriter.writeStartObject();
-        jsonWriter.writeNumberField("createdAt", this.createdAt);
-        jsonWriter.writeStringField("createdBy", this.createdBy);
-        jsonWriter.writeStringField("createdByType", this.createdByType);
-        jsonWriter.writeNumberField("lastModifiedAt", this.lastModifiedAt);
-        return jsonWriter.writeEndObject();
-    }
-
-    /**
-     * Reads an instance of SystemDataV3 from the JsonReader.
-     *
-     * @param jsonReader The JsonReader being read.
-     * @return An instance of SystemDataV3 if the JsonReader was pointing to an instance of it, or null if it was
-     * pointing to JSON null.
-     * @throws IOException If an error occurs while reading the SystemDataV3.
-     */
-    @Generated
-    public static SystemDataV3 fromJson(JsonReader jsonReader) throws IOException {
-        return jsonReader.readObject(reader -> {
-            SystemDataV3 deserializedSystemDataV3 = new SystemDataV3();
-            while (reader.nextToken() != JsonToken.END_OBJECT) {
-                String fieldName = reader.getFieldName();
-                reader.nextToken();
-                if ("createdAt".equals(fieldName)) {
-                    deserializedSystemDataV3.createdAt = reader.getNullable(JsonReader::getLong);
-                } else if ("createdBy".equals(fieldName)) {
-                    deserializedSystemDataV3.createdBy = reader.getString();
-                } else if ("createdByType".equals(fieldName)) {
-                    deserializedSystemDataV3.createdByType = reader.getString();
-                } else if ("lastModifiedAt".equals(fieldName)) {
-                    deserializedSystemDataV3.lastModifiedAt = reader.getNullable(JsonReader::getLong);
-                } else {
-                    reader.skipChildren();
-                }
-            }
-            return deserializedSystemDataV3;
-        });
-    }
-}
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 d8258d410d56..fa2e00308b38 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
@@ -6,13 +6,13 @@
 import com.azure.ai.projects.implementation.utils.Beta;
 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.
@@ -31,7 +31,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.
@@ -51,7 +51,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);
     }
 
     /**
@@ -62,8 +65,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();
     }
 
@@ -85,8 +87,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();
                 }
@@ -110,7 +111,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..115c6a22f302 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":"21a9fe448a61","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.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/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..9426093daf10 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: 74bb5279f6e82bfd3609e38c01402e3caaf62478
 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