From faffef50c402f021bc4385eea5363ccb1b42cc50 Mon Sep 17 00:00:00 2001 From: kaylieee Date: Tue, 26 May 2026 15:03:51 -0700 Subject: [PATCH 1/2] ingest latest spec --- .../azure/ai/agents/AgentsAsyncClient.java | 2173 ++++++------ .../com/azure/ai/agents/AgentsClient.java | 1952 ++++++----- .../azure/ai/agents/ToolboxesAsyncClient.java | 88 +- .../com/azure/ai/agents/ToolboxesClient.java | 86 +- .../ai/agents/implementation/AgentsImpl.java | 3101 +++++++---------- .../agents/implementation/ToolboxesImpl.java | 50 + .../models/CreateToolboxVersionRequest.java | 37 + .../agents/models/AgentEndpointProtocol.java | 6 + .../ai/agents/models/AgentIdentifier.java | 117 + .../azure/ai/agents/models/AgentProtocol.java | 6 + .../ai/agents/models/AgentSessionStatus.java | 6 + .../agents/models/CandidateDeployConfig.java | 48 +- .../ai/agents/models/CandidateFileInfo.java | 126 + .../ai/agents/models/CandidateMetadata.java | 293 ++ .../ai/agents/models/CandidateResults.java | 4 +- .../azure/ai/agents/models/DatasetInfo.java | 147 + .../azure/ai/agents/models/DatasetItem.java | 287 -- .../models/EvalRunOutputItemResult.java | 451 --- .../models/EvalRunOutputItemResultStatus.java | 63 - .../ai/agents/models/EvaluationCriterion.java | 104 - .../ai/agents/models/EvaluationLevel.java | 57 + .../agents/models/HostedAgentDefinition.java | 69 - .../models/MemoryStoreDefaultOptions.java | 25 +- .../models/OptimizationAgentDefinition.java | 179 +- .../agents/models/OptimizationAgentSkill.java | 116 - .../agents/models/OptimizationCandidate.java | 222 +- .../ai/agents/models/OptimizationJob.java | 50 +- .../agents/models/OptimizationJobInputs.java | 140 +- .../models/OptimizationJobProgress.java | 130 +- .../agents/models/OptimizationJobResult.java | 111 +- .../ai/agents/models/OptimizationMode.java | 51 - .../ai/agents/models/OptimizationOptions.java | 457 +-- .../agents/models/OptimizationStrategy.java | 63 - .../agents/models/OptimizationTaskResult.java | 20 +- .../models/PromoteCandidateRequest.java | 104 + .../models/PromoteCandidateResponse.java | 178 + .../azure/ai/agents/models/PromotionInfo.java | 133 + .../agents/models/PromptAgentDefinition.java | 21 +- .../models/StructuredInputDefinition.java | 6 +- .../azure/ai/agents/models/ToolboxSkill.java | 105 + .../agents/models/ToolboxSkillReference.java | 140 + .../agents/models/ToolboxVersionDetails.java | 21 + .../META-INF/azure-ai-agents_metadata.json | 2 +- sdk/ai/azure-ai-agents/tsp-location.yaml | 3 +- .../DataGenerationJobsAsyncClient.java | 153 +- .../ai/projects/DataGenerationJobsClient.java | 132 +- .../azure/ai/projects/ModelsAsyncClient.java | 49 +- .../com/azure/ai/projects/ModelsClient.java | 48 +- .../azure/ai/projects/SkillsAsyncClient.java | 644 +++- .../com/azure/ai/projects/SkillsClient.java | 606 +++- .../DataGenerationJobsImpl.java | 40 +- .../projects/implementation/ModelsImpl.java | 70 +- .../MultipartFormDataHelper.java | 209 ++ .../projects/implementation/SkillsImpl.java | 1003 ++++-- .../models/CreateSkillRequest.java | 198 -- .../models/CreateSkillVersionRequest.java | 126 + .../models/UpdateSkillRequest.java | 157 +- .../CreateSkillVersionFromFilesBody.java | 72 + .../azure/ai/projects/models/CronTrigger.java | 6 +- .../models/DataGenerationJobSource.java | 2 - .../models/DataGenerationJobSourceType.java | 6 - .../DatasetDataGenerationJobSource.java | 174 - .../models/DeleteSkillVersionResponse.java | 149 + .../azure/ai/projects/models/Dimension.java | 6 +- .../ai/projects/models/FilesFileDetails.java | 137 + .../ai/projects/models/OneTimeTrigger.java | 6 +- .../ai/projects/models/RecurrenceTrigger.java | 6 +- .../com/azure/ai/projects/models/Skill.java | 201 ++ .../ai/projects/models/SkillDetails.java | 180 - .../projects/models/SkillInlineContent.java | 244 ++ .../ai/projects/models/SkillVersion.java | 201 ++ .../META-INF/azure-ai-projects_metadata.json | 2 +- sdk/ai/azure-ai-projects/tsp-location.yaml | 2 +- 73 files changed, 8725 insertions(+), 7652 deletions(-) create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentifier.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetItem.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResult.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResultStatus.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationCriterion.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationLevel.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentSkill.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationMode.java delete mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationStrategy.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateRequest.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResponse.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkill.java create mode 100644 sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java delete mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillRequest.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java delete mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DatasetDataGenerationJobSource.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DeleteSkillVersionResponse.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/FilesFileDetails.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Skill.java delete mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillDetails.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillInlineContent.java create mode 100644 sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillVersion.java diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/AgentsAsyncClient.java index 02867e148431..d076ebd3948b 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 @@ -25,14 +25,17 @@ import com.azure.ai.agents.models.AgentVersionDetails; import com.azure.ai.agents.models.AgentsPagedResultOptimizationCandidate; 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.CreateAgentVersionInput; import com.azure.ai.agents.models.FoundryFeaturesOptInKeys; 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.PageOrder; +import com.azure.ai.agents.models.PromoteCandidateRequest; +import com.azure.ai.agents.models.PromoteCandidateResponse; import com.azure.ai.agents.models.SessionLogEvent; import com.azure.ai.agents.models.UpdateAgentDetailsOptions; import com.azure.ai.agents.models.VersionIndicator; @@ -117,7 +120,7 @@ public final class AgentsAsyncClient { * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -523,7 +526,7 @@ public Mono createAgentVersion(String agentName, AgentDefin * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -599,7 +602,7 @@ public Mono createAgentVersion(String agentName, AgentDefin * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -727,7 +730,7 @@ Mono> createAgentWithResponse(BinaryData createAgentRequest * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -877,7 +880,7 @@ Mono updateAgent(String agentName, AgentDefinition definition) { * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -992,7 +995,7 @@ Mono> createAgentFromManifestWithResponse(BinaryData create * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1542,7 +1545,7 @@ public PagedFlux listAgentVersions(String agentName, Intege * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1774,8 +1777,8 @@ public Mono> deleteAgentWithResponse(String agentName, RequestOpt * 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. This value is not relevant for - * other Agent types. Defaults to false. + * versions have active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is + * not relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -1813,8 +1816,8 @@ Mono> internalDeleteAgentWithResponse(String agentName, Req * Query Parameters * NameTypeRequiredDescription * forceBooleanNoFor Hosted Agents, if true, force-deletes the version even if it - * has active sessions, cascading deletion to all associated sessions. This value is not relevant for other Agent - * types. Defaults to false. + * has active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is not + * relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -1856,6 +1859,8 @@ Mono> internalDeleteAgentVersionWithResponse(String agentNa * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -1867,7 +1872,7 @@ Mono> internalDeleteAgentVersionWithResponse(String agentNa * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -1922,6 +1927,8 @@ public Mono> getSessionWithResponse(String agentName, Strin * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -1933,7 +1940,7 @@ public Mono> getSessionWithResponse(String agentName, Strin * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -2075,35 +2082,6 @@ public Mono createAgentVersion(String agentName, AgentDefin .map(protocolMethodData -> protocolMethodData.toObject(AgentVersionDetails.class)); } - /** - * Retrieves a session by ID. - * - * @param agentName The name of the agent. - * @param sessionId The session identifier. - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 getSession(String agentName, String sessionId, - AgentDefinitionOptInKeys foundryFeatures) { - // Generated convenience method for getSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - return getSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class)); - } - /** * Retrieves a session by ID. * @@ -2127,67 +2105,6 @@ public Mono getSession(String agentName, String sessionId) .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class)); } - /** - * Returns a list of sessions for the specified agent. - * - * @param agentName The name of the agent. - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @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, AgentDefinitionOptInKeys foundryFeatures, - Integer limit, PageOrder order, String after, String before) { - // Generated convenience method for listSessions - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - 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)); - }); - } - /** * Returns a list of sessions for the specified agent. * @@ -2352,7 +2269,7 @@ public Mono> getSessionLogStreamWithResponse(String agentNa * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2428,7 +2345,7 @@ public Mono> getSessionLogStreamWithResponse(String agentNa * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2680,7 +2597,7 @@ public Mono updateAgentDetails(String agentName, UpdateAgentDetail * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2797,7 +2714,7 @@ Mono> createAgentFromCodeWithResponse(String agentName, Str * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2985,6 +2902,8 @@ public Mono> downloadAgentCodeWithResponse(String agentName * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -3009,7 +2928,7 @@ public Mono> downloadAgentCodeWithResponse(String agentName * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -3045,6 +2964,8 @@ public Mono> createSessionWithResponse(String agentName, Bi * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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} * @@ -3323,37 +3244,6 @@ public Mono downloadAgentCode(String agentName) { return downloadAgentCodeWithResponse(agentName, requestOptions).flatMap(FluxUtil::toMono); } - /** - * 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 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 agentSessionId) { - // Generated convenience method for createSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateSessionRequest createSessionRequestObj - = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId); - BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj); - return createSessionWithResponse(agentName, createSessionRequest, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class)); - } - /** * Creates a new session for an agent endpoint. * The endpoint resolves the backing agent version from `version_indicator` and @@ -3381,33 +3271,6 @@ public Mono createSession(String agentName, VersionIndicat .map(protocolMethodData -> protocolMethodData.toObject(AgentSessionResource.class)); } - /** - * 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 foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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, AgentDefinitionOptInKeys foundryFeatures) { - // Generated convenience method for deleteSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono); - } - /** * Deletes a session synchronously. * Returns 204 No Content when the session is deleted or does not exist. @@ -3622,361 +3485,178 @@ public PagedFlux listAgentConversations(Integer limit, PageOrder o *
      * {@code
      * {
+     *     agent (Required): {
+     *         agentName: String (Required)
+     *         agentVersion: String (Optional)
+     *     }
+     *     trainDatasetReference (Required): {
+     *         name: String (Required)
+     *         version: String (Optional)
+     *     }
+     *     validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *     evaluators (Optional): [
+     *         String (Optional)
+     *     ]
+     *     options (Optional): {
+     *         maxIterations: Integer (Optional)
+     *         optimizationConfig (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *         evalModel: String (Optional)
+     *         optimizationModel: String (Optional)
+     *         evaluationLevel: String(turn/conversation) (Optional)
+     *     }
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
      *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: 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)
      *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
+     *         debugInfo (Optional): {
+     *             String: BinaryData (Required)
+     *         }
+     *     }
+     *     result (Optional): {
+     *         baseline (Optional): {
+     *             candidateId: String (Optional)
+     *             name: String (Required)
+     *             config (Required): {
+     *                 agentName: String (Optional)
+     *                 agentVersion: String (Optional)
+     *                 model: String (Optional)
+     *                 systemPrompt: String (Optional)
+     *                 skills (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 eval_results (Optional): [
+     *                 tools (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
      *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
-     *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
      *             mutations (Required): {
      *                 String: BinaryData (Required)
      *             }
-     *             rationale: String (Required)
-     *             avg_score: double (Required)
-     *             avg_tokens: double (Required)
-     *             pass_rate: double (Required)
-     *             task_scores (Required): [
+     *             avgScore: double (Required)
+     *             avgTokens: double (Required)
+     *             passRate: double (Required)
+     *             taskScores (Required): [
      *                  (Required){
-     *                     task_name: String (Required)
+     *                     taskName: String (Required)
      *                     query: String (Optional)
      *                     scores (Required): {
      *                         String: double (Required)
      *                     }
-     *                     composite_score: double (Required)
+     *                     compositeScore: double (Required)
      *                     tokens: int (Required)
-     *                     duration_seconds: double (Required)
+     *                     durationSeconds: double (Required)
      *                     passed: boolean (Required)
-     *                     error_message: String (Optional)
+     *                     errorMessage: String (Optional)
      *                     rationales (Optional): {
      *                         String: String (Required)
      *                     }
      *                     response: String (Optional)
-     *                     run_id: String (Optional)
+     *                     runId: String (Optional)
      *                 }
      *             ]
-     *             is_pareto_optimal: boolean (Required)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *             isParetoOptimal: boolean (Required)
+     *             evalId: String (Optional)
+     *             evalRunId: String (Optional)
+     *             promotion (Optional): {
+     *                 promotedAt: long (Required)
+     *                 agentName: String (Required)
+     *                 agentVersion: String (Required)
+     *             }
      *         }
      *         best (Optional): (recursive schema, see best above)
      *         candidates (Optional): [
      *             (recursive schema, see above)
      *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
+     *         options (Optional): {
+     *             maxIterations: Integer (Optional)
+     *             optimizationConfig (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             evalModel: String (Optional)
+     *             optimizationModel: String (Optional)
+     *             evaluationLevel: String(turn/conversation) (Optional)
+     *         }
      *         warnings (Optional): [
      *             String (Optional)
      *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         allTargetAttributesFailed: Boolean (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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agentName: String (Required)
+     *             agentVersion: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         trainDatasetReference (Required): {
+     *             name: String (Required)
+     *             version: String (Optional)
      *         }
+     *         validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *         evaluators (Optional): [
+     *             String (Optional)
+     *         ]
+     *         options (Optional): (recursive schema, see options above)
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
+     *     createdAt: long (Required)
+     *     updatedAt: Long (Optional)
      *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
-     *     }
-     * }
-     * }
-     * 
- * - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
-     *                     }
-     *                 ]
-     *                 eval_results (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                     }
-     *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
-     *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
-     *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
-     *             mutations (Required): {
-     *                 String: BinaryData (Required)
-     *             }
-     *             rationale: String (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: int (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)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
-     *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
-     *         warnings (Optional): [
-     *             String (Optional)
-     *         ]
-     *         all_strategies_failed: Boolean (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 (Optional)
-     *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
+     *         currentIteration: int (Required)
+     *         bestScore: double (Required)
+     *         elapsedSeconds: double (Required)
+     *     }
+     *     dataset (Optional): {
+     *         name: String (Optional)
+     *         version: String (Optional)
+     *         taskCount: int (Required)
+     *         isInline: boolean (Required)
      *     }
      * }
      * }
      * 
* - * @param job The job to create. + * @param body 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) 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} on successful + * completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) { - return this.serviceClient.createOptimizationJobWithResponseAsync(job, requestOptions); + public Mono> createOptimizationJobWithResponse(BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.createOptimizationJobWithResponseAsync(body, requestOptions); } /** * Get info about an agent optimization job. * - * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal. + * Get an optimization job by id. Returns 202 while in progress, 200 when terminal. *

Header Parameters

* * @@ -3994,165 +3674,121 @@ public Mono> createOptimizationJobWithResponse(BinaryData j * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4177,7 +3813,7 @@ public Mono> getOptimizationJobWithResponse(String jobId, R /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

*
Header Parameters
* @@ -4198,7 +3834,7 @@ public Mono> getOptimizationJobWithResponse(String jobId, R * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -4218,165 +3854,121 @@ public Mono> getOptimizationJobWithResponse(String jobId, R * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4416,165 +4008,121 @@ public PagedFlux listOptimizationJobs(RequestOptions requestOptions) * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4587,8 +4135,8 @@ public PagedFlux listOptimizationJobs(RequestOptions requestOptions) * @throws ResourceNotFoundException thrown if the 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) 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} on successful + * completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -4600,6 +4148,14 @@ public Mono> cancelOptimizationJobWithResponse(String jobId * Deletes an agent optimization job. * * Delete the job and its candidate artifacts. Cancels first if non-terminal. + *

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

Header Parameters

* * @@ -4668,53 +4224,57 @@ public Mono> deleteOptimizationJobWithResponse(String jobId, Requ * { * data (Required): [ * (Required){ - * candidate_id: String (Optional) + * candidateId: String (Optional) * name: String (Required) * config (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) + * agentName: String (Optional) + * agentVersion: String (Optional) * model: String (Optional) - * system_prompt: String (Optional) + * systemPrompt: String (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * ] * first_id: String (Optional) @@ -4743,7 +4303,7 @@ public Mono> listOptimizationCandidatesWithResponse(String /** * Get a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary. + * Get a single candidate's metadata, manifest, and promotion info. *

Header Parameters

*
Header Parameters
* @@ -4760,53 +4320,26 @@ public Mono> listOptimizationCandidatesWithResponse(String *
      * {@code
      * {
-     *     candidate_id: String (Optional)
-     *     name: String (Required)
-     *     config (Required): {
-     *         agent_name: String (Required)
-     *         agent_version: String (Optional)
-     *         model: String (Optional)
-     *         system_prompt: String (Optional)
-     *         skills (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 description: String (Optional)
-     *             }
-     *         ]
-     *     }
-     *     mutations (Required): {
-     *         String: BinaryData (Required)
+     *     candidateId: String (Required)
+     *     jobId: String (Required)
+     *     candidateName: String (Required)
+     *     status: String (Required)
+     *     score: Double (Optional)
+     *     hasResults: boolean (Required)
+     *     createdAt: long (Required)
+     *     updatedAt: long (Required)
+     *     promotion (Optional): {
+     *         promotedAt: long (Required)
+     *         agentName: String (Required)
+     *         agentVersion: String (Required)
      *     }
-     *     rationale: String (Required)
-     *     avg_score: double (Required)
-     *     avg_tokens: double (Required)
-     *     pass_rate: double (Required)
-     *     task_scores (Required): [
+     *     files (Required): [
      *          (Required){
-     *             task_name: String (Required)
-     *             query: String (Optional)
-     *             scores (Required): {
-     *                 String: double (Required)
-     *             }
-     *             composite_score: double (Required)
-     *             tokens: int (Required)
-     *             duration_seconds: double (Required)
-     *             passed: boolean (Required)
-     *             error_message: String (Optional)
-     *             rationales (Optional): {
-     *                 String: String (Required)
-     *             }
-     *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             path: String (Required)
+     *             type: String (Required)
+     *             sizeBytes: long (Required)
      *         }
      *     ]
-     *     is_pareto_optimal: boolean (Required)
-     *     sample_avg_score: Double (Optional)
-     *     sample_size: Integer (Optional)
-     *     evaluation_type: String (Optional)
-     *     strategy: String(instruction/model/skill) (Optional)
-     *     eval_id: String (Optional)
-     *     eval_run_id: String (Optional)
      * }
      * }
      * 
@@ -4820,7 +4353,7 @@ public Mono> listOptimizationCandidatesWithResponse(String * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @return a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary along with {@link Response} on successful + * Get a single candidate's metadata, manifest, and promotion info along with {@link Response} on successful * completion of {@link Mono}. */ @Generated @@ -4855,8 +4388,12 @@ public Mono> getOptimizationCandidateWithResponse(String jo * temperature: Double (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } @@ -4901,24 +4438,24 @@ public Mono> getOptimizationCandidateConfigWithResponse(Str *
      * {@code
      * {
-     *     candidate_id: String (Required)
+     *     candidateId: String (Required)
      *     results (Required): [
      *          (Required){
-     *             task_name: String (Required)
+     *             taskName: String (Required)
      *             query: String (Optional)
      *             scores (Required): {
      *                 String: double (Required)
      *             }
-     *             composite_score: double (Required)
+     *             compositeScore: double (Required)
      *             tokens: int (Required)
-     *             duration_seconds: double (Required)
+     *             durationSeconds: double (Required)
      *             passed: boolean (Required)
-     *             error_message: String (Optional)
+     *             errorMessage: String (Optional)
      *             rationales (Optional): {
      *                 String: String (Required)
      *             }
      *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             runId: String (Optional)
      *         }
      *     ]
      * }
@@ -4944,69 +4481,10 @@ public Mono> getOptimizationCandidateResultsWithResponse(St
         return this.serviceClient.getOptimizationCandidateResultsWithResponseAsync(jobId, candidateId, requestOptions);
     }
 
-    /**
-     * Creates an agent optimization job.
-     *
-     * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
-     *
-     * @param job The job to create.
-     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
-     * preview resources.
-     * @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) to maximize evaluation scores on successful completion of {@link Mono}.
-     */
-    @Generated
-    @ServiceMethod(returns = ReturnType.SINGLE)
-    public Mono createOptimizationJob(OptimizationJob job, FoundryFeaturesOptInKeys foundryFeatures,
-        String operationId) {
-        // Generated convenience method for createOptimizationJobWithResponse
-        RequestOptions requestOptions = new RequestOptions();
-        if (foundryFeatures != null) {
-            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
-        }
-        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));
-    }
-
-    /**
-     * Creates an agent optimization job.
-     *
-     * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
-     *
-     * @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 agent optimization job resource — a long-running job that optimizes an agent's configuration
-     * (instructions, model, skills) to maximize evaluation scores on successful completion of {@link Mono}.
-     */
-    @Generated
-    @ServiceMethod(returns = ReturnType.SINGLE)
-    public Mono createOptimizationJob(OptimizationJob job) {
-        // Generated convenience method for createOptimizationJobWithResponse
-        RequestOptions requestOptions = new RequestOptions();
-        return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).flatMap(FluxUtil::toMono)
-            .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
-    }
-
     /**
      * Get info about an agent optimization job.
      *
-     * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal.
+     * Get an optimization job by id. Returns 202 while in progress, 200 when terminal.
      *
      * @param jobId The ID of the job.
      * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
@@ -5036,7 +4514,7 @@ public Mono getOptimizationJob(String jobId, FoundryFeaturesOpt
     /**
      * Get info about an agent optimization job.
      *
-     * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal.
+     * Get an optimization job by id. Returns 202 while in progress, 200 when terminal.
      *
      * @param jobId The ID of the job.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -5061,7 +4539,7 @@ public Mono getOptimizationJob(String jobId) {
     /**
      * Returns a list of agent optimization jobs.
      *
-     * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters.
+     * List optimization jobs. Supports cursor pagination and optional status / agentName filters.
      *
      * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
      * preview resources.
@@ -5110,7 +4588,7 @@ public PagedFlux listOptimizationJobs(FoundryFeaturesOptInKeys
             requestOptions.addQueryParam("status", status.toString(), false);
         }
         if (agentName != null) {
-            requestOptions.addQueryParam("agent_name", agentName, false);
+            requestOptions.addQueryParam("agentName", agentName, false);
         }
         PagedFlux pagedFluxResponse = listOptimizationJobs(requestOptions);
         return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> {
@@ -5130,7 +4608,7 @@ public PagedFlux listOptimizationJobs(FoundryFeaturesOptInKeys
     /**
      * Returns a list of agent optimization jobs.
      *
-     * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters.
+     * List optimization jobs. Supports cursor pagination and optional status / agentName 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.
@@ -5174,7 +4652,7 @@ public PagedFlux listOptimizationJobs() {
      * @throws ResourceModifiedException thrown if the 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) to maximize evaluation scores on successful completion of {@link Mono}.
+     * (instructions, model, skills, tools) to maximize evaluation scores on successful completion of {@link Mono}.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -5184,40 +4662,443 @@ public Mono cancelOptimizationJob(String jobId, FoundryFeatures
         if (foundryFeatures != null) {
             requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
         }
-        return cancelOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
-            .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
+        return cancelOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class));
+    }
+
+    /**
+     * Cancels an agent optimization job.
+     *
+     * Request cancellation. Idempotent on terminal states.
+     *
+     * @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 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 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));
+    }
+
+    /**
+     * Deletes an agent optimization job.
+     *
+     * 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.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the 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 deleteOptimizationJob(String jobId) {
+        // Generated convenience method for deleteOptimizationJobWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono);
+    }
+
+    /**
+     * Returns a list of candidates for an optimization job.
+     *
+     * List candidates produced by a job.
+     *
+     * @param jobId The optimization job id.
+     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
+     * preview resources.
+     * @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 on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono listOptimizationCandidates(String jobId,
+        FoundryFeaturesOptInKeys foundryFeatures, Integer limit, PageOrder order, String after, String before) {
+        // Generated convenience method for listOptimizationCandidatesWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        if (foundryFeatures != null) {
+            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
+        }
+        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 listOptimizationCandidatesWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AgentsPagedResultOptimizationCandidate.class));
+    }
+
+    /**
+     * Returns a list of candidates for an optimization job.
+     *
+     * List candidates produced by a 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 on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono listOptimizationCandidates(String jobId) {
+        // Generated convenience method for listOptimizationCandidatesWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        return listOptimizationCandidatesWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(AgentsPagedResultOptimizationCandidate.class));
+    }
+
+    /**
+     * Get a candidate by id.
+     *
+     * Get a single candidate's metadata, manifest, and promotion info.
+     *
+     * @param jobId The optimization job id.
+     * @param candidateId The candidate id.
+     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
+     * preview resources.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the 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 candidate by id.
+     *
+     * Get a single candidate's metadata, manifest, and promotion info on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono getOptimizationCandidate(String jobId, String candidateId,
+        FoundryFeaturesOptInKeys foundryFeatures) {
+        // Generated convenience method for getOptimizationCandidateWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        if (foundryFeatures != null) {
+            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
+        }
+        return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CandidateMetadata.class));
+    }
+
+    /**
+     * Get a candidate by id.
+     *
+     * Get a single candidate's metadata, manifest, and promotion info.
+     *
+     * @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 a candidate by id.
+     *
+     * Get a single candidate's metadata, manifest, and promotion info 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 candidate deploy config.
+     *
+     * Get the candidate's deploy config JSON. Used to compose `agents.create_version(...)` from a candidate.
+     *
+     * @param jobId The optimization job id.
+     * @param candidateId The candidate id.
+     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
+     * preview resources.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return candidate deploy config.
+     *
+     * Get the candidate's deploy config JSON on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono getOptimizationCandidateConfig(String jobId, String candidateId,
+        FoundryFeaturesOptInKeys foundryFeatures) {
+        // Generated convenience method for getOptimizationCandidateConfigWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        if (foundryFeatures != null) {
+            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
+        }
+        return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CandidateDeployConfig.class));
+    }
+
+    /**
+     * Get candidate deploy config.
+     *
+     * Get the candidate's deploy config JSON. Used to compose `agents.create_version(...)` from a 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 candidate deploy config.
+     *
+     * Get the candidate's deploy config JSON on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono getOptimizationCandidateConfig(String jobId, String candidateId) {
+        // Generated convenience method for getOptimizationCandidateConfigWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CandidateDeployConfig.class));
+    }
+
+    /**
+     * Get candidate evaluation results.
+     *
+     * Get full per-task evaluation results for a candidate.
+     *
+     * @param jobId The optimization job id.
+     * @param candidateId The candidate id.
+     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
+     * preview resources.
+     * @throws IllegalArgumentException thrown if parameters fail the validation.
+     * @throws HttpResponseException thrown if the request is rejected by server.
+     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
+     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
+     * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409.
+     * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
+     * @return candidate evaluation results.
+     *
+     * Get full per-task evaluation results for a candidate on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono getOptimizationCandidateResults(String jobId, String candidateId,
+        FoundryFeaturesOptInKeys foundryFeatures) {
+        // Generated convenience method for getOptimizationCandidateResultsWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        if (foundryFeatures != null) {
+            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
+        }
+        return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CandidateResults.class));
+    }
+
+    /**
+     * Get candidate evaluation results.
+     *
+     * Get full per-task evaluation results for a 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 candidate evaluation results.
+     *
+     * Get full per-task evaluation results for a candidate on successful completion of {@link Mono}.
+     */
+    @Generated
+    @ServiceMethod(returns = ReturnType.SINGLE)
+    public Mono getOptimizationCandidateResults(String jobId, String candidateId) {
+        // Generated convenience method for getOptimizationCandidateResultsWithResponse
+        RequestOptions requestOptions = new RequestOptions();
+        return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono)
+            .map(protocolMethodData -> protocolMethodData.toObject(CandidateResults.class));
+    }
+
+    /**
+     * Stops a session.
+     * Returns 204 No Content when the stop succeeds.
+     * 

Header Parameters

+ *
Header Parameters
+ * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", + * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", + * "ExternalAgents=V1Preview".
+ * 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> stopSessionWithResponse(String agentName, String sessionId, + RequestOptions requestOptions) { + return this.serviceClient.stopSessionWithResponseAsync(agentName, sessionId, requestOptions); + } + + /** + * 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)); + } + + /** + * Retrieves a session by ID. + * + * @param agentName The name of the agent. + * @param sessionId The session identifier. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 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 getSession(String agentName, String sessionId, + AgentDefinitionOptInKeys foundryFeatures, String userIsolationKey) { + // Generated convenience method for getSessionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + 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)); } /** - * Cancels an agent optimization job. - * - * Request cancellation. Idempotent on terminal states. + * Deletes a session synchronously. + * Returns 204 No Content when the session is deleted or does not exist. * - * @param jobId The ID of the job to cancel. + * @param agentName The name of the agent. + * @param sessionId The session identifier. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 agent optimization job resource — a long-running job that optimizes an agent's configuration - * (instructions, model, skills) to maximize evaluation scores 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 cancelOptimizationJob(String jobId) { - // Generated convenience method for cancelOptimizationJobWithResponse + public Mono deleteSession(String agentName, String sessionId, AgentDefinitionOptInKeys foundryFeatures, + String userIsolationKey) { + // Generated convenience method for deleteSessionWithResponse RequestOptions requestOptions = new RequestOptions(); - return cancelOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class)); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (userIsolationKey != null) { + requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey); + } + return deleteSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono); } /** - * Deletes an agent optimization job. - * - * Delete the job and its candidate artifacts. Cancels first if non-terminal. + * Stops a session. + * Returns 204 No Content when the stop succeeds. * - * @param jobId The ID of the job to delete. + * @param agentName The name of the agent. + * @param sessionId The session identifier. * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted * preview resources. * @throws IllegalArgumentException thrown if parameters fail the validation. @@ -5230,21 +5111,21 @@ public Mono cancelOptimizationJob(String jobId) { */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteOptimizationJob(String jobId, FoundryFeaturesOptInKeys foundryFeatures) { - // Generated convenience method for deleteOptimizationJobWithResponse + public Mono stopSession(String agentName, String sessionId, AgentDefinitionOptInKeys foundryFeatures) { + // Generated convenience method for stopSessionWithResponse RequestOptions requestOptions = new RequestOptions(); if (foundryFeatures != null) { requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); } - return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono); + return stopSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono); } /** - * Deletes an agent optimization job. - * - * Delete the job and its candidate artifacts. Cancels first if non-terminal. + * Stops a session. + * Returns 204 No Content when the stop succeeds. * - * @param jobId The ID of the job to delete. + * @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. @@ -5255,20 +5136,20 @@ public Mono deleteOptimizationJob(String jobId, FoundryFeaturesOptInKeys f */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteOptimizationJob(String jobId) { - // Generated convenience method for deleteOptimizationJobWithResponse + public Mono stopSession(String agentName, String sessionId) { + // Generated convenience method for stopSessionWithResponse RequestOptions requestOptions = new RequestOptions(); - return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono); + return stopSessionWithResponse(agentName, sessionId, requestOptions).flatMap(FluxUtil::toMono); } /** - * Returns a list of candidates for an optimization job. - * - * List candidates produced by a job. + * Returns a list of sessions for the specified agent. * - * @param jobId The optimization job id. + * @param agentName The name of the agent. * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted * preview resources. + * @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` @@ -5285,17 +5166,20 @@ public Mono deleteOptimizationJob(String jobId) { * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 on successful completion of {@link Mono}. + * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. */ @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono listOptimizationCandidates(String jobId, - FoundryFeaturesOptInKeys foundryFeatures, Integer limit, PageOrder order, String after, String before) { - // Generated convenience method for listOptimizationCandidatesWithResponse + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listSessions(String agentName, AgentDefinitionOptInKeys foundryFeatures, + String userIsolationKey, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listSessions RequestOptions requestOptions = new RequestOptions(); if (foundryFeatures != null) { requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); } + if (userIsolationKey != null) { + requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey); + } if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); } @@ -5308,98 +5192,178 @@ public Mono listOptimizationCandidates(S if (before != null) { requestOptions.addQueryParam("before", before, false); } - return listOptimizationCandidatesWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(AgentsPagedResultOptimizationCandidate.class)); + 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)); + }); } /** - * Returns a list of candidates for an optimization job. + * Creates an agent optimization job. * - * List candidates produced by a job. + * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry. * - * @param jobId The optimization job id. + * @param body The optimization job inputs. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 the response data for a requested list of items 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 listOptimizationCandidates(String jobId) { - // Generated convenience method for listOptimizationCandidatesWithResponse + public Mono createOptimizationJob(OptimizationJobInputs body, + FoundryFeaturesOptInKeys foundryFeatures, String operationId) { + // Generated convenience method for createOptimizationJobWithResponse RequestOptions requestOptions = new RequestOptions(); - return listOptimizationCandidatesWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(AgentsPagedResultOptimizationCandidate.class)); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (operationId != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId); + } + return createOptimizationJobWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class)); } /** - * Get a candidate by id. + * Creates an agent optimization job. * - * Get a single candidate manifest and aggregated evaluation summary. + * 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 body 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 body) { + // Generated convenience method for createOptimizationJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOptimizationJobWithResponse(BinaryData.fromObject(body), requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(OptimizationJob.class)); + } + + /** + * Deletes an agent optimization job. + * + * Delete the job and its candidate artifacts. Cancels first if non-terminal. + * + * @param jobId The ID of the job to delete. * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted * preview resources. + * @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. - * @return a candidate by id. - * - * Get a single candidate manifest and aggregated evaluation summary 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 getOptimizationCandidate(String jobId, String candidateId, - FoundryFeaturesOptInKeys foundryFeatures) { - // Generated convenience method for getOptimizationCandidateWithResponse + public Mono deleteOptimizationJob(String jobId, FoundryFeaturesOptInKeys foundryFeatures, Boolean force) { + // Generated convenience method for deleteOptimizationJobWithResponse RequestOptions requestOptions = new RequestOptions(); if (foundryFeatures != null) { requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); } - return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(OptimizationCandidate.class)); + if (force != null) { + requestOptions.addQueryParam("force", String.valueOf(force), false); + } + return deleteOptimizationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono); } /** - * Get a candidate by id. + * Promote a candidate. * - * Get a single candidate manifest and aggregated evaluation summary. + * Promotes a candidate, recording the deployment timestamp and target agent version. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     candidateId: String (Required)
+     *     status: String (Required)
+     *     promotedAt: long (Required)
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
* * @param jobId The optimization job id. - * @param candidateId The candidate id. - * @throws IllegalArgumentException thrown if parameters fail the validation. + * @param candidateId The candidate id to promote. + * @param body 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. - * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return a candidate by id. - * - * Get a single candidate manifest and aggregated evaluation summary on successful completion of {@link Mono}. + * @return response after successfully promoting a candidate along with {@link Response} 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(OptimizationCandidate.class)); + public Mono> promoteCandidateWithResponse(String jobId, String candidateId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.promoteCandidateWithResponseAsync(jobId, candidateId, body, requestOptions); } /** - * Get candidate deploy config. + * Promote a candidate. * - * Get the candidate's deploy config JSON. Used to compose `agents.create_version(...)` from a candidate. + * Promotes a candidate, recording the deployment timestamp and target agent version. * * @param jobId The optimization job id. - * @param candidateId The candidate id. + * @param candidateId The candidate id to promote. + * @param body Promotion details. * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted * preview resources. * @throws IllegalArgumentException thrown if parameters fail the validation. @@ -5408,56 +5372,100 @@ public Mono getOptimizationCandidate(String jobId, String * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return candidate deploy config. - * - * Get the candidate's deploy config JSON on successful completion of {@link Mono}. + * @return response after successfully promoting a candidate on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getOptimizationCandidateConfig(String jobId, String candidateId, - FoundryFeaturesOptInKeys foundryFeatures) { - // Generated convenience method for getOptimizationCandidateConfigWithResponse + public Mono promoteCandidate(String jobId, String candidateId, + PromoteCandidateRequest body, FoundryFeaturesOptInKeys foundryFeatures) { + // Generated convenience method for promoteCandidateWithResponse RequestOptions requestOptions = new RequestOptions(); if (foundryFeatures != null) { requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); } - return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(CandidateDeployConfig.class)); + return promoteCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(PromoteCandidateResponse.class)); } /** - * Get candidate deploy config. + * Promote a candidate. * - * Get the candidate's deploy config JSON. Used to compose `agents.create_version(...)` from a candidate. + * Promotes a candidate, recording the deployment timestamp and target agent version. * * @param jobId The optimization job id. - * @param candidateId The candidate id. + * @param candidateId The candidate id to promote. + * @param body Promotion details. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return candidate deploy config. - * - * Get the candidate's deploy config JSON on successful completion of {@link Mono}. + * @return response after successfully promoting a candidate 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 promoteCandidate(String jobId, String candidateId, + PromoteCandidateRequest body) { + // Generated convenience method for promoteCandidateWithResponse RequestOptions requestOptions = new RequestOptions(); - return getOptimizationCandidateConfigWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(CandidateDeployConfig.class)); + return promoteCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(body), requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(PromoteCandidateResponse.class)); } /** - * Get candidate evaluation results. + * Get a candidate file. * - * Get full per-task evaluation results for a candidate. + * Stream a specific file from the candidate's blob directory. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

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 a candidate file. + * + * Stream a specific file from the candidate's blob directory along with {@link Response} on successful completion + * of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCandidateFileWithResponse(String jobId, String candidateId, String path, + RequestOptions requestOptions) { + return this.serviceClient.getCandidateFileWithResponseAsync(jobId, candidateId, path, requestOptions); + } + + /** + * Get a candidate file. + * + * Stream a specific file from the candidate's blob directory. + * + * @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 foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted * preview resources. * @throws IllegalArgumentException thrown if parameters fail the validation. @@ -5466,46 +5474,45 @@ public Mono getOptimizationCandidateConfig(String jobId, * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return candidate evaluation results. + * @return a candidate file. * - * Get full per-task evaluation results for a candidate on successful completion of {@link Mono}. + * Stream a specific file from the candidate's blob directory on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getOptimizationCandidateResults(String jobId, String candidateId, + public Mono getCandidateFile(String jobId, String candidateId, String path, FoundryFeaturesOptInKeys foundryFeatures) { - // Generated convenience method for getOptimizationCandidateResultsWithResponse + // Generated convenience method for getCandidateFileWithResponse RequestOptions requestOptions = new RequestOptions(); if (foundryFeatures != null) { requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); } - return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(CandidateResults.class)); + return getCandidateFileWithResponse(jobId, candidateId, path, requestOptions).flatMap(FluxUtil::toMono); } /** - * Get candidate evaluation results. + * Get a candidate file. * - * Get full per-task evaluation results for a candidate. + * Stream a specific file from the candidate's blob directory. * * @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'). * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return candidate evaluation results. + * @return a candidate file. * - * Get full per-task evaluation results for a candidate on successful completion of {@link Mono}. + * Stream a specific file from the candidate's blob directory on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getOptimizationCandidateResults(String jobId, String candidateId) { - // Generated convenience method for getOptimizationCandidateResultsWithResponse + public Mono getCandidateFile(String jobId, String candidateId, String path) { + // Generated convenience method for getCandidateFileWithResponse RequestOptions requestOptions = new RequestOptions(); - return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(CandidateResults.class)); + return getCandidateFileWithResponse(jobId, candidateId, path, 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 93c2a001fbaf..466b79b31ee1 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 @@ -25,14 +25,17 @@ import com.azure.ai.agents.models.AgentVersionDetails; import com.azure.ai.agents.models.AgentsPagedResultOptimizationCandidate; 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.CreateAgentVersionInput; import com.azure.ai.agents.models.FoundryFeaturesOptInKeys; 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.PageOrder; +import com.azure.ai.agents.models.PromoteCandidateRequest; +import com.azure.ai.agents.models.PromoteCandidateResponse; import com.azure.ai.agents.models.SessionLogEvent; import com.azure.ai.agents.models.UpdateAgentDetailsOptions; import com.azure.ai.agents.models.VersionIndicator; @@ -112,7 +115,7 @@ public final class AgentsClient { * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -491,7 +494,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -567,7 +570,7 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -695,7 +698,7 @@ Response createAgentWithResponse(BinaryData createAgentRequest, Requ * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -845,7 +848,7 @@ AgentDetails updateAgent(String agentName, AgentDefinition definition) { * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -959,7 +962,7 @@ Response createAgentFromManifestWithResponse(BinaryData createAgentF * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1479,7 +1482,7 @@ public PagedIterable listAgentVersions(String agentName, In * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1697,8 +1700,8 @@ public Response deleteAgentWithResponse(String agentName, RequestOptions r * 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. This value is not relevant for - * other Agent types. Defaults to false. + * versions have active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is + * not relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -1736,8 +1739,8 @@ Response internalDeleteAgentWithResponse(String agentName, RequestOp * Query Parameters * NameTypeRequiredDescription * forceBooleanNoFor Hosted Agents, if true, force-deletes the version even if it - * has active sessions, cascading deletion to all associated sessions. This value is not relevant for other Agent - * types. Defaults to false. + * has active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is not + * relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -1779,6 +1782,8 @@ Response internalDeleteAgentVersionWithResponse(String agentName, St * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -1790,7 +1795,7 @@ Response internalDeleteAgentVersionWithResponse(String agentName, St * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -1845,6 +1850,8 @@ public Response getSessionWithResponse(String agentName, String sess * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -1856,7 +1863,7 @@ public Response getSessionWithResponse(String agentName, String sess * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -1995,34 +2002,6 @@ public AgentVersionDetails createAgentVersion(String agentName, AgentDefinition .toObject(AgentVersionDetails.class); } - /** - * Retrieves a session by ID. - * - * @param agentName The name of the agent. - * @param sessionId The session identifier. - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 getSession(String agentName, String sessionId, - AgentDefinitionOptInKeys foundryFeatures) { - // Generated convenience method for getSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - return getSessionWithResponse(agentName, sessionId, requestOptions).getValue() - .toObject(AgentSessionResource.class); - } - /** * Retrieves a session by ID. * @@ -2045,55 +2024,6 @@ public AgentSessionResource getSession(String agentName, String sessionId) { .toObject(AgentSessionResource.class); } - /** - * Returns a list of sessions for the specified agent. - * - * @param agentName The name of the agent. - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @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, AgentDefinitionOptInKeys foundryFeatures, - Integer limit, PageOrder order, String after, String before) { - // Generated convenience method for listSessions - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - 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)); - } - /** * Returns a list of sessions for the specified agent. * @@ -2246,7 +2176,7 @@ public Response getSessionLogStreamWithResponse(String agentName, St * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2322,7 +2252,7 @@ public Response getSessionLogStreamWithResponse(String agentName, St * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2569,7 +2499,7 @@ public AgentDetails updateAgentDetails(String agentName, UpdateAgentDetailsOptio * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2685,7 +2615,7 @@ Response createAgentFromCodeWithResponse(String agentName, String co * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2872,6 +2802,8 @@ public Response downloadAgentCodeWithResponse(String agentName, Requ * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -2896,7 +2828,7 @@ public Response downloadAgentCodeWithResponse(String agentName, Requ * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -2932,6 +2864,8 @@ public Response createSessionWithResponse(String agentName, BinaryDa * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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} * @@ -3203,36 +3137,6 @@ public BinaryData downloadAgentCode(String agentName) { return downloadAgentCodeWithResponse(agentName, requestOptions).getValue(); } - /** - * 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 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 agentSessionId) { - // Generated convenience method for createSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateSessionRequest createSessionRequestObj - = new CreateSessionRequest(versionIndicator).setAgentSessionId(agentSessionId); - BinaryData createSessionRequest = BinaryData.fromObject(createSessionRequestObj); - return createSessionWithResponse(agentName, createSessionRequest, requestOptions).getValue() - .toObject(AgentSessionResource.class); - } - /** * Creates a new session for an agent endpoint. * The endpoint resolves the backing agent version from `version_indicator` and @@ -3259,32 +3163,6 @@ public AgentSessionResource createSession(String agentName, VersionIndicator ver .toObject(AgentSessionResource.class); } - /** - * 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 foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if 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, AgentDefinitionOptInKeys foundryFeatures) { - // Generated convenience method for deleteSessionWithResponse - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue(); - } - /** * Deletes a session synchronously. * Returns 204 No Content when the session is deleted or does not exist. @@ -3476,141 +3354,37 @@ public PagedIterable listAgentConversations(Integer limit, PageOrd *
      * {@code
      * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
-     *                     }
-     *                 ]
-     *                 eval_results (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                     }
-     *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
-     *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
+     *     agent (Required): {
+     *         agentName: String (Required)
+     *         agentVersion: String (Optional)
      *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
-     *             mutations (Required): {
-     *                 String: BinaryData (Required)
-     *             }
-     *             rationale: String (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: int (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)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *     trainDatasetReference (Required): {
+     *         name: String (Required)
+     *         version: String (Optional)
+     *     }
+     *     validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *     evaluators (Optional): [
+     *         String (Optional)
+     *     ]
+     *     options (Optional): {
+     *         maxIterations: Integer (Optional)
+     *         optimizationConfig (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
-     *         warnings (Optional): [
-     *             String (Optional)
-     *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         evalModel: String (Optional)
+     *         optimizationModel: String (Optional)
+     *         evaluationLevel: 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)
@@ -3627,209 +3401,129 @@ public PagedIterable listAgentConversations(Integer limit, PageOrd
      *             String: BinaryData (Required)
      *         }
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
-     *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
-     *     }
-     * }
-     * }
-     * 
- * - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
+     *     result (Optional): {
+     *         baseline (Optional): {
+     *             candidateId: String (Optional)
+     *             name: String (Required)
+     *             config (Required): {
+     *                 agentName: String (Optional)
+     *                 agentVersion: String (Optional)
+     *                 model: String (Optional)
+     *                 systemPrompt: String (Optional)
+     *                 skills (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 eval_results (Optional): [
+     *                 tools (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
      *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
-     *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
      *             mutations (Required): {
      *                 String: BinaryData (Required)
      *             }
-     *             rationale: String (Required)
-     *             avg_score: double (Required)
-     *             avg_tokens: double (Required)
-     *             pass_rate: double (Required)
-     *             task_scores (Required): [
+     *             avgScore: double (Required)
+     *             avgTokens: double (Required)
+     *             passRate: double (Required)
+     *             taskScores (Required): [
      *                  (Required){
-     *                     task_name: String (Required)
+     *                     taskName: String (Required)
      *                     query: String (Optional)
      *                     scores (Required): {
      *                         String: double (Required)
      *                     }
-     *                     composite_score: double (Required)
+     *                     compositeScore: double (Required)
      *                     tokens: int (Required)
-     *                     duration_seconds: double (Required)
+     *                     durationSeconds: double (Required)
      *                     passed: boolean (Required)
-     *                     error_message: String (Optional)
+     *                     errorMessage: String (Optional)
      *                     rationales (Optional): {
      *                         String: String (Required)
      *                     }
      *                     response: String (Optional)
-     *                     run_id: String (Optional)
+     *                     runId: String (Optional)
      *                 }
      *             ]
-     *             is_pareto_optimal: boolean (Required)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *             isParetoOptimal: boolean (Required)
+     *             evalId: String (Optional)
+     *             evalRunId: String (Optional)
+     *             promotion (Optional): {
+     *                 promotedAt: long (Required)
+     *                 agentName: String (Required)
+     *                 agentVersion: String (Required)
+     *             }
      *         }
      *         best (Optional): (recursive schema, see best above)
      *         candidates (Optional): [
      *             (recursive schema, see above)
      *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
+     *         options (Optional): {
+     *             maxIterations: Integer (Optional)
+     *             optimizationConfig (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             evalModel: String (Optional)
+     *             optimizationModel: String (Optional)
+     *             evaluationLevel: String(turn/conversation) (Optional)
+     *         }
      *         warnings (Optional): [
      *             String (Optional)
      *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         allTargetAttributesFailed: Boolean (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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agentName: String (Required)
+     *             agentVersion: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         trainDatasetReference (Required): {
+     *             name: String (Required)
+     *             version: String (Optional)
      *         }
+     *         validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *         evaluators (Optional): [
+     *             String (Optional)
+     *         ]
+     *         options (Optional): (recursive schema, see options above)
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
+     *     createdAt: long (Required)
+     *     updatedAt: Long (Optional)
      *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
+     *         currentIteration: int (Required)
+     *         bestScore: double (Required)
+     *         elapsedSeconds: double (Required)
+     *     }
+     *     dataset (Optional): {
+     *         name: String (Optional)
+     *         version: String (Optional)
+     *         taskCount: int (Required)
+     *         isInline: boolean (Required)
      *     }
      * }
      * }
      * 
* - * @param job The job to create. + * @param body 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) to maximize evaluation scores along with {@link Response}. + * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) { - return this.serviceClient.createOptimizationJobWithResponse(job, requestOptions); + public Response createOptimizationJobWithResponse(BinaryData body, RequestOptions requestOptions) { + return this.serviceClient.createOptimizationJobWithResponse(body, requestOptions); } /** * Get info about an agent optimization job. * - * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal. + * Get an optimization job by id. Returns 202 while in progress, 200 when terminal. *

Header Parameters

* * @@ -3847,165 +3541,121 @@ public Response createOptimizationJobWithResponse(BinaryData job, Re * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4030,7 +3680,7 @@ public Response getOptimizationJobWithResponse(String jobId, Request /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

*
Header Parameters
* @@ -4051,7 +3701,7 @@ public Response getOptimizationJobWithResponse(String jobId, Request * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -4071,165 +3721,121 @@ public Response getOptimizationJobWithResponse(String jobId, Request * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4269,165 +3875,121 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -4440,7 +4002,7 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti * @throws ResourceNotFoundException thrown if the 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) to maximize evaluation scores along with {@link Response}. + * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -4452,6 +4014,14 @@ public Response cancelOptimizationJobWithResponse(String jobId, Requ * Deletes an agent optimization job. * * Delete the job and its candidate artifacts. Cancels first if non-terminal. + *

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

Header Parameters

* * @@ -4520,53 +4090,57 @@ public Response deleteOptimizationJobWithResponse(String jobId, RequestOpt * { * data (Required): [ * (Required){ - * candidate_id: String (Optional) + * candidateId: String (Optional) * name: String (Required) * config (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) + * agentName: String (Optional) + * agentVersion: String (Optional) * model: String (Optional) - * system_prompt: String (Optional) + * systemPrompt: String (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * ] * first_id: String (Optional) @@ -4593,7 +4167,7 @@ public Response listOptimizationCandidatesWithResponse(String jobId, /** * Get a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary. + * Get a single candidate's metadata, manifest, and promotion info. *

Header Parameters

*
Header Parameters
* @@ -4610,53 +4184,26 @@ public Response listOptimizationCandidatesWithResponse(String jobId, *
      * {@code
      * {
-     *     candidate_id: String (Optional)
-     *     name: String (Required)
-     *     config (Required): {
-     *         agent_name: String (Required)
-     *         agent_version: String (Optional)
-     *         model: String (Optional)
-     *         system_prompt: String (Optional)
-     *         skills (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 description: String (Optional)
-     *             }
-     *         ]
+     *     candidateId: String (Required)
+     *     jobId: String (Required)
+     *     candidateName: String (Required)
+     *     status: String (Required)
+     *     score: Double (Optional)
+     *     hasResults: boolean (Required)
+     *     createdAt: long (Required)
+     *     updatedAt: long (Required)
+     *     promotion (Optional): {
+     *         promotedAt: long (Required)
+     *         agentName: String (Required)
+     *         agentVersion: String (Required)
      *     }
-     *     mutations (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     *     rationale: String (Required)
-     *     avg_score: double (Required)
-     *     avg_tokens: double (Required)
-     *     pass_rate: double (Required)
-     *     task_scores (Required): [
+     *     files (Required): [
      *          (Required){
-     *             task_name: String (Required)
-     *             query: String (Optional)
-     *             scores (Required): {
-     *                 String: double (Required)
-     *             }
-     *             composite_score: double (Required)
-     *             tokens: int (Required)
-     *             duration_seconds: double (Required)
-     *             passed: boolean (Required)
-     *             error_message: String (Optional)
-     *             rationales (Optional): {
-     *                 String: String (Required)
-     *             }
-     *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             path: String (Required)
+     *             type: String (Required)
+     *             sizeBytes: long (Required)
      *         }
      *     ]
-     *     is_pareto_optimal: boolean (Required)
-     *     sample_avg_score: Double (Optional)
-     *     sample_size: Integer (Optional)
-     *     evaluation_type: String (Optional)
-     *     strategy: String(instruction/model/skill) (Optional)
-     *     eval_id: String (Optional)
-     *     eval_run_id: String (Optional)
      * }
      * }
      * 
@@ -4670,7 +4217,7 @@ public Response listOptimizationCandidatesWithResponse(String jobId, * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @return a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary along with {@link Response}. + * Get a single candidate's metadata, manifest, and promotion info along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) @@ -4704,8 +4251,12 @@ public Response getOptimizationCandidateWithResponse(String jobId, S * temperature: Double (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } @@ -4750,24 +4301,24 @@ public Response getOptimizationCandidateConfigWithResponse(String jo *
      * {@code
      * {
-     *     candidate_id: String (Required)
+     *     candidateId: String (Required)
      *     results (Required): [
      *          (Required){
-     *             task_name: String (Required)
+     *             taskName: String (Required)
      *             query: String (Optional)
      *             scores (Required): {
      *                 String: double (Required)
      *             }
-     *             composite_score: double (Required)
+     *             compositeScore: double (Required)
      *             tokens: int (Required)
-     *             duration_seconds: double (Required)
+     *             durationSeconds: double (Required)
      *             passed: boolean (Required)
-     *             error_message: String (Optional)
+     *             errorMessage: String (Optional)
      *             rationales (Optional): {
      *                 String: String (Required)
      *             }
      *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             runId: String (Optional)
      *         }
      *     ]
      * }
@@ -4792,69 +4343,10 @@ public Response getOptimizationCandidateResultsWithResponse(String j
         return this.serviceClient.getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions);
     }
 
-    /**
-     * Creates an agent optimization job.
-     *
-     * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
-     *
-     * @param job The job to create.
-     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
-     * preview resources.
-     * @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) to maximize evaluation scores.
-     */
-    @Generated
-    @ServiceMethod(returns = ReturnType.SINGLE)
-    public OptimizationJob createOptimizationJob(OptimizationJob job, FoundryFeaturesOptInKeys foundryFeatures,
-        String operationId) {
-        // Generated convenience method for createOptimizationJobWithResponse
-        RequestOptions requestOptions = new RequestOptions();
-        if (foundryFeatures != null) {
-            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
-        }
-        if (operationId != null) {
-            requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId);
-        }
-        return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).getValue()
-            .toObject(OptimizationJob.class);
-    }
-
-    /**
-     * Creates an agent optimization job.
-     *
-     * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry.
-     *
-     * @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 agent optimization job resource — a long-running job that optimizes an agent's configuration
-     * (instructions, model, skills) to maximize evaluation scores.
-     */
-    @Generated
-    @ServiceMethod(returns = ReturnType.SINGLE)
-    public OptimizationJob createOptimizationJob(OptimizationJob job) {
-        // Generated convenience method for createOptimizationJobWithResponse
-        RequestOptions requestOptions = new RequestOptions();
-        return createOptimizationJobWithResponse(BinaryData.fromObject(job), requestOptions).getValue()
-            .toObject(OptimizationJob.class);
-    }
-
     /**
      * Get info about an agent optimization job.
      *
-     * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal.
+     * Get an optimization job by id. Returns 202 while in progress, 200 when terminal.
      *
      * @param jobId The ID of the job.
      * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
@@ -4883,7 +4375,7 @@ public OptimizationJob getOptimizationJob(String jobId, FoundryFeaturesOptInKeys
     /**
      * Get info about an agent optimization job.
      *
-     * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal.
+     * Get an optimization job by id. Returns 202 while in progress, 200 when terminal.
      *
      * @param jobId The ID of the job.
      * @throws IllegalArgumentException thrown if parameters fail the validation.
@@ -4907,7 +4399,7 @@ public OptimizationJob getOptimizationJob(String jobId) {
     /**
      * Returns a list of agent optimization jobs.
      *
-     * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters.
+     * List optimization jobs. Supports cursor pagination and optional status / agentName filters.
      *
      * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
      * preview resources.
@@ -4956,7 +4448,7 @@ public PagedIterable listOptimizationJobs(FoundryFeaturesOptInK
             requestOptions.addQueryParam("status", status.toString(), false);
         }
         if (agentName != null) {
-            requestOptions.addQueryParam("agent_name", agentName, false);
+            requestOptions.addQueryParam("agentName", agentName, false);
         }
         return serviceClient.listOptimizationJobs(requestOptions)
             .mapPage(bodyItemValue -> bodyItemValue.toObject(OptimizationJob.class));
@@ -4965,7 +4457,7 @@ public PagedIterable listOptimizationJobs(FoundryFeaturesOptInK
     /**
      * Returns a list of agent optimization jobs.
      *
-     * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters.
+     * List optimization jobs. Supports cursor pagination and optional status / agentName 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.
@@ -4998,7 +4490,7 @@ public PagedIterable listOptimizationJobs() {
      * @throws ResourceModifiedException thrown if the 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) to maximize evaluation scores.
+     * (instructions, model, skills, tools) to maximize evaluation scores.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -5024,7 +4516,7 @@ public OptimizationJob cancelOptimizationJob(String jobId, FoundryFeaturesOptInK
      * @throws ResourceModifiedException thrown if the 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) to maximize evaluation scores.
+     * (instructions, model, skills, tools) to maximize evaluation scores.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
@@ -5034,32 +4526,6 @@ public OptimizationJob cancelOptimizationJob(String jobId) {
         return cancelOptimizationJobWithResponse(jobId, requestOptions).getValue().toObject(OptimizationJob.class);
     }
 
-    /**
-     * Deletes an agent optimization job.
-     *
-     * Delete the job and its candidate artifacts. Cancels first if non-terminal.
-     *
-     * @param jobId The ID of the job to delete.
-     * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted
-     * preview resources.
-     * @throws IllegalArgumentException thrown if parameters fail the validation.
-     * @throws HttpResponseException thrown if the request is rejected by server.
-     * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401.
-     * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404.
-     * @throws ResourceModifiedException thrown if 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, FoundryFeaturesOptInKeys foundryFeatures) {
-        // Generated convenience method for deleteOptimizationJobWithResponse
-        RequestOptions requestOptions = new RequestOptions();
-        if (foundryFeatures != null) {
-            requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
-        }
-        deleteOptimizationJobWithResponse(jobId, requestOptions).getValue();
-    }
-
     /**
      * Deletes an agent optimization job.
      *
@@ -5158,7 +4624,7 @@ public AgentsPagedResultOptimizationCandidate listOptimizationCandidates(String
     /**
      * Get a candidate by id.
      *
-     * Get a single candidate manifest and aggregated evaluation summary.
+     * Get a single candidate's metadata, manifest, and promotion info.
      *
      * @param jobId The optimization job id.
      * @param candidateId The candidate id.
@@ -5172,11 +4638,11 @@ public AgentsPagedResultOptimizationCandidate listOptimizationCandidates(String
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
      * @return a candidate by id.
      *
-     * Get a single candidate manifest and aggregated evaluation summary.
+     * Get a single candidate's metadata, manifest, and promotion info.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
-    public OptimizationCandidate getOptimizationCandidate(String jobId, String candidateId,
+    public CandidateMetadata getOptimizationCandidate(String jobId, String candidateId,
         FoundryFeaturesOptInKeys foundryFeatures) {
         // Generated convenience method for getOptimizationCandidateWithResponse
         RequestOptions requestOptions = new RequestOptions();
@@ -5184,13 +4650,13 @@ public OptimizationCandidate getOptimizationCandidate(String jobId, String candi
             requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString());
         }
         return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).getValue()
-            .toObject(OptimizationCandidate.class);
+            .toObject(CandidateMetadata.class);
     }
 
     /**
      * Get a candidate by id.
      *
-     * Get a single candidate manifest and aggregated evaluation summary.
+     * Get a single candidate's metadata, manifest, and promotion info.
      *
      * @param jobId The optimization job id.
      * @param candidateId The candidate id.
@@ -5202,15 +4668,15 @@ public OptimizationCandidate getOptimizationCandidate(String jobId, String candi
      * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent.
      * @return a candidate by id.
      *
-     * Get a single candidate manifest and aggregated evaluation summary.
+     * Get a single candidate's metadata, manifest, and promotion info.
      */
     @Generated
     @ServiceMethod(returns = ReturnType.SINGLE)
-    public OptimizationCandidate getOptimizationCandidate(String jobId, String candidateId) {
+    public CandidateMetadata getOptimizationCandidate(String jobId, String candidateId) {
         // Generated convenience method for getOptimizationCandidateWithResponse
         RequestOptions requestOptions = new RequestOptions();
         return getOptimizationCandidateWithResponse(jobId, candidateId, requestOptions).getValue()
-            .toObject(OptimizationCandidate.class);
+            .toObject(CandidateMetadata.class);
     }
 
     /**
@@ -5328,4 +4794,536 @@ public CandidateResults getOptimizationCandidateResults(String jobId, String can
         return getOptimizationCandidateResultsWithResponse(jobId, candidateId, requestOptions).getValue()
             .toObject(CandidateResults.class);
     }
+
+    /**
+     * Stops a session.
+     * Returns 204 No Content when the stop succeeds.
+     * 

Header Parameters

+ *
Header Parameters
+ * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", + * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", + * "ExternalAgents=V1Preview".
+ * 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 stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { + return this.serviceClient.stopSessionWithResponse(agentName, sessionId, requestOptions); + } + + /** + * 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); + } + + /** + * Retrieves a session by ID. + * + * @param agentName The name of the agent. + * @param sessionId The session identifier. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 an agent session providing a long-lived compute sandbox for hosted agent invocations. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public AgentSessionResource getSession(String agentName, String sessionId, AgentDefinitionOptInKeys foundryFeatures, + String userIsolationKey) { + // Generated convenience method for getSessionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (userIsolationKey != null) { + requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey); + } + return getSessionWithResponse(agentName, sessionId, requestOptions).getValue() + .toObject(AgentSessionResource.class); + } + + /** + * 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 foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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, AgentDefinitionOptInKeys foundryFeatures, + String userIsolationKey) { + // Generated convenience method for deleteSessionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (userIsolationKey != null) { + requestOptions.setHeader(HttpHeaderName.fromString("x-ms-user-isolation-key"), userIsolationKey); + } + deleteSessionWithResponse(agentName, sessionId, requestOptions).getValue(); + } + + /** + * Stops a session. + * Returns 204 No Content when the stop succeeds. + * + * @param agentName The name of the agent. + * @param sessionId The session identifier. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if 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, AgentDefinitionOptInKeys foundryFeatures) { + // Generated convenience method for stopSessionWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + stopSessionWithResponse(agentName, sessionId, requestOptions).getValue(); + } + + /** + * Stops a session. + * Returns 204 No Content when the stop 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(); + } + + /** + * Returns a list of sessions for the specified agent. + * + * @param agentName The name of the agent. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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, AgentDefinitionOptInKeys foundryFeatures, + String userIsolationKey, Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listSessions + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + 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)); + } + + /** + * Creates an agent optimization job. + * + * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry. + * + * @param body The optimization job inputs. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public OptimizationJob createOptimizationJob(OptimizationJobInputs body, FoundryFeaturesOptInKeys foundryFeatures, + String operationId) { + // Generated convenience method for createOptimizationJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (operationId != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Operation-Id"), operationId); + } + return createOptimizationJobWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(OptimizationJob.class); + } + + /** + * Creates an agent optimization job. + * + * Create an optimization job. Returns 201 with the queued job. Honours `Operation-Id` for idempotent retry. + * + * @param body 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public OptimizationJob createOptimizationJob(OptimizationJobInputs body) { + // Generated convenience method for createOptimizationJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + return createOptimizationJobWithResponse(BinaryData.fromObject(body), requestOptions).getValue() + .toObject(OptimizationJob.class); + } + + /** + * Deletes an agent optimization job. + * + * Delete the job and its candidate artifacts. Cancels first if non-terminal. + * + * @param jobId The ID of the job to delete. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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, FoundryFeaturesOptInKeys foundryFeatures, Boolean force) { + // Generated convenience method for deleteOptimizationJobWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + if (force != null) { + requestOptions.addQueryParam("force", String.valueOf(force), false); + } + deleteOptimizationJobWithResponse(jobId, requestOptions).getValue(); + } + + /** + * Promote a candidate. + * + * Promotes a candidate, recording the deployment timestamp and target agent version. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     candidateId: String (Required)
+     *     status: String (Required)
+     *     promotedAt: long (Required)
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + * @param jobId The optimization job id. + * @param candidateId The candidate id to promote. + * @param body 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 promoteCandidateWithResponse(String jobId, String candidateId, BinaryData body, + RequestOptions requestOptions) { + return this.serviceClient.promoteCandidateWithResponse(jobId, candidateId, body, requestOptions); + } + + /** + * Promote a candidate. + * + * Promotes a candidate, recording the deployment timestamp and target agent version. + * + * @param jobId The optimization job id. + * @param candidateId The candidate id to promote. + * @param body Promotion details. + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public PromoteCandidateResponse promoteCandidate(String jobId, String candidateId, PromoteCandidateRequest body, + FoundryFeaturesOptInKeys foundryFeatures) { + // Generated convenience method for promoteCandidateWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + return promoteCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(PromoteCandidateResponse.class); + } + + /** + * Promote a candidate. + * + * Promotes a candidate, recording the deployment timestamp and target agent version. + * + * @param jobId The optimization job id. + * @param candidateId The candidate id to promote. + * @param body Promotion details. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public PromoteCandidateResponse promoteCandidate(String jobId, String candidateId, PromoteCandidateRequest body) { + // Generated convenience method for promoteCandidateWithResponse + RequestOptions requestOptions = new RequestOptions(); + return promoteCandidateWithResponse(jobId, candidateId, BinaryData.fromObject(body), requestOptions).getValue() + .toObject(PromoteCandidateResponse.class); + } + + /** + * Get a candidate file. + * + * Stream a specific file from the candidate's blob directory. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

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 a candidate file. + * + * Stream a specific file from the candidate's blob directory along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCandidateFileWithResponse(String jobId, String candidateId, String path, + RequestOptions requestOptions) { + return this.serviceClient.getCandidateFileWithResponse(jobId, candidateId, path, requestOptions); + } + + /** + * Get a candidate file. + * + * Stream a specific file from the candidate's blob directory. + * + * @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 foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 candidate file. + * + * Stream a specific file from the candidate's blob directory. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getCandidateFile(String jobId, String candidateId, String path, + FoundryFeaturesOptInKeys foundryFeatures) { + // Generated convenience method for getCandidateFileWithResponse + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + return getCandidateFileWithResponse(jobId, candidateId, path, requestOptions).getValue(); + } + + /** + * Get a candidate file. + * + * Stream a specific file from the candidate's blob directory. + * + * @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'). + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 candidate file. + * + * Stream a specific file from the candidate's blob directory. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public BinaryData getCandidateFile(String jobId, String candidateId, String path) { + // Generated convenience method for getCandidateFileWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getCandidateFileWithResponse(jobId, candidateId, path, requestOptions).getValue(); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index ecc5ca171573..91ad274410b8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -10,6 +10,7 @@ import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; import com.azure.ai.agents.models.ToolboxPolicies; +import com.azure.ai.agents.models.ToolboxSkill; import com.azure.ai.agents.models.ToolboxVersionDetails; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; @@ -67,6 +68,11 @@ public final class ToolboxesAsyncClient { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -94,6 +100,11 @@ public final class ToolboxesAsyncClient { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -236,6 +247,11 @@ public PagedFlux listToolboxes(RequestOptions requestOptions) { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -279,6 +295,11 @@ public PagedFlux listToolboxVersions(String name, RequestOptions req * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -381,38 +402,6 @@ public Mono> deleteToolboxVersionWithResponse(String name, String return this.serviceClient.deleteToolboxVersionWithResponseAsync(name, version, requestOptions); } - /** - * Create a new version of a toolbox. If the toolbox does not exist, it will be created. - * - * @param name The name of the toolbox. If the toolbox does not exist, it will be created. - * @param tools The list of tools to include in this version. - * @param description A human-readable description of the toolbox. - * @param metadata Arbitrary key-value metadata to associate with the toolbox. - * @param policies Policy configuration for this toolbox version. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 specific version of a toolbox on successful completion of {@link Mono}. - */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createToolboxVersion(String name, List tools, String description, - Map metadata, ToolboxPolicies policies) { - // Generated convenience method for createToolboxVersionWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateToolboxVersionRequest createToolboxVersionRequestObj - = new CreateToolboxVersionRequest(tools).setDescription(description) - .setMetadata(metadata) - .setPolicies(policies); - BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); - return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions) - .flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(ToolboxVersionDetails.class)); - } - /** * Create a new version of a toolbox. If the toolbox does not exist, it will be created. * @@ -718,4 +707,39 @@ public Mono deleteToolboxVersion(String name, String version) { RequestOptions requestOptions = new RequestOptions(); return deleteToolboxVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono); } + + /** + * Create a new version of a toolbox. If the toolbox does not exist, it will be created. + * + * @param name The name of the toolbox. If the toolbox does not exist, it will be created. + * @param tools The list of tools to include in this version. + * @param description A human-readable description of the toolbox. + * @param metadata Arbitrary key-value metadata to associate with the toolbox. + * @param skills The list of skill sources to include in this version. A skill reference specifies a skill name and + * optionally a version. If version is omitted, the skill's default version is used. + * @param policies Policy configuration for this toolbox version. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 specific version of a toolbox on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono createToolboxVersion(String name, List tools, String description, + Map metadata, List skills, ToolboxPolicies policies) { + // Generated convenience method for createToolboxVersionWithResponse + RequestOptions requestOptions = new RequestOptions(); + CreateToolboxVersionRequest createToolboxVersionRequestObj + = new CreateToolboxVersionRequest(tools).setDescription(description) + .setMetadata(metadata) + .setSkills(skills) + .setPolicies(policies); + BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); + return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions) + .flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ToolboxVersionDetails.class)); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index f07483a6da32..33045706bd65 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -10,6 +10,7 @@ import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; import com.azure.ai.agents.models.ToolboxPolicies; +import com.azure.ai.agents.models.ToolboxSkill; import com.azure.ai.agents.models.ToolboxVersionDetails; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; @@ -61,6 +62,11 @@ public final class ToolboxesClient { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -88,6 +94,11 @@ public final class ToolboxesClient { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -228,6 +239,11 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -271,6 +287,11 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -371,37 +392,6 @@ public Response deleteToolboxVersionWithResponse(String name, String versi return this.serviceClient.deleteToolboxVersionWithResponse(name, version, requestOptions); } - /** - * Create a new version of a toolbox. If the toolbox does not exist, it will be created. - * - * @param name The name of the toolbox. If the toolbox does not exist, it will be created. - * @param tools The list of tools to include in this version. - * @param description A human-readable description of the toolbox. - * @param metadata Arbitrary key-value metadata to associate with the toolbox. - * @param policies Policy configuration for this toolbox version. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 specific version of a toolbox. - */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public ToolboxVersionDetails createToolboxVersion(String name, List tools, String description, - Map metadata, ToolboxPolicies policies) { - // Generated convenience method for createToolboxVersionWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateToolboxVersionRequest createToolboxVersionRequestObj - = new CreateToolboxVersionRequest(tools).setDescription(description) - .setMetadata(metadata) - .setPolicies(policies); - BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); - return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions).getValue() - .toObject(ToolboxVersionDetails.class); - } - /** * Create a new version of a toolbox. If the toolbox does not exist, it will be created. * @@ -657,4 +647,38 @@ public void deleteToolboxVersion(String name, String version) { RequestOptions requestOptions = new RequestOptions(); deleteToolboxVersionWithResponse(name, version, requestOptions).getValue(); } + + /** + * Create a new version of a toolbox. If the toolbox does not exist, it will be created. + * + * @param name The name of the toolbox. If the toolbox does not exist, it will be created. + * @param tools The list of tools to include in this version. + * @param description A human-readable description of the toolbox. + * @param metadata Arbitrary key-value metadata to associate with the toolbox. + * @param skills The list of skill sources to include in this version. A skill reference specifies a skill name and + * optionally a version. If version is omitted, the skill's default version is used. + * @param policies Policy configuration for this toolbox version. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 specific version of a toolbox. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public ToolboxVersionDetails createToolboxVersion(String name, List tools, String description, + Map metadata, List skills, ToolboxPolicies policies) { + // Generated convenience method for createToolboxVersionWithResponse + RequestOptions requestOptions = new RequestOptions(); + CreateToolboxVersionRequest createToolboxVersionRequestObj + = new CreateToolboxVersionRequest(tools).setDescription(description) + .setMetadata(metadata) + .setSkills(skills) + .setPolicies(policies); + BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); + return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions).getValue() + .toObject(ToolboxVersionDetails.class); + } } 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 ea904e393b65..7e0fb3f4c8a4 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 @@ -533,6 +533,26 @@ 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 }) @@ -583,7 +603,7 @@ Response getSessionLogStreamSync(@HostParam("endpoint") String endpo @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 job, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); @Post("/agent_optimization_jobs") @@ -594,11 +614,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 job, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); @Get("/agent_optimization_jobs/{jobId}") - @ExpectedResponses({ 200 }) + @ExpectedResponses({ 200, 202 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @@ -608,7 +628,7 @@ Mono> getOptimizationJob(@HostParam("endpoint") String endp @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); @Get("/agent_optimization_jobs/{jobId}") - @ExpectedResponses({ 200 }) + @ExpectedResponses({ 200, 202 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @@ -763,6 +783,52 @@ Response getOptimizationCandidateResultsSync(@HostParam("endpoint") @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> getCandidateFile(@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 getCandidateFileSync(@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> promoteCandidate(@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 body, + 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 promoteCandidateSync(@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 body, + RequestOptions requestOptions, Context context); + @Get("/openai/v1/conversations") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @@ -831,7 +897,7 @@ Response listAgentConversationsSync(@HostParam("endpoint") String en * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -927,7 +993,7 @@ public Mono> getAgentWithResponseAsync(String agentName, Re * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1015,7 +1081,7 @@ public Response getAgentWithResponse(String agentName, RequestOption * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1091,7 +1157,7 @@ public Response getAgentWithResponse(String agentName, RequestOption * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1182,7 +1248,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1258,7 +1324,7 @@ public Mono> createAgentWithResponseAsync(BinaryData create * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1370,7 +1436,7 @@ public Response createAgentWithResponse(BinaryData createAgentReques * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1488,7 +1554,7 @@ public Mono> createAgentFromCodeWithResponseAsync(String ag * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1623,7 +1689,7 @@ public Response createAgentFromCodeWithResponse(String agentName, St * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1756,7 +1822,7 @@ public Mono> updateAgentWithResponseAsync(String agentName, * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1870,7 +1936,7 @@ public Response updateAgentWithResponse(String agentName, BinaryData * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -1989,7 +2055,7 @@ public Mono> updateAgentFromCodeWithResponseAsync(String ag * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2111,7 +2177,7 @@ public Response updateAgentFromCodeWithResponse(String agentName, St * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2228,7 +2294,7 @@ public Mono> createAgentFromManifestWithResponseAsync( * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2345,7 +2411,7 @@ public Response createAgentFromManifestWithResponse(BinaryData creat * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2463,7 +2529,7 @@ public Mono> updateAgentFromManifestWithResponseAsync(Strin * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2523,8 +2589,8 @@ public Response updateAgentFromManifestWithResponse(String agentName * 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. This value is not relevant for - * other Agent types. Defaults to false. + * versions have active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is + * not relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -2564,8 +2630,8 @@ public Mono> internalDeleteAgentWithResponseAsync(String ag * 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. This value is not relevant for - * other Agent types. Defaults to false. + * versions have active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is + * not relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -2666,7 +2732,7 @@ public Response internalDeleteAgentWithResponse(String agentName, Re * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2787,7 +2853,7 @@ private Mono> listAgentsSinglePageAsync(RequestOptions * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -2902,7 +2968,7 @@ public PagedFlux listAgentsAsync(RequestOptions requestOptions) { * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -3021,7 +3087,7 @@ private PagedResponse listAgentsSinglePage(RequestOptions requestOpt * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -3510,8 +3576,8 @@ public Response getAgentVersionDetailsWithResponse(String agentName, * Query Parameters * NameTypeRequiredDescription * forceBooleanNoFor Hosted Agents, if true, force-deletes the version even if it - * has active sessions, cascading deletion to all associated sessions. This value is not relevant for other Agent - * types. Defaults to false. + * has active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is not + * relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -3553,8 +3619,8 @@ public Mono> internalDeleteAgentVersionWithResponseAsync(St * Query Parameters * NameTypeRequiredDescription * forceBooleanNoFor Hosted Agents, if true, force-deletes the version even if it - * has active sessions, cascading deletion to all associated sessions. This value is not relevant for other Agent - * types. Defaults to false. + * has active sessions, cascading deletion to all associated sessions. Defaults to `false`. This value is not + * relevant for other Agent types. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Response Body Schema

@@ -3901,7 +3967,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -3977,7 +4043,7 @@ public PagedIterable listAgentVersions(String agentName, RequestOpti * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -4055,7 +4121,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -4131,7 +4197,7 @@ public Mono> updateAgentDetailsWithResponseAsync(String age * ] * } * protocols (Optional): [ - * String(activity/responses/a2a/mcp/invocations) (Optional) + * String(activity/responses/a2a/mcp/invocations/invocations_ws) (Optional) * ] * authorization_schemes (Optional): [ * (Optional){ @@ -4436,6 +4502,8 @@ public Response downloadAgentCodeWithResponse(String agentName, Requ * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4460,7 +4528,7 @@ public Response downloadAgentCodeWithResponse(String agentName, Requ * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4500,6 +4568,8 @@ public Mono> createSessionWithResponseAsync(String agentNam * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4524,7 +4594,7 @@ public Mono> createSessionWithResponseAsync(String agentNam * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4562,6 +4632,8 @@ public Response createSessionWithResponse(String agentName, BinaryDa * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4573,7 +4645,7 @@ public Response createSessionWithResponse(String agentName, BinaryDa * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4609,6 +4681,8 @@ public Mono> getSessionWithResponseAsync(String agentName, * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4620,7 +4694,7 @@ public Mono> getSessionWithResponseAsync(String agentName, * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4657,6 +4731,8 @@ public Response getSessionWithResponse(String agentName, String sess * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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} * @@ -4687,6 +4763,8 @@ public Mono> deleteSessionWithResponseAsync(String agentName, Str * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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} * @@ -4705,6 +4783,65 @@ public Response deleteSessionWithResponse(String agentName, String session this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); } + /** + * Stops a session. + * Returns 204 No Content when the stop succeeds. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", + * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", + * "ExternalAgents=V1Preview".
+ * 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> stopSessionWithResponseAsync(String agentName, String sessionId, + RequestOptions requestOptions) { + return FluxUtil.withContext(context -> service.stopSession(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, context)); + } + + /** + * Stops a session. + * Returns 204 No Content when the stop succeeds. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", + * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", + * "ExternalAgents=V1Preview".
+ * 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 stopSessionWithResponse(String agentName, String sessionId, RequestOptions requestOptions) { + return service.stopSessionSync(this.client.getEndpoint(), agentName, sessionId, + this.client.getServiceVersion().getVersion(), requestOptions, Context.NONE); + } + /** * Returns a list of sessions for the specified agent. *

Query Parameters

@@ -4735,6 +4872,8 @@ public Response deleteSessionWithResponse(String agentName, String session * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4746,7 +4885,7 @@ public Response deleteSessionWithResponse(String agentName, String session * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4804,6 +4943,8 @@ private Mono> listSessionsSinglePageAsync(String agent * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4815,7 +4956,7 @@ private Mono> listSessionsSinglePageAsync(String agent * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4866,6 +5007,8 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4877,7 +5020,7 @@ public PagedFlux listSessionsAsync(String agentName, RequestOptions * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -4932,6 +5075,8 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque * operations or modifying persisted preview resources. Allowed values: "HostedAgents=V1Preview", * "WorkflowAgents=V1Preview", "AgentEndpoints=V1Preview", "CodeAgents=V1Preview", * "ExternalAgents=V1Preview". + * 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

@@ -4943,7 +5088,7 @@ private PagedResponse listSessionsSinglePage(String agentName, Reque * version_indicator (Required): { * type: String(version_ref) (Required) * } - * status: String(creating/active/idle/updating/failed/deleting/deleted/expired) (Required) + * status: String(creating/active/idle/updating/failed/stopping/deleting/deleted/expired) (Required) * created_at: long (Required) * last_accessed_at: long (Required) * expires_at: long (Required) @@ -5126,141 +5271,37 @@ public Response getSessionLogStreamWithResponse(String agentName, St *
      * {@code
      * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
-     *                     }
-     *                 ]
-     *                 eval_results (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                     }
-     *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
-     *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
+     *     agent (Required): {
+     *         agentName: String (Required)
+     *         agentVersion: String (Optional)
      *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
-     *             mutations (Required): {
-     *                 String: BinaryData (Required)
-     *             }
-     *             rationale: String (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: int (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)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *     trainDatasetReference (Required): {
+     *         name: String (Required)
+     *         version: String (Optional)
+     *     }
+     *     validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *     evaluators (Optional): [
+     *         String (Optional)
+     *     ]
+     *     options (Optional): {
+     *         maxIterations: Integer (Optional)
+     *         optimizationConfig (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
-     *         warnings (Optional): [
-     *             String (Optional)
-     *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         evalModel: String (Optional)
+     *         optimizationModel: String (Optional)
+     *         evaluationLevel: 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)
@@ -5277,207 +5318,127 @@ public Response getSessionLogStreamWithResponse(String agentName, St
      *             String: BinaryData (Required)
      *         }
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
-     *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
-     *     }
-     * }
-     * }
-     * 
- * - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
+     *     result (Optional): {
+     *         baseline (Optional): {
+     *             candidateId: String (Optional)
+     *             name: String (Required)
+     *             config (Required): {
+     *                 agentName: String (Optional)
+     *                 agentVersion: String (Optional)
+     *                 model: String (Optional)
+     *                 systemPrompt: String (Optional)
+     *                 skills (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 eval_results (Optional): [
+     *                 tools (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
      *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
-     *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
      *             mutations (Required): {
      *                 String: BinaryData (Required)
      *             }
-     *             rationale: String (Required)
-     *             avg_score: double (Required)
-     *             avg_tokens: double (Required)
-     *             pass_rate: double (Required)
-     *             task_scores (Required): [
+     *             avgScore: double (Required)
+     *             avgTokens: double (Required)
+     *             passRate: double (Required)
+     *             taskScores (Required): [
      *                  (Required){
-     *                     task_name: String (Required)
+     *                     taskName: String (Required)
      *                     query: String (Optional)
      *                     scores (Required): {
      *                         String: double (Required)
      *                     }
-     *                     composite_score: double (Required)
+     *                     compositeScore: double (Required)
      *                     tokens: int (Required)
-     *                     duration_seconds: double (Required)
+     *                     durationSeconds: double (Required)
      *                     passed: boolean (Required)
-     *                     error_message: String (Optional)
+     *                     errorMessage: String (Optional)
      *                     rationales (Optional): {
      *                         String: String (Required)
      *                     }
      *                     response: String (Optional)
-     *                     run_id: String (Optional)
+     *                     runId: String (Optional)
      *                 }
      *             ]
-     *             is_pareto_optimal: boolean (Required)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *             isParetoOptimal: boolean (Required)
+     *             evalId: String (Optional)
+     *             evalRunId: String (Optional)
+     *             promotion (Optional): {
+     *                 promotedAt: long (Required)
+     *                 agentName: String (Required)
+     *                 agentVersion: String (Required)
+     *             }
      *         }
      *         best (Optional): (recursive schema, see best above)
      *         candidates (Optional): [
      *             (recursive schema, see above)
      *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
+     *         options (Optional): {
+     *             maxIterations: Integer (Optional)
+     *             optimizationConfig (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             evalModel: String (Optional)
+     *             optimizationModel: String (Optional)
+     *             evaluationLevel: String(turn/conversation) (Optional)
+     *         }
      *         warnings (Optional): [
      *             String (Optional)
      *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         allTargetAttributesFailed: Boolean (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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agentName: String (Required)
+     *             agentVersion: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         trainDatasetReference (Required): {
+     *             name: String (Required)
+     *             version: String (Optional)
      *         }
+     *         validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *         evaluators (Optional): [
+     *             String (Optional)
+     *         ]
+     *         options (Optional): (recursive schema, see options above)
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
+     *     createdAt: long (Required)
+     *     updatedAt: Long (Optional)
      *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
+     *         currentIteration: int (Required)
+     *         bestScore: double (Required)
+     *         elapsedSeconds: double (Required)
+     *     }
+     *     dataset (Optional): {
+     *         name: String (Optional)
+     *         version: String (Optional)
+     *         taskCount: int (Required)
+     *         isInline: boolean (Required)
      *     }
      * }
      * }
      * 
* - * @param job The job to create. + * @param body 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) 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} on successful + * completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createOptimizationJobWithResponseAsync(BinaryData job, + public Mono> createOptimizationJobWithResponseAsync(BinaryData body, 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, job, requestOptions, context)); + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); } /** @@ -5502,141 +5463,37 @@ public Mono> createOptimizationJobWithResponseAsync(BinaryD *
      * {@code
      * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
-     *                     }
-     *                 ]
-     *                 eval_results (Optional): [
-     *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                     }
-     *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
-     *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
+     *     agent (Required): {
+     *         agentName: String (Required)
+     *         agentVersion: String (Optional)
      *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
-     *             mutations (Required): {
-     *                 String: BinaryData (Required)
-     *             }
-     *             rationale: String (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: int (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)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *     trainDatasetReference (Required): {
+     *         name: String (Required)
+     *         version: String (Optional)
+     *     }
+     *     validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *     evaluators (Optional): [
+     *         String (Optional)
+     *     ]
+     *     options (Optional): {
+     *         maxIterations: Integer (Optional)
+     *         optimizationConfig (Optional): {
+     *             String: BinaryData (Required)
      *         }
-     *         best (Optional): (recursive schema, see best above)
-     *         candidates (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
-     *         warnings (Optional): [
-     *             String (Optional)
-     *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         evalModel: String (Optional)
+     *         optimizationModel: String (Optional)
+     *         evaluationLevel: 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)
@@ -5653,211 +5510,131 @@ public Mono> createOptimizationJobWithResponseAsync(BinaryD
      *             String: BinaryData (Required)
      *         }
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
-     *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
-     *     }
-     * }
-     * }
-     * 
- * - *

Response Body Schema

- * - *
-     * {@code
-     * {
-     *     id: String (Required)
-     *     inputs (Optional): {
-     *         agent (Required): {
-     *             agent_name: String (Required)
-     *             agent_version: String (Optional)
-     *             model: String (Optional)
-     *             system_prompt: String (Optional)
-     *             skills (Optional): [
-     *                  (Optional){
-     *                     name: String (Required)
-     *                     description: String (Optional)
-     *                 }
-     *             ]
-     *         }
-     *         dataset (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 query: String (Required)
-     *                 ground_truth: String (Optional)
-     *                 criteria (Optional): [
+     *     result (Optional): {
+     *         baseline (Optional): {
+     *             candidateId: String (Optional)
+     *             name: String (Required)
+     *             config (Required): {
+     *                 agentName: String (Optional)
+     *                 agentVersion: String (Optional)
+     *                 model: String (Optional)
+     *                 systemPrompt: String (Optional)
+     *                 skills (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         instruction: String (Required)
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 eval_results (Optional): [
+     *                 tools (Optional): [
      *                      (Optional){
-     *                         name: String (Required)
-     *                         type: String (Optional)
-     *                         score: double (Required)
-     *                         passed: boolean (Required)
-     *                         sample (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
-     *                         status: String(completed/errored/skipped) (Optional)
-     *                         metric: String (Optional)
-     *                         label: String (Optional)
-     *                         threshold: Double (Optional)
-     *                         reason: String (Optional)
-     *                         properties (Optional): {
-     *                             String: String (Required)
-     *                         }
-     *                          (Optional): {
-     *                             String: BinaryData (Required)
-     *                         }
+     *                         String: BinaryData (Required)
      *                     }
      *                 ]
-     *                 response_items (Optional): [
-     *                     BinaryData (Optional)
-     *                 ]
      *             }
-     *         ]
-     *         train_dataset_reference (Optional): {
-     *             name: String (Required)
-     *             version: String (Optional)
-     *         }
-     *         validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above)
-     *         evaluators (Optional): [
-     *             String (Optional)
-     *         ]
-     *         criteria (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         options (Optional): {
-     *             strategies (Optional): [
-     *                 String(instruction/model/skill) (Optional)
-     *             ]
-     *             budget: Integer (Optional)
-     *             max_iterations: Integer (Optional)
-     *             tasks_per_iteration: Integer (Optional)
-     *             max_reflection_tasks: Integer (Optional)
-     *             min_improvement: Double (Optional)
-     *             pass_threshold: Double (Optional)
-     *             improvement_threshold: Double (Optional)
-     *             mode: String(optimize) (Optional)
-     *             eval_model: String (Optional)
-     *             reflection_model: String (Optional)
-     *             task_timeout_seconds: Long (Optional)
-     *             keep_versions: Boolean (Optional)
-     *         }
-     *     }
-     *     result (Optional): {
-     *         baseline (Optional): {
-     *             candidate_id: String (Optional)
-     *             name: String (Required)
-     *             config (Required): (recursive schema, see config above)
      *             mutations (Required): {
      *                 String: BinaryData (Required)
      *             }
-     *             rationale: String (Required)
-     *             avg_score: double (Required)
-     *             avg_tokens: double (Required)
-     *             pass_rate: double (Required)
-     *             task_scores (Required): [
+     *             avgScore: double (Required)
+     *             avgTokens: double (Required)
+     *             passRate: double (Required)
+     *             taskScores (Required): [
      *                  (Required){
-     *                     task_name: String (Required)
+     *                     taskName: String (Required)
      *                     query: String (Optional)
      *                     scores (Required): {
      *                         String: double (Required)
      *                     }
-     *                     composite_score: double (Required)
+     *                     compositeScore: double (Required)
      *                     tokens: int (Required)
-     *                     duration_seconds: double (Required)
+     *                     durationSeconds: double (Required)
      *                     passed: boolean (Required)
-     *                     error_message: String (Optional)
+     *                     errorMessage: String (Optional)
      *                     rationales (Optional): {
      *                         String: String (Required)
      *                     }
      *                     response: String (Optional)
-     *                     run_id: String (Optional)
+     *                     runId: String (Optional)
      *                 }
      *             ]
-     *             is_pareto_optimal: boolean (Required)
-     *             sample_avg_score: Double (Optional)
-     *             sample_size: Integer (Optional)
-     *             evaluation_type: String (Optional)
-     *             strategy: String(instruction/model/skill) (Optional)
-     *             eval_id: String (Optional)
-     *             eval_run_id: String (Optional)
+     *             isParetoOptimal: boolean (Required)
+     *             evalId: String (Optional)
+     *             evalRunId: String (Optional)
+     *             promotion (Optional): {
+     *                 promotedAt: long (Required)
+     *                 agentName: String (Required)
+     *                 agentVersion: String (Required)
+     *             }
      *         }
      *         best (Optional): (recursive schema, see best above)
      *         candidates (Optional): [
      *             (recursive schema, see above)
      *         ]
-     *         pareto_frontier (Optional): [
-     *             (recursive schema, see above)
-     *         ]
-     *         validation_score (Optional): (recursive schema, see validation_score above)
-     *         options (Optional): (recursive schema, see options above)
-     *         sample_size: Integer (Optional)
+     *         options (Optional): {
+     *             maxIterations: Integer (Optional)
+     *             optimizationConfig (Optional): {
+     *                 String: BinaryData (Required)
+     *             }
+     *             evalModel: String (Optional)
+     *             optimizationModel: String (Optional)
+     *             evaluationLevel: String(turn/conversation) (Optional)
+     *         }
      *         warnings (Optional): [
      *             String (Optional)
      *         ]
-     *         all_strategies_failed: Boolean (Optional)
+     *         allTargetAttributesFailed: Boolean (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)
+     *     inputs (Optional): {
+     *         agent (Required): {
+     *             agentName: String (Required)
+     *             agentVersion: String (Optional)
      *         }
-     *         debugInfo (Optional): {
-     *             String: BinaryData (Required)
+     *         trainDatasetReference (Required): {
+     *             name: String (Required)
+     *             version: String (Optional)
      *         }
+     *         validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above)
+     *         evaluators (Optional): [
+     *             String (Optional)
+     *         ]
+     *         options (Optional): (recursive schema, see options above)
      *     }
-     *     created_at: long (Required)
-     *     updated_at: Long (Optional)
+     *     createdAt: long (Required)
+     *     updatedAt: Long (Optional)
      *     progress (Optional): {
-     *         current_strategy: String(instruction/model/skill) (Required)
-     *         current_iteration: int (Required)
-     *         tasks_completed: int (Required)
-     *         tasks_total: int (Required)
-     *         best_score: double (Required)
-     *         elapsed_seconds: double (Required)
+     *         currentIteration: int (Required)
+     *         bestScore: double (Required)
+     *         elapsedSeconds: double (Required)
+     *     }
+     *     dataset (Optional): {
+     *         name: String (Optional)
+     *         version: String (Optional)
+     *         taskCount: int (Required)
+     *         isInline: boolean (Required)
      *     }
      * }
      * }
      * 
* - * @param job The job to create. + * @param body 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) to maximize evaluation scores along with {@link Response}. + * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createOptimizationJobWithResponse(BinaryData job, RequestOptions requestOptions) { + public Response createOptimizationJobWithResponse(BinaryData body, RequestOptions requestOptions) { final String contentType = "application/json"; final String accept = "application/json"; return service.createOptimizationJobSync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), contentType, accept, job, requestOptions, Context.NONE); + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); } /** * Get info about an agent optimization job. * - * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal. + * Get an optimization job by id. Returns 202 while in progress, 200 when terminal. *

Header Parameters

* * @@ -5875,165 +5652,121 @@ public Response createOptimizationJobWithResponse(BinaryData job, Re * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -6059,7 +5792,7 @@ public Mono> getOptimizationJobWithResponseAsync(String job /** * Get info about an agent optimization job. * - * Get an optimization job by id. Emits `Retry-After` while the job is non-terminal. + * Get an optimization job by id. Returns 202 while in progress, 200 when terminal. *

Header Parameters

*
Header Parameters
* @@ -6077,165 +5810,121 @@ public Mono> getOptimizationJobWithResponseAsync(String job * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -6261,7 +5950,7 @@ public Response getOptimizationJobWithResponse(String jobId, Request /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

*
Header Parameters
* @@ -6282,7 +5971,7 @@ public Response getOptimizationJobWithResponse(String jobId, Request * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -6302,165 +5991,121 @@ public Response getOptimizationJobWithResponse(String jobId, Request * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -6487,7 +6132,7 @@ private Mono> listOptimizationJobsSinglePageAsync(Requ /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

* * @@ -6508,7 +6153,7 @@ private Mono> listOptimizationJobsSinglePageAsync(Requ * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -6528,165 +6173,121 @@ private Mono> listOptimizationJobsSinglePageAsync(Requ * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -6707,7 +6308,7 @@ public PagedFlux listOptimizationJobsAsync(RequestOptions requestOpt /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

* * @@ -6728,7 +6329,7 @@ public PagedFlux listOptimizationJobsAsync(RequestOptions requestOpt * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -6748,165 +6349,121 @@ public PagedFlux listOptimizationJobsAsync(RequestOptions requestOpt * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -6931,7 +6488,7 @@ private PagedResponse listOptimizationJobsSinglePage(RequestOptions /** * Returns a list of agent optimization jobs. * - * List optimization jobs. Supports cursor pagination and optional `status` / `agent_name` filters. + * List optimization jobs. Supports cursor pagination and optional status / agentName filters. *

Query Parameters

* * @@ -6952,7 +6509,7 @@ private PagedResponse listOptimizationJobsSinglePage(RequestOptions * 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.
agentNameStringNoFilter to jobs targeting this agent name.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -6972,165 +6529,121 @@ private PagedResponse listOptimizationJobsSinglePage(RequestOptions * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -7169,165 +6682,121 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -7340,8 +6809,8 @@ public PagedIterable listOptimizationJobs(RequestOptions requestOpti * @throws ResourceNotFoundException thrown if the 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) 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} on successful + * completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> cancelOptimizationJobWithResponseAsync(String jobId, @@ -7372,165 +6841,121 @@ public Mono> cancelOptimizationJobWithResponseAsync(String * {@code * { * id: String (Required) - * inputs (Optional): { - * agent (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) - * model: String (Optional) - * system_prompt: String (Optional) - * skills (Optional): [ - * (Optional){ - * name: String (Required) - * description: 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) * } - * dataset (Optional): [ - * (Optional){ - * name: String (Required) - * query: String (Required) - * ground_truth: String (Optional) - * criteria (Optional): [ + * debugInfo (Optional): { + * String: BinaryData (Required) + * } + * } + * result (Optional): { + * baseline (Optional): { + * candidateId: String (Optional) + * name: String (Required) + * config (Required): { + * agentName: String (Optional) + * agentVersion: String (Optional) + * model: String (Optional) + * systemPrompt: String (Optional) + * skills (Optional): [ * (Optional){ - * name: String (Required) - * instruction: String (Required) + * String: BinaryData (Required) * } * ] - * eval_results (Optional): [ + * tools (Optional): [ * (Optional){ - * name: String (Required) - * type: String (Optional) - * score: double (Required) - * passed: boolean (Required) - * sample (Optional): { - * String: BinaryData (Required) - * } - * status: String(completed/errored/skipped) (Optional) - * metric: String (Optional) - * label: String (Optional) - * threshold: Double (Optional) - * reason: String (Optional) - * properties (Optional): { - * String: String (Required) - * } - * (Optional): { - * String: BinaryData (Required) - * } + * String: BinaryData (Required) * } * ] - * response_items (Optional): [ - * BinaryData (Optional) - * ] * } - * ] - * train_dataset_reference (Optional): { - * name: String (Required) - * version: String (Optional) - * } - * validation_dataset_reference (Optional): (recursive schema, see validation_dataset_reference above) - * evaluators (Optional): [ - * String (Optional) - * ] - * criteria (Optional): [ - * (recursive schema, see above) - * ] - * options (Optional): { - * strategies (Optional): [ - * String(instruction/model/skill) (Optional) - * ] - * budget: Integer (Optional) - * max_iterations: Integer (Optional) - * tasks_per_iteration: Integer (Optional) - * max_reflection_tasks: Integer (Optional) - * min_improvement: Double (Optional) - * pass_threshold: Double (Optional) - * improvement_threshold: Double (Optional) - * mode: String(optimize) (Optional) - * eval_model: String (Optional) - * reflection_model: String (Optional) - * task_timeout_seconds: Long (Optional) - * keep_versions: Boolean (Optional) - * } - * } - * result (Optional): { - * baseline (Optional): { - * candidate_id: String (Optional) - * name: String (Required) - * config (Required): (recursive schema, see config above) * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * best (Optional): (recursive schema, see best above) * candidates (Optional): [ * (recursive schema, see above) * ] - * pareto_frontier (Optional): [ - * (recursive schema, see above) - * ] - * validation_score (Optional): (recursive schema, see validation_score above) - * options (Optional): (recursive schema, see options above) - * sample_size: Integer (Optional) + * options (Optional): { + * maxIterations: Integer (Optional) + * optimizationConfig (Optional): { + * String: BinaryData (Required) + * } + * evalModel: String (Optional) + * optimizationModel: String (Optional) + * evaluationLevel: String(turn/conversation) (Optional) + * } * warnings (Optional): [ * String (Optional) * ] - * all_strategies_failed: Boolean (Optional) + * allTargetAttributesFailed: Boolean (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) + * inputs (Optional): { + * agent (Required): { + * agentName: String (Required) + * agentVersion: String (Optional) * } - * debugInfo (Optional): { - * String: BinaryData (Required) + * trainDatasetReference (Required): { + * name: String (Required) + * version: String (Optional) * } + * validationDatasetReference (Optional): (recursive schema, see validationDatasetReference above) + * evaluators (Optional): [ + * String (Optional) + * ] + * options (Optional): (recursive schema, see options above) * } - * created_at: long (Required) - * updated_at: Long (Optional) + * createdAt: long (Required) + * updatedAt: Long (Optional) * progress (Optional): { - * current_strategy: String(instruction/model/skill) (Required) - * current_iteration: int (Required) - * tasks_completed: int (Required) - * tasks_total: int (Required) - * best_score: double (Required) - * elapsed_seconds: double (Required) + * currentIteration: int (Required) + * bestScore: double (Required) + * elapsedSeconds: double (Required) + * } + * dataset (Optional): { + * name: String (Optional) + * version: String (Optional) + * taskCount: int (Required) + * isInline: boolean (Required) * } * } * } @@ -7543,7 +6968,7 @@ public Mono> cancelOptimizationJobWithResponseAsync(String * @throws ResourceNotFoundException thrown if the 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) to maximize evaluation scores along with {@link Response}. + * (instructions, model, skills, tools) to maximize evaluation scores along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response cancelOptimizationJobWithResponse(String jobId, RequestOptions requestOptions) { @@ -7556,6 +6981,14 @@ public Response cancelOptimizationJobWithResponse(String jobId, Requ * Deletes an agent optimization job. * * Delete the job and its candidate artifacts. Cancels first if non-terminal. + *

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

Header Parameters

* * @@ -7586,6 +7019,14 @@ public Mono> deleteOptimizationJobWithResponseAsync(String jobId, * Deletes an agent optimization job. * * Delete the job and its candidate artifacts. Cancels first if non-terminal. + *

Query Parameters

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

Header Parameters

* * @@ -7654,53 +7095,57 @@ public Response deleteOptimizationJobWithResponse(String jobId, RequestOpt * { * data (Required): [ * (Required){ - * candidate_id: String (Optional) + * candidateId: String (Optional) * name: String (Required) * config (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) + * agentName: String (Optional) + * agentVersion: String (Optional) * model: String (Optional) - * system_prompt: String (Optional) + * systemPrompt: String (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * ] * first_id: String (Optional) @@ -7769,53 +7214,57 @@ public Mono> listOptimizationCandidatesWithResponseAsync(St * { * data (Required): [ * (Required){ - * candidate_id: String (Optional) + * candidateId: String (Optional) * name: String (Required) * config (Required): { - * agent_name: String (Required) - * agent_version: String (Optional) + * agentName: String (Optional) + * agentVersion: String (Optional) * model: String (Optional) - * system_prompt: String (Optional) + * systemPrompt: String (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } * mutations (Required): { * String: BinaryData (Required) * } - * rationale: String (Required) - * avg_score: double (Required) - * avg_tokens: double (Required) - * pass_rate: double (Required) - * task_scores (Required): [ + * avgScore: double (Required) + * avgTokens: double (Required) + * passRate: double (Required) + * taskScores (Required): [ * (Required){ - * task_name: String (Required) + * taskName: String (Required) * query: String (Optional) * scores (Required): { * String: double (Required) * } - * composite_score: double (Required) + * compositeScore: double (Required) * tokens: int (Required) - * duration_seconds: double (Required) + * durationSeconds: double (Required) * passed: boolean (Required) - * error_message: String (Optional) + * errorMessage: String (Optional) * rationales (Optional): { * String: String (Required) * } * response: String (Optional) - * run_id: String (Optional) + * runId: String (Optional) * } * ] - * is_pareto_optimal: boolean (Required) - * sample_avg_score: Double (Optional) - * sample_size: Integer (Optional) - * evaluation_type: String (Optional) - * strategy: String(instruction/model/skill) (Optional) - * eval_id: String (Optional) - * eval_run_id: String (Optional) + * isParetoOptimal: boolean (Required) + * evalId: String (Optional) + * evalRunId: String (Optional) + * promotion (Optional): { + * promotedAt: long (Required) + * agentName: String (Required) + * agentVersion: String (Required) + * } * } * ] * first_id: String (Optional) @@ -7843,7 +7292,7 @@ public Response listOptimizationCandidatesWithResponse(String jobId, /** * Get a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary. + * Get a single candidate's metadata, manifest, and promotion info. *

Header Parameters

*
Header Parameters
* @@ -7860,53 +7309,26 @@ public Response listOptimizationCandidatesWithResponse(String jobId, *
      * {@code
      * {
-     *     candidate_id: String (Optional)
-     *     name: String (Required)
-     *     config (Required): {
-     *         agent_name: String (Required)
-     *         agent_version: String (Optional)
-     *         model: String (Optional)
-     *         system_prompt: String (Optional)
-     *         skills (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 description: String (Optional)
-     *             }
-     *         ]
-     *     }
-     *     mutations (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     *     rationale: String (Required)
-     *     avg_score: double (Required)
-     *     avg_tokens: double (Required)
-     *     pass_rate: double (Required)
-     *     task_scores (Required): [
+     *     candidateId: String (Required)
+     *     jobId: String (Required)
+     *     candidateName: String (Required)
+     *     status: String (Required)
+     *     score: Double (Optional)
+     *     hasResults: boolean (Required)
+     *     createdAt: long (Required)
+     *     updatedAt: long (Required)
+     *     promotion (Optional): {
+     *         promotedAt: long (Required)
+     *         agentName: String (Required)
+     *         agentVersion: String (Required)
+     *     }
+     *     files (Required): [
      *          (Required){
-     *             task_name: String (Required)
-     *             query: String (Optional)
-     *             scores (Required): {
-     *                 String: double (Required)
-     *             }
-     *             composite_score: double (Required)
-     *             tokens: int (Required)
-     *             duration_seconds: double (Required)
-     *             passed: boolean (Required)
-     *             error_message: String (Optional)
-     *             rationales (Optional): {
-     *                 String: String (Required)
-     *             }
-     *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             path: String (Required)
+     *             type: String (Required)
+     *             sizeBytes: long (Required)
      *         }
      *     ]
-     *     is_pareto_optimal: boolean (Required)
-     *     sample_avg_score: Double (Optional)
-     *     sample_size: Integer (Optional)
-     *     evaluation_type: String (Optional)
-     *     strategy: String(instruction/model/skill) (Optional)
-     *     eval_id: String (Optional)
-     *     eval_run_id: String (Optional)
      * }
      * }
      * 
@@ -7920,7 +7342,7 @@ public Response listOptimizationCandidatesWithResponse(String jobId, * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @return a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary along with {@link Response} on successful + * Get a single candidate's metadata, manifest, and promotion info along with {@link Response} on successful * completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) @@ -7934,7 +7356,7 @@ public Mono> getOptimizationCandidateWithResponseAsync(Stri /** * Get a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary. + * Get a single candidate's metadata, manifest, and promotion info. *

Header Parameters

*
Header Parameters
* @@ -7951,53 +7373,26 @@ public Mono> getOptimizationCandidateWithResponseAsync(Stri *
      * {@code
      * {
-     *     candidate_id: String (Optional)
-     *     name: String (Required)
-     *     config (Required): {
-     *         agent_name: String (Required)
-     *         agent_version: String (Optional)
-     *         model: String (Optional)
-     *         system_prompt: String (Optional)
-     *         skills (Optional): [
-     *              (Optional){
-     *                 name: String (Required)
-     *                 description: String (Optional)
-     *             }
-     *         ]
-     *     }
-     *     mutations (Required): {
-     *         String: BinaryData (Required)
-     *     }
-     *     rationale: String (Required)
-     *     avg_score: double (Required)
-     *     avg_tokens: double (Required)
-     *     pass_rate: double (Required)
-     *     task_scores (Required): [
+     *     candidateId: String (Required)
+     *     jobId: String (Required)
+     *     candidateName: String (Required)
+     *     status: String (Required)
+     *     score: Double (Optional)
+     *     hasResults: boolean (Required)
+     *     createdAt: long (Required)
+     *     updatedAt: long (Required)
+     *     promotion (Optional): {
+     *         promotedAt: long (Required)
+     *         agentName: String (Required)
+     *         agentVersion: String (Required)
+     *     }
+     *     files (Required): [
      *          (Required){
-     *             task_name: String (Required)
-     *             query: String (Optional)
-     *             scores (Required): {
-     *                 String: double (Required)
-     *             }
-     *             composite_score: double (Required)
-     *             tokens: int (Required)
-     *             duration_seconds: double (Required)
-     *             passed: boolean (Required)
-     *             error_message: String (Optional)
-     *             rationales (Optional): {
-     *                 String: String (Required)
-     *             }
-     *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             path: String (Required)
+     *             type: String (Required)
+     *             sizeBytes: long (Required)
      *         }
      *     ]
-     *     is_pareto_optimal: boolean (Required)
-     *     sample_avg_score: Double (Optional)
-     *     sample_size: Integer (Optional)
-     *     evaluation_type: String (Optional)
-     *     strategy: String(instruction/model/skill) (Optional)
-     *     eval_id: String (Optional)
-     *     eval_run_id: String (Optional)
      * }
      * }
      * 
@@ -8011,7 +7406,7 @@ public Mono> getOptimizationCandidateWithResponseAsync(Stri * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @return a candidate by id. * - * Get a single candidate manifest and aggregated evaluation summary along with {@link Response}. + * Get a single candidate's metadata, manifest, and promotion info along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) public Response getOptimizationCandidateWithResponse(String jobId, String candidateId, @@ -8046,8 +7441,12 @@ public Response getOptimizationCandidateWithResponse(String jobId, S * temperature: Double (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } @@ -8098,8 +7497,12 @@ public Mono> getOptimizationCandidateConfigWithResponseAsyn * temperature: Double (Optional) * skills (Optional): [ * (Optional){ - * name: String (Required) - * description: String (Optional) + * String: BinaryData (Required) + * } + * ] + * tools (Optional): [ + * (Optional){ + * String: BinaryData (Required) * } * ] * } @@ -8145,24 +7548,24 @@ public Response getOptimizationCandidateConfigWithResponse(String jo *
      * {@code
      * {
-     *     candidate_id: String (Required)
+     *     candidateId: String (Required)
      *     results (Required): [
      *          (Required){
-     *             task_name: String (Required)
+     *             taskName: String (Required)
      *             query: String (Optional)
      *             scores (Required): {
      *                 String: double (Required)
      *             }
-     *             composite_score: double (Required)
+     *             compositeScore: double (Required)
      *             tokens: int (Required)
-     *             duration_seconds: double (Required)
+     *             durationSeconds: double (Required)
      *             passed: boolean (Required)
-     *             error_message: String (Optional)
+     *             errorMessage: String (Optional)
      *             rationales (Optional): {
      *                 String: String (Required)
      *             }
      *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             runId: String (Optional)
      *         }
      *     ]
      * }
@@ -8209,24 +7612,24 @@ public Mono> getOptimizationCandidateResultsWithResponseAsy
      * 
      * {@code
      * {
-     *     candidate_id: String (Required)
+     *     candidateId: String (Required)
      *     results (Required): [
      *          (Required){
-     *             task_name: String (Required)
+     *             taskName: String (Required)
      *             query: String (Optional)
      *             scores (Required): {
      *                 String: double (Required)
      *             }
-     *             composite_score: double (Required)
+     *             compositeScore: double (Required)
      *             tokens: int (Required)
-     *             duration_seconds: double (Required)
+     *             durationSeconds: double (Required)
      *             passed: boolean (Required)
-     *             error_message: String (Optional)
+     *             errorMessage: String (Optional)
      *             rationales (Optional): {
      *                 String: String (Required)
      *             }
      *             response: String (Optional)
-     *             run_id: String (Optional)
+     *             runId: String (Optional)
      *         }
      *     ]
      * }
@@ -8252,6 +7655,212 @@ public Response getOptimizationCandidateResultsWithResponse(String j
             this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE);
     }
 
+    /**
+     * Get a candidate file.
+     * 
+     * Stream a specific file from the candidate's blob directory.
+     * 

Header Parameters

+ *
Header Parameters
+ * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

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 a candidate file. + * + * Stream a specific file from the candidate's blob directory along with {@link Response} on successful completion + * of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getCandidateFileWithResponseAsync(String jobId, String candidateId, String path, + RequestOptions requestOptions) { + final String accept = "application/octet-stream"; + return FluxUtil.withContext(context -> service.getCandidateFile(this.client.getEndpoint(), jobId, candidateId, + path, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Get a candidate file. + * + * Stream a specific file from the candidate's blob directory. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

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 a candidate file. + * + * Stream a specific file from the candidate's blob directory along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getCandidateFileWithResponse(String jobId, String candidateId, String path, + RequestOptions requestOptions) { + final String accept = "application/octet-stream"; + return service.getCandidateFileSync(this.client.getEndpoint(), jobId, candidateId, path, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Promote a candidate. + * + * Promotes a candidate, recording the deployment timestamp and target agent version. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     candidateId: String (Required)
+     *     status: String (Required)
+     *     promotedAt: long (Required)
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + * @param jobId The optimization job id. + * @param candidateId The candidate id to promote. + * @param body 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> promoteCandidateWithResponseAsync(String jobId, String candidateId, + BinaryData body, RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.promoteCandidate(this.client.getEndpoint(), jobId, candidateId, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, context)); + } + + /** + * Promote a candidate. + * + * Promotes a candidate, recording the deployment timestamp and target agent version. + *

Header Parameters

+ * + * + * + * + *
Header Parameters
NameTypeRequiredDescription
Foundry-FeaturesStringNoA feature flag opt-in required when using preview + * operations or modifying persisted preview resources. Allowed values: "Evaluations=V1Preview", + * "Schedules=V1Preview", "RedTeams=V1Preview", "Insights=V1Preview", "MemoryStores=V1Preview", + * "Routines=V1Preview", "Skills=V1Preview", "DataGenerationJobs=V1Preview", "Models=V1Preview", + * "AgentsOptimization=V1Preview".
+ * You can add these to a request with {@link RequestOptions#addHeader} + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     candidateId: String (Required)
+     *     status: String (Required)
+     *     promotedAt: long (Required)
+     *     agentName: String (Required)
+     *     agentVersion: String (Required)
+     * }
+     * }
+     * 
+ * + * @param jobId The optimization job id. + * @param candidateId The candidate id to promote. + * @param body 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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response promoteCandidateWithResponse(String jobId, String candidateId, BinaryData body, + RequestOptions requestOptions) { + final String contentType = "application/json"; + final String accept = "application/json"; + return service.promoteCandidateSync(this.client.getEndpoint(), jobId, candidateId, + this.client.getServiceVersion().getVersion(), contentType, accept, body, requestOptions, Context.NONE); + } + /** * Returns the list of all conversations. *

Query Parameters

diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java index a7d3b12a0eca..ec6423108ef8 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/ToolboxesImpl.java @@ -263,6 +263,11 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -290,6 +295,11 @@ Response deleteToolboxVersionSync(@HostParam("endpoint") String endpoint, * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -334,6 +344,11 @@ public Mono> createToolboxVersionWithResponseAsync(String n * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -361,6 +376,11 @@ public Mono> createToolboxVersionWithResponseAsync(String n * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -682,6 +702,11 @@ public PagedIterable listToolboxes(RequestOptions requestOptions) { * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -751,6 +776,11 @@ private Mono> listToolboxVersionsSinglePageAsync(Strin * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -813,6 +843,11 @@ public PagedFlux listToolboxVersionsAsync(String name, RequestOption * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -879,6 +914,11 @@ private PagedResponse listToolboxVersionsSinglePage(String name, Req * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -921,6 +961,11 @@ public PagedIterable listToolboxVersions(String name, RequestOptions * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) @@ -967,6 +1012,11 @@ public Mono> getToolboxVersionWithResponseAsync(String name * type: String(function/file_search/computer_use_preview/web_search/mcp/code_interpreter/image_generation/local_shell/shell/custom/web_search_preview/apply_patch/a2a_preview/bing_custom_search_preview/browser_automation_preview/fabric_dataagent_preview/sharepoint_grounding_preview/memory_search_preview/work_iq_preview/fabric_iq_preview/toolbox_search_preview/azure_ai_search/azure_function/bing_grounding/capture_structured_outputs/openapi) (Required) * } * ] + * skills (Optional): [ + * (Optional){ + * type: String (Required) + * } + * ] * policies (Optional): { * rai_config (Optional): { * rai_policy_name: String (Required) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java index 6812089a3ccf..10f0bcab21f7 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/implementation/models/CreateToolboxVersionRequest.java @@ -5,6 +5,7 @@ import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxPolicies; +import com.azure.ai.agents.models.ToolboxSkill; import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; import com.azure.json.JsonReader; @@ -141,6 +142,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); jsonWriter.writeStringField("description", this.description); jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element)); jsonWriter.writeJsonField("policies", this.policies); return jsonWriter.writeEndObject(); } @@ -160,6 +162,7 @@ public static CreateToolboxVersionRequest fromJson(JsonReader jsonReader) throws List tools = null; String description = null; Map metadata = null; + List skills = null; ToolboxPolicies policies = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); @@ -170,6 +173,8 @@ public static CreateToolboxVersionRequest fromJson(JsonReader jsonReader) throws description = reader.getString(); } else if ("metadata".equals(fieldName)) { metadata = reader.readMap(reader1 -> reader1.getString()); + } else if ("skills".equals(fieldName)) { + skills = reader.readArray(reader1 -> ToolboxSkill.fromJson(reader1)); } else if ("policies".equals(fieldName)) { policies = ToolboxPolicies.fromJson(reader); } else { @@ -180,8 +185,40 @@ public static CreateToolboxVersionRequest fromJson(JsonReader jsonReader) throws = new CreateToolboxVersionRequest(tools); deserializedCreateToolboxVersionRequest.description = description; deserializedCreateToolboxVersionRequest.metadata = metadata; + deserializedCreateToolboxVersionRequest.skills = skills; deserializedCreateToolboxVersionRequest.policies = policies; return deserializedCreateToolboxVersionRequest; }); } + + /* + * The list of skill sources to include in this version. A skill reference specifies a skill name and optionally a + * version. If version is omitted, the skill's default version is used. + */ + @Generated + private List skills; + + /** + * Get the skills property: The list of skill sources to include in this version. A skill reference specifies a + * skill name and optionally a version. If version is omitted, the skill's default version is used. + * + * @return the skills value. + */ + @Generated + public List getSkills() { + return this.skills; + } + + /** + * Set the skills property: The list of skill sources to include in this version. A skill reference specifies a + * skill name and optionally a version. If version is omitted, the skill's default version is used. + * + * @param skills the skills value to set. + * @return the CreateToolboxVersionRequest object itself. + */ + @Generated + public CreateToolboxVersionRequest setSkills(List skills) { + this.skills = skills; + return this; + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java index 488f3adde419..2d3bd91d0e3a 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentEndpointProtocol.java @@ -72,4 +72,10 @@ public static Collection values() { */ @Generated public static final AgentEndpointProtocol MCP = fromString("mcp"); + + /** + * WebSocket-based protocol for hosted voice and real-time streaming agents. + */ + @Generated + public static final AgentEndpointProtocol INVOCATIONS_WS = fromString("invocations_ws"); } 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/AgentIdentifier.java new file mode 100644 index 000000000000..3632c212e68c --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentIdentifier.java @@ -0,0 +1,117 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.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; + +/** + * Identifies the registered Foundry agent to optimize (request-only). Skills, tools, and systemPrompt are specified in + * options.optimizationConfig. + */ +@Fluent +public final class AgentIdentifier implements JsonSerializable { + + /* + * Registered Foundry agent name (required). + */ + @Generated + private final String agentName; + + /* + * Pinned agent version. Defaults to latest if omitted. + */ + @Generated + private String agentVersion; + + /** + * Creates an instance of AgentIdentifier class. + * + * @param agentName the agentName value to set. + */ + @Generated + public AgentIdentifier(String agentName) { + this.agentName = agentName; + } + + /** + * Get the agentName property: Registered Foundry agent name (required). + * + * @return the agentName value. + */ + @Generated + public String getAgentName() { + return this.agentName; + } + + /** + * Get the agentVersion property: Pinned agent version. Defaults to latest if omitted. + * + * @return the agentVersion value. + */ + @Generated + public String getAgentVersion() { + return this.agentVersion; + } + + /** + * Set the agentVersion property: Pinned agent version. Defaults to latest if omitted. + * + * @param agentVersion the agentVersion value to set. + * @return the AgentIdentifier object itself. + */ + @Generated + public AgentIdentifier setAgentVersion(String agentVersion) { + this.agentVersion = agentVersion; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("agentName", this.agentName); + jsonWriter.writeStringField("agentVersion", this.agentVersion); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of AgentIdentifier 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. + * @throws IllegalStateException If the deserialized JSON object was missing any required properties. + * @throws IOException If an error occurs while reading the AgentIdentifier. + */ + @Generated + public static AgentIdentifier 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 ("agentName".equals(fieldName)) { + agentName = reader.getString(); + } else if ("agentVersion".equals(fieldName)) { + agentVersion = reader.getString(); + } else { + reader.skipChildren(); + } + } + AgentIdentifier deserializedAgentIdentifier = new AgentIdentifier(agentName); + deserializedAgentIdentifier.agentVersion = agentVersion; + return deserializedAgentIdentifier; + }); + } +} 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 index 0efa2c01ef63..69f4dbe23519 100644 --- 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 @@ -66,4 +66,10 @@ public static Collection values() { */ @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/AgentSessionStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/AgentSessionStatus.java index 8ed919459b6b..fa97f18e062d 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 @@ -90,4 +90,10 @@ public static AgentSessionStatus fromString(String name) { public static Collection values() { return values(AgentSessionStatus.class); } + + /** + * Session is being stopped. + */ + @Generated + public static final AgentSessionStatus STOPPING = fromString("stopping"); } 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 index 7c342ad87c4a..5a5c92f1f444 100644 --- 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 @@ -5,12 +5,14 @@ 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. @@ -40,7 +42,7 @@ public final class CandidateDeployConfig implements JsonSerializable skills; + private List> skills; /** * Creates an instance of CandidateDeployConfig class. @@ -85,7 +87,7 @@ public Double getTemperature() { * @return the skills value. */ @Generated - public List getSkills() { + public List> getSkills() { return this.skills; } @@ -99,7 +101,22 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStringField("instructions", this.instructions); jsonWriter.writeStringField("model", this.model); jsonWriter.writeNumberField("temperature", this.temperature); - jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element)); + 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(); } @@ -125,9 +142,14 @@ public static CandidateDeployConfig fromJson(JsonReader jsonReader) throws IOExc } else if ("temperature".equals(fieldName)) { deserializedCandidateDeployConfig.temperature = reader.getNullable(JsonReader::getDouble); } else if ("skills".equals(fieldName)) { - List skills - = reader.readArray(reader1 -> OptimizationAgentSkill.fromJson(reader1)); + 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(); } @@ -135,4 +157,20 @@ public static CandidateDeployConfig fromJson(JsonReader jsonReader) throws IOExc 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 new file mode 100644 index 000000000000..411f367a5411 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateFileInfo.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * File entry in a candidate's blob directory. + */ +@Immutable +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("sizeBytes", 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 ("sizeBytes".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 new file mode 100644 index 000000000000..f039bf9d95f4 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/CandidateMetadata.java @@ -0,0 +1,293 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; +import java.util.List; + +/** + * Candidate metadata returned by GET /candidates/{id}. + */ +@Immutable +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("candidateId", this.candidateId); + jsonWriter.writeStringField("jobId", this.jobId); + jsonWriter.writeStringField("candidateName", this.candidateName); + jsonWriter.writeStringField("status", this.status); + jsonWriter.writeBooleanField("hasResults", this.hasResults); + jsonWriter.writeLongField("createdAt", this.createdAt); + jsonWriter.writeLongField("updatedAt", 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 ("candidateId".equals(fieldName)) { + candidateId = reader.getString(); + } else if ("jobId".equals(fieldName)) { + jobId = reader.getString(); + } else if ("candidateName".equals(fieldName)) { + candidateName = reader.getString(); + } else if ("status".equals(fieldName)) { + status = reader.getString(); + } else if ("hasResults".equals(fieldName)) { + hasResults = reader.getBoolean(); + } else if ("createdAt".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("updatedAt".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 index bc52fc380664..49a6b72d4e2a 100644 --- 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 @@ -69,7 +69,7 @@ public List getResults() { @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeStringField("candidate_id", this.candidateId); + jsonWriter.writeStringField("candidateId", this.candidateId); jsonWriter.writeArrayField("results", this.results, (writer, element) -> writer.writeJson(element)); return jsonWriter.writeEndObject(); } @@ -91,7 +91,7 @@ public static CandidateResults fromJson(JsonReader jsonReader) throws IOExceptio while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("candidate_id".equals(fieldName)) { + if ("candidateId".equals(fieldName)) { candidateId = reader.getString(); } else if ("results".equals(fieldName)) { results = reader.readArray(reader1 -> OptimizationTaskResult.fromJson(reader1)); 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 new file mode 100644 index 000000000000..829186815ecd --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetInfo.java @@ -0,0 +1,147 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.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 +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("taskCount", this.taskCount); + jsonWriter.writeBooleanField("isInline", 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 ("taskCount".equals(fieldName)) { + taskCount = reader.getInt(); + } else if ("isInline".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/DatasetItem.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetItem.java deleted file mode 100644 index 23e47ba9e9a3..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/DatasetItem.java +++ /dev/null @@ -1,287 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.annotation.Generated; -import com.azure.core.util.BinaryData; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import com.openai.models.responses.ResponseOutputItem; -import java.io.IOException; -import java.util.List; -import java.util.stream.Collectors; - -/** - * A single evaluation task with input query, expected output, and evaluation criteria. - */ -@Fluent -public final class DatasetItem implements JsonSerializable { - - /* - * Unique-within-the-dataset identifier for this task. - */ - @Generated - private final String name; - - /* - * The user query / input for the task. - */ - @Generated - private final String query; - - /* - * Optional ground truth used by reference-based evaluators. - */ - @Generated - private String groundTruth; - - /* - * Per-task evaluation criteria. Defaults to the job-level evaluators if unset. - */ - @Generated - private List criteria; - - /* - * Pre-computed evaluation results in AOAI-compatible format. When provided together with `response_items`, the - * baseline run-and-evaluate phase is skipped. - */ - @Generated - private List evalResults; - - /* - * Pre-computed agent response output items. Captures the full trajectory (function calls, tool outputs, messages) - * from a prior agent run. - */ - @Generated - private List responseItems; - - /** - * Creates an instance of DatasetItem class. - * - * @param name the name value to set. - * @param query the query value to set. - */ - @Generated - public DatasetItem(String name, String query) { - this.name = name; - this.query = query; - } - - /** - * Get the name property: Unique-within-the-dataset identifier for this task. - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the query property: The user query / input for the task. - * - * @return the query value. - */ - @Generated - public String getQuery() { - return this.query; - } - - /** - * Get the groundTruth property: Optional ground truth used by reference-based evaluators. - * - * @return the groundTruth value. - */ - @Generated - public String getGroundTruth() { - return this.groundTruth; - } - - /** - * Set the groundTruth property: Optional ground truth used by reference-based evaluators. - * - * @param groundTruth the groundTruth value to set. - * @return the DatasetItem object itself. - */ - @Generated - public DatasetItem setGroundTruth(String groundTruth) { - this.groundTruth = groundTruth; - return this; - } - - /** - * Get the criteria property: Per-task evaluation criteria. Defaults to the job-level evaluators if unset. - * - * @return the criteria value. - */ - @Generated - public List getCriteria() { - return this.criteria; - } - - /** - * Set the criteria property: Per-task evaluation criteria. Defaults to the job-level evaluators if unset. - * - * @param criteria the criteria value to set. - * @return the DatasetItem object itself. - */ - @Generated - public DatasetItem setCriteria(List criteria) { - this.criteria = criteria; - return this; - } - - /** - * Get the evalResults property: Pre-computed evaluation results in AOAI-compatible format. When provided together - * with `response_items`, the baseline run-and-evaluate phase is skipped. - * - * @return the evalResults value. - */ - @Generated - public List getEvalResults() { - return this.evalResults; - } - - /** - * Set the evalResults property: Pre-computed evaluation results in AOAI-compatible format. When provided together - * with `response_items`, the baseline run-and-evaluate phase is skipped. - * - * @param evalResults the evalResults value to set. - * @return the DatasetItem object itself. - */ - @Generated - public DatasetItem setEvalResults(List evalResults) { - this.evalResults = evalResults; - return this; - } - - /** - * Get the responseItems property: Pre-computed agent response output items. Captures the full trajectory (function - * calls, tool outputs, messages) from a prior agent run. - * - * @return the responseItems value. - */ - List getResponseItems() { - // AI Tooling: union type - return this.responseItems; - } - - /** - * Set the responseItems property: Pre-computed agent response output items. Captures the full trajectory (function - * calls, tool outputs, messages) from a prior agent run. - * - * @param responseItems the responseItems value to set. - * @return the DatasetItem object itself. - */ - DatasetItem setResponseItems(List responseItems) { - // AI Tooling: union type - this.responseItems = responseItems; - return this; - } - - /** - * Get the responseItems property as a list of {@link ResponseOutputItem}: Pre-computed agent response output items. - * Captures the full trajectory (function calls, tool outputs, messages) from a prior agent run. - * - * @return the responseItems value as a list of ResponseOutputItem, or null if not set. - */ - public List getResponseItemsAsResponseOutputItems() { - // AI Tooling: union type - if (this.responseItems == null) { - return null; - } - return this.responseItems.stream() - .map(item -> item.toObject(ResponseOutputItem.class)) - .collect(Collectors.toList()); - } - - /** - * Set the responseItems property: Pre-computed agent response output items. Captures the full trajectory (function - * calls, tool outputs, messages) from a prior agent run. - * - * @param responseItems the list of ResponseOutputItem values to set. - * @return the DatasetItem object itself. - */ - public DatasetItem setResponseOutputItems(List responseItems) { - // AI Tooling: union type - if (responseItems == null) { - this.responseItems = null; - } else { - this.responseItems = responseItems.stream().map(BinaryData::fromObject).collect(Collectors.toList()); - } - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeStringField("query", this.query); - jsonWriter.writeStringField("ground_truth", this.groundTruth); - jsonWriter.writeArrayField("criteria", this.criteria, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeArrayField("eval_results", this.evalResults, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeArrayField("response_items", this.responseItems, (writer, element) -> { - if (element == null) { - writer.writeNull(); - } else { - element.writeTo(writer); - } - }); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of DatasetItem from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of DatasetItem 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 DatasetItem. - */ - @Generated - public static DatasetItem fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String name = null; - String query = null; - String groundTruth = null; - List criteria = null; - List evalResults = null; - List responseItems = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("query".equals(fieldName)) { - query = reader.getString(); - } else if ("ground_truth".equals(fieldName)) { - groundTruth = reader.getString(); - } else if ("criteria".equals(fieldName)) { - criteria = reader.readArray(reader1 -> EvaluationCriterion.fromJson(reader1)); - } else if ("eval_results".equals(fieldName)) { - evalResults = reader.readArray(reader1 -> EvalRunOutputItemResult.fromJson(reader1)); - } else if ("response_items".equals(fieldName)) { - responseItems = reader.readArray(reader1 -> reader1 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); - } else { - reader.skipChildren(); - } - } - DatasetItem deserializedDatasetItem = new DatasetItem(name, query); - deserializedDatasetItem.groundTruth = groundTruth; - deserializedDatasetItem.criteria = criteria; - deserializedDatasetItem.evalResults = evalResults; - deserializedDatasetItem.responseItems = responseItems; - return deserializedDatasetItem; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResult.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResult.java deleted file mode 100644 index aeefe8582d18..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResult.java +++ /dev/null @@ -1,451 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.annotation.Generated; -import com.azure.core.util.BinaryData; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * EvalRunOutputItemResult - * - * A single grader result for an evaluation run output item. - */ -@Fluent -public final class EvalRunOutputItemResult implements JsonSerializable { - - /* - * The name of the grader. - */ - @Generated - private final String name; - - /* - * The grader type (for example, "string-check-grader"). - */ - @Generated - private String type; - - /* - * The numeric score produced by the grader. - */ - @Generated - private final double score; - - /* - * Whether the grader considered the output a pass. - */ - @Generated - private final boolean passed; - - /* - * Optional sample or intermediate data produced by the grader. - */ - @Generated - private Map sample; - - /* - * The evaluation status for this result item. Values: "completed", "errored", "skipped". Null if not provided by - * evaluator. When status is skipped, passed/score can be ignored. - */ - @Generated - private EvalRunOutputItemResultStatus status; - - /* - * The name of the metric (e.g., "fluency", "f1_score"). - */ - @Generated - private String metric; - - /* - * The label associated with the test criteria metric (e.g., "pass", "fail", "good", "bad"). - */ - @Generated - private String label; - - /* - * The threshold used to determine pass/fail for this test criteria, if it is numerical. - */ - @Generated - private Double threshold; - - /* - * The reason for the test criteria metric. - */ - @Generated - private String reason; - - /* - * Additional details about the test criteria metric. - */ - @Generated - private Map properties; - - /* - * A single grader result for an evaluation run output item. - */ - @Generated - private Map additionalProperties; - - /** - * Creates an instance of EvalRunOutputItemResult class. - * - * @param name the name value to set. - * @param score the score value to set. - * @param passed the passed value to set. - */ - @Generated - public EvalRunOutputItemResult(String name, double score, boolean passed) { - this.name = name; - this.score = score; - this.passed = passed; - } - - /** - * Get the name property: The name of the grader. - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the type property: The grader type (for example, "string-check-grader"). - * - * @return the type value. - */ - @Generated - public String getType() { - return this.type; - } - - /** - * Set the type property: The grader type (for example, "string-check-grader"). - * - * @param type the type value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setType(String type) { - this.type = type; - return this; - } - - /** - * Get the score property: The numeric score produced by the grader. - * - * @return the score value. - */ - @Generated - public double getScore() { - return this.score; - } - - /** - * Get the passed property: Whether the grader considered the output a pass. - * - * @return the passed value. - */ - @Generated - public boolean isPassed() { - return this.passed; - } - - /** - * Get the sample property: Optional sample or intermediate data produced by the grader. - * - * @return the sample value. - */ - @Generated - public Map getSample() { - return this.sample; - } - - /** - * Set the sample property: Optional sample or intermediate data produced by the grader. - * - * @param sample the sample value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setSample(Map sample) { - this.sample = sample; - return this; - } - - /** - * Get the status property: The evaluation status for this result item. Values: "completed", "errored", "skipped". - * Null if not provided by evaluator. When status is skipped, passed/score can be ignored. - * - * @return the status value. - */ - @Generated - public EvalRunOutputItemResultStatus getStatus() { - return this.status; - } - - /** - * Set the status property: The evaluation status for this result item. Values: "completed", "errored", "skipped". - * Null if not provided by evaluator. When status is skipped, passed/score can be ignored. - * - * @param status the status value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setStatus(EvalRunOutputItemResultStatus status) { - this.status = status; - return this; - } - - /** - * Get the metric property: The name of the metric (e.g., "fluency", "f1_score"). - * - * @return the metric value. - */ - @Generated - public String getMetric() { - return this.metric; - } - - /** - * Set the metric property: The name of the metric (e.g., "fluency", "f1_score"). - * - * @param metric the metric value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setMetric(String metric) { - this.metric = metric; - return this; - } - - /** - * Get the label property: The label associated with the test criteria metric (e.g., "pass", "fail", "good", "bad"). - * - * @return the label value. - */ - @Generated - public String getLabel() { - return this.label; - } - - /** - * Set the label property: The label associated with the test criteria metric (e.g., "pass", "fail", "good", "bad"). - * - * @param label the label value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setLabel(String label) { - this.label = label; - return this; - } - - /** - * Get the threshold property: The threshold used to determine pass/fail for this test criteria, if it is numerical. - * - * @return the threshold value. - */ - @Generated - public Double getThreshold() { - return this.threshold; - } - - /** - * Set the threshold property: The threshold used to determine pass/fail for this test criteria, if it is numerical. - * - * @param threshold the threshold value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setThreshold(Double threshold) { - this.threshold = threshold; - return this; - } - - /** - * Get the reason property: The reason for the test criteria metric. - * - * @return the reason value. - */ - @Generated - public String getReason() { - return this.reason; - } - - /** - * Set the reason property: The reason for the test criteria metric. - * - * @param reason the reason value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setReason(String reason) { - this.reason = reason; - return this; - } - - /** - * Get the properties property: Additional details about the test criteria metric. - * - * @return the properties value. - */ - @Generated - public Map getProperties() { - return this.properties; - } - - /** - * Set the properties property: Additional details about the test criteria metric. - * - * @param properties the properties value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setProperties(Map properties) { - this.properties = properties; - return this; - } - - /** - * Get the additionalProperties property: A single grader result for an evaluation run output item. - * - * @return the additionalProperties value. - */ - @Generated - public Map getAdditionalProperties() { - return this.additionalProperties; - } - - /** - * Set the additionalProperties property: A single grader result for an evaluation run output item. - * - * @param additionalProperties the additionalProperties value to set. - * @return the EvalRunOutputItemResult object itself. - */ - @Generated - public EvalRunOutputItemResult setAdditionalProperties(Map additionalProperties) { - this.additionalProperties = additionalProperties; - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeDoubleField("score", this.score); - jsonWriter.writeBooleanField("passed", this.passed); - jsonWriter.writeStringField("type", this.type); - jsonWriter.writeMapField("sample", this.sample, (writer, element) -> { - if (element == null) { - writer.writeNull(); - } else { - element.writeTo(writer); - } - }); - jsonWriter.writeStringField("status", this.status == null ? null : this.status.toString()); - jsonWriter.writeStringField("metric", this.metric); - jsonWriter.writeStringField("label", this.label); - jsonWriter.writeNumberField("threshold", this.threshold); - jsonWriter.writeStringField("reason", this.reason); - jsonWriter.writeMapField("properties", this.properties, (writer, element) -> writer.writeString(element)); - if (additionalProperties != null) { - for (Map.Entry additionalProperty : additionalProperties.entrySet()) { - jsonWriter.writeFieldName(additionalProperty.getKey()); - if (additionalProperty.getValue() == null) { - jsonWriter.writeNull(); - } else { - additionalProperty.getValue().writeTo(jsonWriter); - } - } - } - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of EvalRunOutputItemResult from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of EvalRunOutputItemResult 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 EvalRunOutputItemResult. - */ - @Generated - public static EvalRunOutputItemResult fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String name = null; - double score = 0.0; - boolean passed = false; - String type = null; - Map sample = null; - EvalRunOutputItemResultStatus status = null; - String metric = null; - String label = null; - Double threshold = null; - String reason = null; - Map properties = null; - Map additionalProperties = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("score".equals(fieldName)) { - score = reader.getDouble(); - } else if ("passed".equals(fieldName)) { - passed = reader.getBoolean(); - } else if ("type".equals(fieldName)) { - type = reader.getString(); - } else if ("sample".equals(fieldName)) { - sample = reader.readMap(reader1 -> reader1 - .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); - } else if ("status".equals(fieldName)) { - status = EvalRunOutputItemResultStatus.fromString(reader.getString()); - } else if ("metric".equals(fieldName)) { - metric = reader.getString(); - } else if ("label".equals(fieldName)) { - label = reader.getString(); - } else if ("threshold".equals(fieldName)) { - threshold = reader.getNullable(JsonReader::getDouble); - } else if ("reason".equals(fieldName)) { - reason = reader.getString(); - } else if ("properties".equals(fieldName)) { - properties = reader.readMap(reader1 -> reader1.getString()); - } else { - if (additionalProperties == null) { - additionalProperties = new LinkedHashMap<>(); - } - additionalProperties.put(fieldName, - reader.getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); - } - } - EvalRunOutputItemResult deserializedEvalRunOutputItemResult - = new EvalRunOutputItemResult(name, score, passed); - deserializedEvalRunOutputItemResult.type = type; - deserializedEvalRunOutputItemResult.sample = sample; - deserializedEvalRunOutputItemResult.status = status; - deserializedEvalRunOutputItemResult.metric = metric; - deserializedEvalRunOutputItemResult.label = label; - deserializedEvalRunOutputItemResult.threshold = threshold; - deserializedEvalRunOutputItemResult.reason = reason; - deserializedEvalRunOutputItemResult.properties = properties; - deserializedEvalRunOutputItemResult.additionalProperties = additionalProperties; - return deserializedEvalRunOutputItemResult; - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResultStatus.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResultStatus.java deleted file mode 100644 index f54db4d600e2..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResultStatus.java +++ /dev/null @@ -1,63 +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; - -/** - * The evaluation status for an evaluation run output item result. - */ -public final class EvalRunOutputItemResultStatus extends ExpandableStringEnum { - - /** - * The evaluator completed successfully for this result item. - */ - @Generated - public static final EvalRunOutputItemResultStatus COMPLETED = fromString("completed"); - - /** - * The evaluator encountered an error for this result item. - */ - @Generated - public static final EvalRunOutputItemResultStatus ERRORED = fromString("errored"); - - /** - * The evaluator skipped this result item. - */ - @Generated - public static final EvalRunOutputItemResultStatus SKIPPED = fromString("skipped"); - - /** - * Creates a new instance of EvalRunOutputItemResultStatus value. - * - * @deprecated Use the {@link #fromString(String)} factory method. - */ - @Generated - @Deprecated - public EvalRunOutputItemResultStatus() { - } - - /** - * Creates or finds a EvalRunOutputItemResultStatus from its string representation. - * - * @param name a name to look for. - * @return the corresponding EvalRunOutputItemResultStatus. - */ - @Generated - public static EvalRunOutputItemResultStatus fromString(String name) { - return fromString(name, EvalRunOutputItemResultStatus.class); - } - - /** - * Gets known EvalRunOutputItemResultStatus values. - * - * @return known EvalRunOutputItemResultStatus values. - */ - @Generated - public static Collection values() { - return values(EvalRunOutputItemResultStatus.class); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationCriterion.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationCriterion.java deleted file mode 100644 index 37e381992bb1..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationCriterion.java +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Generated; -import com.azure.core.annotation.Immutable; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * LLM-as-judge evaluation criterion applied to a single task. - */ -@Immutable -public final class EvaluationCriterion implements JsonSerializable { - - /* - * Criterion name (referenced in evaluation result rows). - */ - @Generated - private final String name; - - /* - * Natural-language instruction passed to the judge LLM. - */ - @Generated - private final String instruction; - - /** - * Creates an instance of EvaluationCriterion class. - * - * @param name the name value to set. - * @param instruction the instruction value to set. - */ - @Generated - public EvaluationCriterion(String name, String instruction) { - this.name = name; - this.instruction = instruction; - } - - /** - * Get the name property: Criterion name (referenced in evaluation result rows). - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the instruction property: Natural-language instruction passed to the judge LLM. - * - * @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 EvaluationCriterion from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of EvaluationCriterion 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 EvaluationCriterion. - */ - @Generated - public static EvaluationCriterion 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 EvaluationCriterion(name, instruction); - }); - } -} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationLevel.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationLevel.java new file mode 100644 index 000000000000..211f44e6956f --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/EvaluationLevel.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 level at which evaluation is performed. + */ +public final class EvaluationLevel extends ExpandableStringEnum { + + /** + * Evaluation is performed at the turn level. + */ + @Generated + public static final EvaluationLevel TURN = fromString("turn"); + + /** + * Evaluation is performed at the conversation level. + */ + @Generated + public static final EvaluationLevel CONVERSATION = fromString("conversation"); + + /** + * Creates a new instance of EvaluationLevel value. + * + * @deprecated Use the {@link #fromString(String)} factory method. + */ + @Generated + @Deprecated + public EvaluationLevel() { + } + + /** + * Creates or finds a EvaluationLevel from its string representation. + * + * @param name a name to look for. + * @return the corresponding EvaluationLevel. + */ + @Generated + public static EvaluationLevel fromString(String name) { + return fromString(name, EvaluationLevel.class); + } + + /** + * Gets known EvaluationLevel values. + * + * @return known EvaluationLevel values. + */ + @Generated + public static Collection values() { + return values(EvaluationLevel.class); + } +} 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 265528b2257b..5b3f5e21b06a 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 @@ -31,12 +31,6 @@ public final class HostedAgentDefinition extends AgentDefinition { @Generated private List tools; - /* - * The protocols that the agent supports for ingress communication of the containers. - */ - @Generated - private List containerProtocolVersions; - /* * The CPU configuration for the hosted agent. */ @@ -90,17 +84,6 @@ public HostedAgentDefinition setTools(List tools) { return this; } - /** - * Get the containerProtocolVersions property: The protocols that the agent supports for ingress communication of - * the containers. - * - * @return the containerProtocolVersions value. - */ - @Generated - public List getContainerProtocolVersions() { - return this.containerProtocolVersions; - } - /** * Get the cpu property: The CPU configuration for the hosted agent. * @@ -165,11 +148,8 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStringField("memory", this.memory); jsonWriter.writeStringField("kind", this.kind == null ? null : this.kind.toString()); jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeArrayField("container_protocol_versions", this.containerProtocolVersions, - (writer, element) -> writer.writeJson(element)); jsonWriter.writeMapField("environment_variables", this.environmentVariables, (writer, element) -> writer.writeString(element)); - jsonWriter.writeStringField("image", this.image); jsonWriter.writeJsonField("container_configuration", this.containerConfiguration); jsonWriter.writeArrayField("protocol_versions", this.protocolVersions, (writer, element) -> writer.writeJson(element)); @@ -195,9 +175,7 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc String memory = null; AgentKind kind = AgentKind.HOSTED; List tools = null; - List containerProtocolVersions = null; Map environmentVariables = null; - String image = null; ContainerConfiguration containerConfiguration = null; List protocolVersions = null; CodeConfiguration codeConfiguration = null; @@ -215,12 +193,8 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc kind = AgentKind.fromString(reader.getString()); } else if ("tools".equals(fieldName)) { tools = reader.readArray(reader1 -> Tool.fromJson(reader1)); - } else if ("container_protocol_versions".equals(fieldName)) { - containerProtocolVersions = reader.readArray(reader1 -> ProtocolVersionRecord.fromJson(reader1)); } else if ("environment_variables".equals(fieldName)) { environmentVariables = reader.readMap(reader1 -> reader1.getString()); - } else if ("image".equals(fieldName)) { - image = reader.getString(); } else if ("container_configuration".equals(fieldName)) { containerConfiguration = ContainerConfiguration.fromJson(reader); } else if ("protocol_versions".equals(fieldName)) { @@ -237,9 +211,7 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc deserializedHostedAgentDefinition.setRaiConfig(raiConfig); deserializedHostedAgentDefinition.kind = kind; deserializedHostedAgentDefinition.tools = tools; - deserializedHostedAgentDefinition.containerProtocolVersions = containerProtocolVersions; deserializedHostedAgentDefinition.environmentVariables = environmentVariables; - deserializedHostedAgentDefinition.image = image; deserializedHostedAgentDefinition.containerConfiguration = containerConfiguration; deserializedHostedAgentDefinition.protocolVersions = protocolVersions; deserializedHostedAgentDefinition.codeConfiguration = codeConfiguration; @@ -248,34 +220,6 @@ public static HostedAgentDefinition fromJson(JsonReader jsonReader) throws IOExc }); } - /* - * The image ID for the agent, applicable to image-based hosted agents. - */ - @Generated - private String image; - - /** - * Get the image property: The image ID for the agent, applicable to image-based hosted agents. - * - * @return the image value. - */ - @Generated - public String getImage() { - return this.image; - } - - /** - * Set the image property: The image ID for the agent, applicable to image-based hosted agents. - * - * @param image the image value to set. - * @return the HostedAgentDefinition object itself. - */ - @Generated - public HostedAgentDefinition setImage(String image) { - this.image = image; - return this; - } - /* * Container-based deployment configuration. Provide this for image-based deployments. Mutually exclusive with * code_configuration — the service validates that exactly one is set. @@ -308,19 +252,6 @@ public HostedAgentDefinition(String cpu, String memory) { this.memory = memory; } - /** - * Set the containerProtocolVersions property: The protocols that the agent supports for ingress communication of - * the containers. - * - * @param containerProtocolVersions the containerProtocolVersions value to set. - * @return the HostedAgentDefinition object itself. - */ - @Generated - public HostedAgentDefinition setContainerProtocolVersions(List containerProtocolVersions) { - this.containerProtocolVersions = containerProtocolVersions; - return this; - } - /** * Get the containerConfiguration property: Container-based deployment configuration. Provide this for image-based * deployments. Mutually exclusive with code_configuration — the service validates that exactly one is set. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java index c0220c19a6e8..4cfb59429846 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/MemoryStoreDefaultOptions.java @@ -31,7 +31,7 @@ public final class MemoryStoreDefaultOptions implements JsonSerializable { /* - * Registered Foundry agent name. Required — bare-model mode is not supported. + * Agent name. */ @Generated - private final String agentName; + private String agentName; /* - * Pinned agent version. Defaults to latest if omitted. + * Agent version. */ @Generated private String agentVersion; /* - * Model deployment name (e.g., 'gpt-4o'). Optional when agent_name is set — the agent definition provides the - * model. + * Model deployment name. */ @Generated private String model; /* - * System prompt / instructions override. When set, used as the baseline instructions for the agent. + * System prompt / instructions. */ @Generated private String systemPrompt; /* - * Optional named skills the optimizer may tune. Tool descriptions and parameters. + * Agent skills. */ @Generated - private List skills; + private List> skills; /** - * Creates an instance of OptimizationAgentDefinition class. - * - * @param agentName the agentName value to set. - */ - @Generated - public OptimizationAgentDefinition(String agentName) { - this.agentName = agentName; - } - - /** - * Get the agentName property: Registered Foundry agent name. Required — bare-model mode is not supported. + * Get the agentName property: Agent name. * * @return the agentName value. */ @@ -70,7 +61,7 @@ public String getAgentName() { } /** - * Get the agentVersion property: Pinned agent version. Defaults to latest if omitted. + * Get the agentVersion property: Agent version. * * @return the agentVersion value. */ @@ -80,20 +71,7 @@ public String getAgentVersion() { } /** - * Set the agentVersion property: Pinned agent version. Defaults to latest if omitted. - * - * @param agentVersion the agentVersion value to set. - * @return the OptimizationAgentDefinition object itself. - */ - @Generated - public OptimizationAgentDefinition setAgentVersion(String agentVersion) { - this.agentVersion = agentVersion; - return this; - } - - /** - * Get the model property: Model deployment name (e.g., 'gpt-4o'). Optional when agent_name is set — the agent - * definition provides the model. + * Get the model property: Model deployment name. * * @return the model value. */ @@ -103,21 +81,7 @@ public String getModel() { } /** - * Set the model property: Model deployment name (e.g., 'gpt-4o'). Optional when agent_name is set — the agent - * definition provides the model. - * - * @param model the model value to set. - * @return the OptimizationAgentDefinition object itself. - */ - @Generated - public OptimizationAgentDefinition setModel(String model) { - this.model = model; - return this; - } - - /** - * Get the systemPrompt property: System prompt / instructions override. When set, used as the baseline instructions - * for the agent. + * Get the systemPrompt property: System prompt / instructions. * * @return the systemPrompt value. */ @@ -127,40 +91,15 @@ public String getSystemPrompt() { } /** - * Set the systemPrompt property: System prompt / instructions override. When set, used as the baseline instructions - * for the agent. - * - * @param systemPrompt the systemPrompt value to set. - * @return the OptimizationAgentDefinition object itself. - */ - @Generated - public OptimizationAgentDefinition setSystemPrompt(String systemPrompt) { - this.systemPrompt = systemPrompt; - return this; - } - - /** - * Get the skills property: Optional named skills the optimizer may tune. Tool descriptions and parameters. + * Get the skills property: Agent skills. * * @return the skills value. */ @Generated - public List getSkills() { + public List> getSkills() { return this.skills; } - /** - * Set the skills property: Optional named skills the optimizer may tune. Tool descriptions and parameters. - * - * @param skills the skills value to set. - * @return the OptimizationAgentDefinition object itself. - */ - @Generated - public OptimizationAgentDefinition setSkills(List skills) { - this.skills = skills; - return this; - } - /** * {@inheritDoc} */ @@ -168,11 +107,26 @@ public OptimizationAgentDefinition setSkills(List skills @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeStringField("agent_name", this.agentName); - jsonWriter.writeStringField("agent_version", this.agentVersion); + jsonWriter.writeStringField("agentName", this.agentName); + jsonWriter.writeStringField("agentVersion", this.agentVersion); jsonWriter.writeStringField("model", this.model); - jsonWriter.writeStringField("system_prompt", this.systemPrompt); - jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeStringField("systemPrompt", 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(); } @@ -182,41 +136,60 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { * @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 IllegalStateException If the deserialized JSON object was missing any required properties. * @throws IOException If an error occurs while reading the OptimizationAgentDefinition. */ @Generated public static OptimizationAgentDefinition fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - String agentName = null; - String agentVersion = null; - String model = null; - String systemPrompt = null; - List skills = null; + OptimizationAgentDefinition deserializedOptimizationAgentDefinition = new OptimizationAgentDefinition(); 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(); + if ("agentName".equals(fieldName)) { + deserializedOptimizationAgentDefinition.agentName = reader.getString(); + } else if ("agentVersion".equals(fieldName)) { + deserializedOptimizationAgentDefinition.agentVersion = reader.getString(); } else if ("model".equals(fieldName)) { - model = reader.getString(); - } else if ("system_prompt".equals(fieldName)) { - systemPrompt = reader.getString(); + deserializedOptimizationAgentDefinition.model = reader.getString(); + } else if ("systemPrompt".equals(fieldName)) { + deserializedOptimizationAgentDefinition.systemPrompt = reader.getString(); } else if ("skills".equals(fieldName)) { - skills = reader.readArray(reader1 -> OptimizationAgentSkill.fromJson(reader1)); + 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(); } } - OptimizationAgentDefinition deserializedOptimizationAgentDefinition - = new OptimizationAgentDefinition(agentName); - deserializedOptimizationAgentDefinition.agentVersion = agentVersion; - deserializedOptimizationAgentDefinition.model = model; - deserializedOptimizationAgentDefinition.systemPrompt = systemPrompt; - deserializedOptimizationAgentDefinition.skills = skills; 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/OptimizationAgentSkill.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentSkill.java deleted file mode 100644 index 1a94e1e30bd8..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationAgentSkill.java +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.annotation.Generated; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; - -/** - * A named skill on the agent that the optimizer may tune. - */ -@Fluent -public final class OptimizationAgentSkill implements JsonSerializable { - - /* - * Skill name (matches the tool name on the agent). - */ - @Generated - private final String name; - - /* - * Free-form description used as the seed when tuning skill descriptions. - */ - @Generated - private String description; - - /** - * Creates an instance of OptimizationAgentSkill class. - * - * @param name the name value to set. - */ - @Generated - public OptimizationAgentSkill(String name) { - this.name = name; - } - - /** - * Get the name property: Skill name (matches the tool name on the agent). - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the description property: Free-form description used as the seed when tuning skill descriptions. - * - * @return the description value. - */ - @Generated - public String getDescription() { - return this.description; - } - - /** - * Set the description property: Free-form description used as the seed when tuning skill descriptions. - * - * @param description the description value to set. - * @return the OptimizationAgentSkill object itself. - */ - @Generated - public OptimizationAgentSkill setDescription(String description) { - this.description = description; - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeStringField("description", this.description); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of OptimizationAgentSkill from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of OptimizationAgentSkill 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 OptimizationAgentSkill. - */ - @Generated - public static OptimizationAgentSkill fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String name = null; - String description = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("description".equals(fieldName)) { - description = reader.getString(); - } else { - reader.skipChildren(); - } - } - OptimizationAgentSkill deserializedOptimizationAgentSkill = new OptimizationAgentSkill(name); - deserializedOptimizationAgentSkill.description = description; - return deserializedOptimizationAgentSkill; - }); - } -} 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 bfea95b854dc..046a4680fb5c 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 @@ -21,7 +21,7 @@ public final class OptimizationCandidate implements JsonSerializable { /* - * Server-assigned candidate identifier. Use with `GET /candidates/{id}` sub-endpoints. + * Server-assigned candidate identifier. Use with GET /candidates/{id} sub-endpoints. */ @Generated private String candidateId; @@ -39,17 +39,11 @@ public final class OptimizationCandidate implements JsonSerializable mutations; - /* - * Strategy rationale — why this candidate was generated. - */ - @Generated - private final String rationale; - /* * Average composite score across all tasks. */ @@ -80,30 +74,6 @@ public final class OptimizationCandidate implements JsonSerializable mutations, - String rationale, double avgScore, double avgTokens, double passRate, List taskScores, - boolean isParetoOptimal) { - this.name = name; - this.config = config; - this.mutations = mutations; - this.rationale = rationale; - this.avgScore = avgScore; - this.avgTokens = avgTokens; - this.passRate = passRate; - this.taskScores = taskScores; - this.isParetoOptimal = isParetoOptimal; - } - - /** - * Get the candidateId property: Server-assigned candidate identifier. Use with `GET /candidates/{id}` - * sub-endpoints. + * Get the candidateId property: Server-assigned candidate identifier. Use with GET /candidates/{id} sub-endpoints. * * @return the candidateId value. */ @@ -176,7 +117,7 @@ public OptimizationAgentDefinition getConfig() { } /** - * Get the mutations property: What was mutated from the baseline (e.g., {instructions: 'new prompt'}). + * Get the mutations property: What was mutated from the baseline (e.g., {systemPrompt: 'new prompt'}). * * @return the mutations value. */ @@ -185,16 +126,6 @@ public Map getMutations() { return this.mutations; } - /** - * Get the rationale property: Strategy rationale — why this candidate was generated. - * - * @return the rationale value. - */ - @Generated - public String getRationale() { - return this.rationale; - } - /** * Get the avgScore property: Average composite score across all tasks. * @@ -245,46 +176,6 @@ public boolean isParetoOptimal() { return this.isParetoOptimal; } - /** - * Get the sampleAvgScore property: Average score from sampled evaluation (null if full dataset was used). - * - * @return the sampleAvgScore value. - */ - @Generated - public Double getSampleAvgScore() { - return this.sampleAvgScore; - } - - /** - * Get the sampleSize property: Number of tasks in the sample (null if full dataset was used). - * - * @return the sampleSize value. - */ - @Generated - public Integer getSampleSize() { - return this.sampleSize; - } - - /** - * Get the evaluationType property: 'sample' if scored on a subset, 'full' if re-evaluated on the full dataset. - * - * @return the evaluationType value. - */ - @Generated - public String getEvaluationType() { - return this.evaluationType; - } - - /** - * Get the strategy property: Identifies the strategy that produced this candidate. - * - * @return the strategy value. - */ - @Generated - public OptimizationStrategy getStrategy() { - return this.strategy; - } - /** * Get the evalId property: Foundry evaluation identifier used to score this candidate. * @@ -321,19 +212,15 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { element.writeTo(writer); } }); - jsonWriter.writeStringField("rationale", this.rationale); - jsonWriter.writeDoubleField("avg_score", this.avgScore); - jsonWriter.writeDoubleField("avg_tokens", this.avgTokens); - 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.writeNumberField("sample_avg_score", this.sampleAvgScore); - jsonWriter.writeNumberField("sample_size", this.sampleSize); - jsonWriter.writeStringField("evaluation_type", this.evaluationType); - jsonWriter.writeStringField("strategy", this.strategy == null ? null : this.strategy.toString()); - jsonWriter.writeStringField("eval_id", this.evalId); - jsonWriter.writeStringField("eval_run_id", this.evalRunId); + jsonWriter.writeDoubleField("avgScore", this.avgScore); + jsonWriter.writeDoubleField("avgTokens", this.avgTokens); + jsonWriter.writeDoubleField("passRate", this.passRate); + jsonWriter.writeArrayField("taskScores", this.taskScores, (writer, element) -> writer.writeJson(element)); + jsonWriter.writeBooleanField("isParetoOptimal", this.isParetoOptimal); + jsonWriter.writeStringField("candidateId", this.candidateId); + jsonWriter.writeStringField("evalId", this.evalId); + jsonWriter.writeStringField("evalRunId", this.evalRunId); + jsonWriter.writeJsonField("promotion", this.promotion); return jsonWriter.writeEndObject(); } @@ -352,19 +239,15 @@ public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOExc String name = null; OptimizationAgentDefinition config = null; Map mutations = null; - String rationale = null; double avgScore = 0.0; double avgTokens = 0.0; double passRate = 0.0; List taskScores = null; boolean isParetoOptimal = false; String candidateId = null; - Double sampleAvgScore = null; - Integer sampleSize = null; - String evaluationType = null; - OptimizationStrategy strategy = null; String evalId = null; String evalRunId = null; + PromotionInfo promotion = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); @@ -375,46 +258,77 @@ public static OptimizationCandidate fromJson(JsonReader jsonReader) throws IOExc } else if ("mutations".equals(fieldName)) { mutations = reader.readMap(reader1 -> reader1 .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); - } else if ("rationale".equals(fieldName)) { - rationale = reader.getString(); - } else if ("avg_score".equals(fieldName)) { + } else if ("avgScore".equals(fieldName)) { avgScore = reader.getDouble(); - } else if ("avg_tokens".equals(fieldName)) { + } else if ("avgTokens".equals(fieldName)) { avgTokens = reader.getDouble(); - } else if ("pass_rate".equals(fieldName)) { + } else if ("passRate".equals(fieldName)) { passRate = reader.getDouble(); - } else if ("task_scores".equals(fieldName)) { + } else if ("taskScores".equals(fieldName)) { taskScores = reader.readArray(reader1 -> OptimizationTaskResult.fromJson(reader1)); - } else if ("is_pareto_optimal".equals(fieldName)) { + } else if ("isParetoOptimal".equals(fieldName)) { isParetoOptimal = reader.getBoolean(); - } else if ("candidate_id".equals(fieldName)) { + } else if ("candidateId".equals(fieldName)) { candidateId = reader.getString(); - } else if ("sample_avg_score".equals(fieldName)) { - sampleAvgScore = reader.getNullable(JsonReader::getDouble); - } else if ("sample_size".equals(fieldName)) { - sampleSize = reader.getNullable(JsonReader::getInt); - } else if ("evaluation_type".equals(fieldName)) { - evaluationType = reader.getString(); - } else if ("strategy".equals(fieldName)) { - strategy = OptimizationStrategy.fromString(reader.getString()); - } else if ("eval_id".equals(fieldName)) { + } else if ("evalId".equals(fieldName)) { evalId = reader.getString(); - } else if ("eval_run_id".equals(fieldName)) { + } else if ("evalRunId".equals(fieldName)) { evalRunId = reader.getString(); + } else if ("promotion".equals(fieldName)) { + promotion = PromotionInfo.fromJson(reader); } else { reader.skipChildren(); } } OptimizationCandidate deserializedOptimizationCandidate = new OptimizationCandidate(name, config, mutations, - rationale, avgScore, avgTokens, passRate, taskScores, isParetoOptimal); + avgScore, avgTokens, passRate, taskScores, isParetoOptimal); deserializedOptimizationCandidate.candidateId = candidateId; - deserializedOptimizationCandidate.sampleAvgScore = sampleAvgScore; - deserializedOptimizationCandidate.sampleSize = sampleSize; - deserializedOptimizationCandidate.evaluationType = evaluationType; - deserializedOptimizationCandidate.strategy = strategy; deserializedOptimizationCandidate.evalId = evalId; deserializedOptimizationCandidate.evalRunId = evalRunId; + deserializedOptimizationCandidate.promotion = promotion; return deserializedOptimizationCandidate; }); } + + /* + * Promotion metadata. Null if the candidate has not been promoted. + */ + @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 avgScore the avgScore value to set. + * @param avgTokens the avgTokens 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 avgScore, double avgTokens, double passRate, List taskScores, + boolean isParetoOptimal) { + this.name = name; + this.config = config; + this.mutations = mutations; + this.avgScore = avgScore; + this.avgTokens = avgTokens; + this.passRate = passRate; + this.taskScores = taskScores; + this.isParetoOptimal = isParetoOptimal; + } + + /** + * Get the promotion property: Promotion metadata. Null if the candidate has not been promoted. + * + * @return the promotion value. + */ + @Generated + public PromotionInfo getPromotion() { + return this.promotion; + } } 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 cb15e469d49c..18a8045d9d0a 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 @@ -3,8 +3,8 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.agents.models; -import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; import com.azure.json.JsonSerializable; import com.azure.json.JsonToken; @@ -16,9 +16,9 @@ /** * Agent optimization job resource — a long-running job that optimizes an agent's configuration (instructions, model, - * skills) to maximize evaluation scores. On success, the result contains scored candidates. + * skills, tools) to maximize evaluation scores. On success, the result contains scored candidates. */ -@Fluent +@Immutable public final class OptimizationJob implements JsonSerializable { /* @@ -73,7 +73,7 @@ public final class OptimizationJob implements JsonSerializable * Creates an instance of OptimizationJob class. */ @Generated - public OptimizationJob() { + private OptimizationJob() { } /** @@ -96,18 +96,6 @@ public OptimizationJobInputs getInputs() { return this.inputs; } - /** - * Set the inputs property: Caller-supplied inputs. - * - * @param inputs the inputs value to set. - * @return the OptimizationJob object itself. - */ - @Generated - public OptimizationJob setInputs(OptimizationJobInputs inputs) { - this.inputs = inputs; - return this; - } - /** * Get the result property: Result produced on success. * @@ -202,18 +190,20 @@ public static OptimizationJob fromJson(JsonReader jsonReader) throws IOException deserializedOptimizationJob.id = reader.getString(); } else if ("status".equals(fieldName)) { deserializedOptimizationJob.status = JobStatus.fromString(reader.getString()); - } else if ("created_at".equals(fieldName)) { + } else if ("createdAt".equals(fieldName)) { deserializedOptimizationJob.createdAt = reader.getLong(); - } else if ("inputs".equals(fieldName)) { - deserializedOptimizationJob.inputs = OptimizationJobInputs.fromJson(reader); - } else if ("result".equals(fieldName)) { - deserializedOptimizationJob.result = OptimizationJobResult.fromJson(reader); } else if ("error".equals(fieldName)) { deserializedOptimizationJob.error = ApiError.fromJson(reader); - } else if ("updated_at".equals(fieldName)) { + } else if ("result".equals(fieldName)) { + deserializedOptimizationJob.result = OptimizationJobResult.fromJson(reader); + } else if ("inputs".equals(fieldName)) { + deserializedOptimizationJob.inputs = OptimizationJobInputs.fromJson(reader); + } else if ("updatedAt".equals(fieldName)) { deserializedOptimizationJob.updatedAt = reader.getNullable(JsonReader::getLong); } else if ("progress".equals(fieldName)) { deserializedOptimizationJob.progress = OptimizationJobProgress.fromJson(reader); + } else if ("dataset".equals(fieldName)) { + deserializedOptimizationJob.dataset = DatasetInfo.fromJson(reader); } else { reader.skipChildren(); } @@ -221,4 +211,20 @@ public static OptimizationJob fromJson(JsonReader jsonReader) throws IOException return deserializedOptimizationJob; }); } + + /* + * Metadata about the dataset used for this optimization job. + */ + @Generated + private DatasetInfo dataset; + + /** + * Get the dataset property: Metadata about the dataset used for this optimization job. + * + * @return the dataset value. + */ + @Generated + public DatasetInfo getDataset() { + return this.dataset; + } } 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 316942441171..5f5770f12713 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 @@ -22,19 +22,13 @@ public final class OptimizationJobInputs implements JsonSerializable dataset; - - /* - * Reference to a registered training dataset. Mutually exclusive with `dataset`. - */ - @Generated - private DatasetRef trainDatasetReference; + private final DatasetRef trainDatasetReference; /* * Optional held-out validation dataset for measuring generalization of the final candidate. @@ -43,68 +37,29 @@ public final class OptimizationJobInputs implements JsonSerializable evaluators; - /* - * Job-level evaluation criteria. Applied to all tasks unless overridden by per-task `criteria`. - */ - @Generated - private List criteria; - /* * Tuning knobs and run-mode. */ @Generated private OptimizationOptions options; - /** - * Creates an instance of OptimizationJobInputs class. - * - * @param agent the agent value to set. - */ - @Generated - public OptimizationJobInputs(OptimizationAgentDefinition agent) { - this.agent = agent; - } - /** * Get the agent property: The agent (and pinned version) being optimized. * * @return the agent value. */ @Generated - public OptimizationAgentDefinition getAgent() { + public AgentIdentifier getAgent() { return this.agent; } /** - * Get the dataset property: Inline evaluation dataset. Mutually exclusive with `train_dataset_reference`. - * - * @return the dataset value. - */ - @Generated - public List getDataset() { - return this.dataset; - } - - /** - * Set the dataset property: Inline evaluation dataset. Mutually exclusive with `train_dataset_reference`. - * - * @param dataset the dataset value to set. - * @return the OptimizationJobInputs object itself. - */ - @Generated - public OptimizationJobInputs setDataset(List dataset) { - this.dataset = dataset; - return this; - } - - /** - * Get the trainDatasetReference property: Reference to a registered training dataset. Mutually exclusive with - * `dataset`. + * Get the trainDatasetReference property: Reference to a registered training dataset (required). * * @return the trainDatasetReference value. */ @@ -113,19 +68,6 @@ public DatasetRef getTrainDatasetReference() { return this.trainDatasetReference; } - /** - * Set the trainDatasetReference property: Reference to a registered training dataset. Mutually exclusive with - * `dataset`. - * - * @param trainDatasetReference the trainDatasetReference value to set. - * @return the OptimizationJobInputs object itself. - */ - @Generated - public OptimizationJobInputs setTrainDatasetReference(DatasetRef trainDatasetReference) { - this.trainDatasetReference = trainDatasetReference; - return this; - } - /** * Get the validationDatasetReference property: Optional held-out validation dataset for measuring generalization of * the final candidate. @@ -151,8 +93,8 @@ public OptimizationJobInputs setValidationDatasetReference(DatasetRef validation } /** - * Get the evaluators property: Job-level evaluators (referenced by `name`). Per-task `criteria` may override. - * Default: ['task_adherence']. + * Get the evaluators property: Job-level evaluators (referenced by name). Per-task criteria may override. Default: + * ['task_adherence']. * * @return the evaluators value. */ @@ -162,8 +104,8 @@ public List getEvaluators() { } /** - * Set the evaluators property: Job-level evaluators (referenced by `name`). Per-task `criteria` may override. - * Default: ['task_adherence']. + * 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. @@ -174,30 +116,6 @@ public OptimizationJobInputs setEvaluators(List evaluators) { return this; } - /** - * Get the criteria property: Job-level evaluation criteria. Applied to all tasks unless overridden by per-task - * `criteria`. - * - * @return the criteria value. - */ - @Generated - public List getCriteria() { - return this.criteria; - } - - /** - * Set the criteria property: Job-level evaluation criteria. Applied to all tasks unless overridden by per-task - * `criteria`. - * - * @param criteria the criteria value to set. - * @return the OptimizationJobInputs object itself. - */ - @Generated - public OptimizationJobInputs setCriteria(List criteria) { - this.criteria = criteria; - return this; - } - /** * Get the options property: Tuning knobs and run-mode. * @@ -228,11 +146,9 @@ public OptimizationJobInputs setOptions(OptimizationOptions options) { public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); jsonWriter.writeJsonField("agent", this.agent); - jsonWriter.writeArrayField("dataset", this.dataset, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeJsonField("train_dataset_reference", this.trainDatasetReference); - jsonWriter.writeJsonField("validation_dataset_reference", this.validationDatasetReference); + jsonWriter.writeJsonField("trainDatasetReference", this.trainDatasetReference); + jsonWriter.writeJsonField("validationDatasetReference", this.validationDatasetReference); jsonWriter.writeArrayField("evaluators", this.evaluators, (writer, element) -> writer.writeString(element)); - jsonWriter.writeArrayField("criteria", this.criteria, (writer, element) -> writer.writeJson(element)); jsonWriter.writeJsonField("options", this.options); return jsonWriter.writeEndObject(); } @@ -249,42 +165,46 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { @Generated public static OptimizationJobInputs fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - OptimizationAgentDefinition agent = null; - List dataset = null; + AgentIdentifier agent = null; DatasetRef trainDatasetReference = null; DatasetRef validationDatasetReference = null; List evaluators = null; - List criteria = null; OptimizationOptions options = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); if ("agent".equals(fieldName)) { - agent = OptimizationAgentDefinition.fromJson(reader); - } else if ("dataset".equals(fieldName)) { - dataset = reader.readArray(reader1 -> DatasetItem.fromJson(reader1)); - } else if ("train_dataset_reference".equals(fieldName)) { + agent = AgentIdentifier.fromJson(reader); + } else if ("trainDatasetReference".equals(fieldName)) { trainDatasetReference = DatasetRef.fromJson(reader); - } else if ("validation_dataset_reference".equals(fieldName)) { + } else if ("validationDatasetReference".equals(fieldName)) { validationDatasetReference = DatasetRef.fromJson(reader); } else if ("evaluators".equals(fieldName)) { evaluators = reader.readArray(reader1 -> reader1.getString()); - } else if ("criteria".equals(fieldName)) { - criteria = reader.readArray(reader1 -> EvaluationCriterion.fromJson(reader1)); } else if ("options".equals(fieldName)) { options = OptimizationOptions.fromJson(reader); } else { reader.skipChildren(); } } - OptimizationJobInputs deserializedOptimizationJobInputs = new OptimizationJobInputs(agent); - deserializedOptimizationJobInputs.dataset = dataset; - deserializedOptimizationJobInputs.trainDatasetReference = trainDatasetReference; + OptimizationJobInputs deserializedOptimizationJobInputs + = new OptimizationJobInputs(agent, trainDatasetReference); deserializedOptimizationJobInputs.validationDatasetReference = validationDatasetReference; deserializedOptimizationJobInputs.evaluators = evaluators; - deserializedOptimizationJobInputs.criteria = criteria; deserializedOptimizationJobInputs.options = options; return deserializedOptimizationJobInputs; }); } + + /** + * Creates an instance of OptimizationJobInputs class. + * + * @param agent the agent value to set. + * @param trainDatasetReference the trainDatasetReference value to set. + */ + @Generated + public OptimizationJobInputs(AgentIdentifier agent, DatasetRef trainDatasetReference) { + this.agent = agent; + this.trainDatasetReference = trainDatasetReference; + } } 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 7ef28c4660fb..da6e208283b8 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 @@ -10,38 +10,19 @@ import com.azure.json.JsonToken; import com.azure.json.JsonWriter; import java.io.IOException; -import java.time.Duration; /** - * In-flight progress; only populated while status is `queued` or `in_progress`. + * In-flight progress; only populated while status is queued or in_progress. */ @Immutable public final class OptimizationJobProgress implements JsonSerializable { - /* - * Strategy currently being explored. - */ - @Generated - private final OptimizationStrategy currentStrategy; - /* * 1-based current iteration index. */ @Generated private final int currentIteration; - /* - * Tasks evaluated so far this iteration. - */ - @Generated - private final int tasksCompleted; - - /* - * Total tasks scheduled this iteration. - */ - @Generated - private final int tasksTotal; - /* * Best score observed so far across all candidates. */ @@ -49,46 +30,11 @@ public final class OptimizationJobProgress implements JsonSerializable { - OptimizationStrategy currentStrategy = null; int currentIteration = 0; - int tasksCompleted = 0; - int tasksTotal = 0; double bestScore = 0.0; - Duration elapsedSeconds = null; + double elapsedSeconds = 0.0; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("current_strategy".equals(fieldName)) { - currentStrategy = OptimizationStrategy.fromString(reader.getString()); - } else if ("current_iteration".equals(fieldName)) { + if ("currentIteration".equals(fieldName)) { currentIteration = reader.getInt(); - } else if ("tasks_completed".equals(fieldName)) { - tasksCompleted = reader.getInt(); - } else if ("tasks_total".equals(fieldName)) { - tasksTotal = reader.getInt(); - } else if ("best_score".equals(fieldName)) { + } else if ("bestScore".equals(fieldName)) { bestScore = reader.getDouble(); - } else if ("elapsed_seconds".equals(fieldName)) { - elapsedSeconds = Duration.ofNanos((long) (reader.getDouble() * 1000_000_000L)); + } else if ("elapsedSeconds".equals(fieldName)) { + elapsedSeconds = reader.getDouble(); } else { reader.skipChildren(); } } - return new OptimizationJobProgress(currentStrategy, currentIteration, tasksCompleted, tasksTotal, bestScore, - elapsedSeconds); + return new OptimizationJobProgress(currentIteration, bestScore, elapsedSeconds); }); } + + /** + * Creates an instance of OptimizationJobProgress class. + * + * @param currentIteration the currentIteration 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; + this.bestScore = bestScore; + this.elapsedSeconds = elapsedSeconds; + } } 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 cca59bc4da02..dcc71df7c4af 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 @@ -13,7 +13,7 @@ import java.util.List; /** - * Terminal-state result body. Populated when `status` is `succeeded` or `failed`. + * Terminal-state result body. Populated when status is succeeded or failed. */ @Immutable public final class OptimizationJobResult implements JsonSerializable { @@ -36,18 +36,6 @@ public final class OptimizationJobResult implements JsonSerializable candidates; - /* - * Candidates on the Pareto frontier (maximize score, minimize cost). - */ - @Generated - private List paretoFrontier; - - /* - * Score of the best candidate on the held-out validation dataset. Null when no validation dataset was provided. - */ - @Generated - private OptimizationCandidate validationScore; - /* * The options used for this optimization run. */ @@ -55,23 +43,11 @@ public final class OptimizationJobResult implements JsonSerializable warnings; - /* - * True when all optimization strategies failed — only the baseline was evaluated. - */ - @Generated - private Boolean allStrategiesFailed; - /** * Creates an instance of OptimizationJobResult class. */ @@ -109,27 +85,6 @@ public List getCandidates() { return this.candidates; } - /** - * Get the paretoFrontier property: Candidates on the Pareto frontier (maximize score, minimize cost). - * - * @return the paretoFrontier value. - */ - @Generated - public List getParetoFrontier() { - return this.paretoFrontier; - } - - /** - * Get the validationScore property: Score of the best candidate on the held-out validation dataset. Null when no - * validation dataset was provided. - * - * @return the validationScore value. - */ - @Generated - public OptimizationCandidate getValidationScore() { - return this.validationScore; - } - /** * Get the options property: The options used for this optimization run. * @@ -141,19 +96,8 @@ public OptimizationOptions getOptions() { } /** - * Get the sampleSize property: Number of tasks sampled during optimization iterations (null if sampling was not - * used). - * - * @return the sampleSize value. - */ - @Generated - public Integer getSampleSize() { - return this.sampleSize; - } - - /** - * Get the warnings property: Non-fatal warnings from the optimization run (e.g., strategy failures that were - * skipped). + * Get the warnings property: Non-fatal warnings from the optimization run (e.g., target attribute failures that + * were skipped). * * @return the warnings value. */ @@ -162,17 +106,6 @@ public List getWarnings() { return this.warnings; } - /** - * Get the allStrategiesFailed property: True when all optimization strategies failed — only the baseline was - * evaluated. - * - * @return the allStrategiesFailed value. - */ - @Generated - public Boolean isAllStrategiesFailed() { - return this.allStrategiesFailed; - } - /** * {@inheritDoc} */ @@ -183,13 +116,9 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeJsonField("baseline", this.baseline); jsonWriter.writeJsonField("best", this.best); jsonWriter.writeArrayField("candidates", this.candidates, (writer, element) -> writer.writeJson(element)); - jsonWriter.writeArrayField("pareto_frontier", this.paretoFrontier, - (writer, element) -> writer.writeJson(element)); - jsonWriter.writeJsonField("validation_score", this.validationScore); jsonWriter.writeJsonField("options", this.options); - jsonWriter.writeNumberField("sample_size", this.sampleSize); jsonWriter.writeArrayField("warnings", this.warnings, (writer, element) -> writer.writeString(element)); - jsonWriter.writeBooleanField("all_strategies_failed", this.allStrategiesFailed); + jsonWriter.writeBooleanField("allTargetAttributesFailed", this.allTargetAttributesFailed); return jsonWriter.writeEndObject(); } @@ -216,21 +145,14 @@ public static OptimizationJobResult fromJson(JsonReader jsonReader) throws IOExc List candidates = reader.readArray(reader1 -> OptimizationCandidate.fromJson(reader1)); deserializedOptimizationJobResult.candidates = candidates; - } else if ("pareto_frontier".equals(fieldName)) { - List paretoFrontier - = reader.readArray(reader1 -> OptimizationCandidate.fromJson(reader1)); - deserializedOptimizationJobResult.paretoFrontier = paretoFrontier; - } else if ("validation_score".equals(fieldName)) { - deserializedOptimizationJobResult.validationScore = OptimizationCandidate.fromJson(reader); } else if ("options".equals(fieldName)) { deserializedOptimizationJobResult.options = OptimizationOptions.fromJson(reader); - } else if ("sample_size".equals(fieldName)) { - deserializedOptimizationJobResult.sampleSize = reader.getNullable(JsonReader::getInt); } else if ("warnings".equals(fieldName)) { List warnings = reader.readArray(reader1 -> reader1.getString()); deserializedOptimizationJobResult.warnings = warnings; - } else if ("all_strategies_failed".equals(fieldName)) { - deserializedOptimizationJobResult.allStrategiesFailed = reader.getNullable(JsonReader::getBoolean); + } else if ("allTargetAttributesFailed".equals(fieldName)) { + deserializedOptimizationJobResult.allTargetAttributesFailed + = reader.getNullable(JsonReader::getBoolean); } else { reader.skipChildren(); } @@ -238,4 +160,21 @@ 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/OptimizationMode.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationMode.java deleted file mode 100644 index fda2f3de95b2..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationMode.java +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -// Code generated by Microsoft (R) TypeSpec Code Generator. -package com.azure.ai.agents.models; - -import com.azure.core.annotation.Generated; -import com.azure.core.util.ExpandableStringEnum; -import java.util.Collection; - -/** - * Run mode for an optimization job. - */ -public final class OptimizationMode extends ExpandableStringEnum { - - /** - * Full optimization: baseline + mutation strategies. - */ - @Generated - public static final OptimizationMode OPTIMIZE = fromString("optimize"); - - /** - * Creates a new instance of OptimizationMode value. - * - * @deprecated Use the {@link #fromString(String)} factory method. - */ - @Generated - @Deprecated - public OptimizationMode() { - } - - /** - * Creates or finds a OptimizationMode from its string representation. - * - * @param name a name to look for. - * @return the corresponding OptimizationMode. - */ - @Generated - public static OptimizationMode fromString(String name) { - return fromString(name, OptimizationMode.class); - } - - /** - * Gets known OptimizationMode values. - * - * @return known OptimizationMode values. - */ - @Generated - public static Collection values() { - return values(OptimizationMode.class); - } -} 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 f1621e3aa8c1..94d4685a42aa 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 @@ -5,13 +5,13 @@ import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; import com.azure.json.JsonReader; import com.azure.json.JsonSerializable; import com.azure.json.JsonToken; import com.azure.json.JsonWriter; import java.io.IOException; -import java.time.Duration; -import java.util.List; +import java.util.Map; /** * Tuning knobs and run-mode for an optimization job. @@ -20,84 +20,17 @@ public final class OptimizationOptions implements JsonSerializable { /* - * Strategies to apply this run. Default: ['instruction']. - */ - @Generated - private List strategies; - - /* - * Total candidate generation budget (number of candidates explored). Default: 10. - */ - @Generated - private Integer budget; - - /* - * Maximum optimization iterations per strategy. Default: 5. + * Maximum optimization iterations per strategy. Must be >= 1. Default: 5. */ @Generated private Integer maxIterations; /* - * Tasks sampled per iteration (mutation step input). Default: service-decided (auto-computed). - */ - @Generated - private Integer tasksPerIteration; - - /* - * Maximum tasks fed into the reflective-mutation LLM per iteration. Default: 5. - */ - @Generated - private Integer maxReflectionTasks; - - /* - * Minimum score improvement between iterations to continue (plateau detection). Default: 0.005. - */ - @Generated - private Double minImprovement; - - /* - * Composite score threshold for a task to be considered passing. Default: 0.5. - */ - @Generated - private Double passThreshold; - - /* - * Target average score at which optimization stops early (quality ceiling). Default: 0.95. - */ - @Generated - private Double improvementThreshold; - - /* - * Run mode. - */ - @Generated - private OptimizationMode mode; - - /* - * Foundry deployment name to use as the LLM-as-judge evaluation model. Required. + * Model deployment used for evaluation. Defaults to server config (typically 'gpt-4o'). */ @Generated private String evalModel; - /* - * Optional model deployment for strategy reflection (instruction rewriting, skill generation). Falls back to - * `eval_model` if unset. - */ - @Generated - private String reflectionModel; - - /* - * Per-task timeout for agent execution. Default: 300 seconds (5 minutes). - */ - @Generated - private Long taskTimeoutSeconds; - - /* - * If true, retain temporary candidate-evaluation agent versions for inspection. Default: false. - */ - @Generated - private Boolean keepVersions; - /** * Creates an instance of OptimizationOptions class. */ @@ -106,51 +39,7 @@ public OptimizationOptions() { } /** - * Get the strategies property: Strategies to apply this run. Default: ['instruction']. - * - * @return the strategies value. - */ - @Generated - public List getStrategies() { - return this.strategies; - } - - /** - * Set the strategies property: Strategies to apply this run. Default: ['instruction']. - * - * @param strategies the strategies value to set. - * @return the OptimizationOptions object itself. - */ - @Generated - public OptimizationOptions setStrategies(List strategies) { - this.strategies = strategies; - return this; - } - - /** - * Get the budget property: Total candidate generation budget (number of candidates explored). Default: 10. - * - * @return the budget value. - */ - @Generated - public Integer getBudget() { - return this.budget; - } - - /** - * Set the budget property: Total candidate generation budget (number of candidates explored). Default: 10. - * - * @param budget the budget value to set. - * @return the OptimizationOptions object itself. - */ - @Generated - public OptimizationOptions setBudget(Integer budget) { - this.budget = budget; - return this; - } - - /** - * Get the maxIterations property: Maximum optimization iterations per strategy. Default: 5. + * Get the maxIterations property: Maximum optimization iterations per strategy. Must be >= 1. Default: 5. * * @return the maxIterations value. */ @@ -160,7 +49,7 @@ public Integer getMaxIterations() { } /** - * Set the maxIterations property: Maximum optimization iterations per strategy. Default: 5. + * Set the maxIterations property: Maximum optimization iterations per strategy. Must be >= 1. Default: 5. * * @param maxIterations the maxIterations value to set. * @return the OptimizationOptions object itself. @@ -172,316 +61,174 @@ public OptimizationOptions setMaxIterations(Integer maxIterations) { } /** - * Get the tasksPerIteration property: Tasks sampled per iteration (mutation step input). Default: service-decided - * (auto-computed). - * - * @return the tasksPerIteration value. - */ - @Generated - public Integer getTasksPerIteration() { - return this.tasksPerIteration; - } - - /** - * Set the tasksPerIteration property: Tasks sampled per iteration (mutation step input). Default: service-decided - * (auto-computed). - * - * @param tasksPerIteration the tasksPerIteration value to set. - * @return the OptimizationOptions object itself. - */ - @Generated - public OptimizationOptions setTasksPerIteration(Integer tasksPerIteration) { - this.tasksPerIteration = tasksPerIteration; - return this; - } - - /** - * Get the maxReflectionTasks property: Maximum tasks fed into the reflective-mutation LLM per iteration. Default: - * 5. - * - * @return the maxReflectionTasks value. - */ - @Generated - public Integer getMaxReflectionTasks() { - return this.maxReflectionTasks; - } - - /** - * Set the maxReflectionTasks property: Maximum tasks fed into the reflective-mutation LLM per iteration. Default: - * 5. - * - * @param maxReflectionTasks the maxReflectionTasks value to set. - * @return the OptimizationOptions object itself. - */ - @Generated - public OptimizationOptions setMaxReflectionTasks(Integer maxReflectionTasks) { - this.maxReflectionTasks = maxReflectionTasks; - return this; - } - - /** - * Get the minImprovement property: Minimum score improvement between iterations to continue (plateau detection). - * Default: 0.005. - * - * @return the minImprovement value. - */ - @Generated - public Double getMinImprovement() { - return this.minImprovement; - } - - /** - * Set the minImprovement property: Minimum score improvement between iterations to continue (plateau detection). - * Default: 0.005. - * - * @param minImprovement the minImprovement value to set. - * @return the OptimizationOptions object itself. - */ - @Generated - public OptimizationOptions setMinImprovement(Double minImprovement) { - this.minImprovement = minImprovement; - return this; - } - - /** - * Get the passThreshold property: Composite score threshold for a task to be considered passing. Default: 0.5. + * Get the evalModel property: Model deployment used for evaluation. Defaults to server config (typically 'gpt-4o'). * - * @return the passThreshold value. + * @return the evalModel value. */ @Generated - public Double getPassThreshold() { - return this.passThreshold; + public String getEvalModel() { + return this.evalModel; } /** - * Set the passThreshold property: Composite score threshold for a task to be considered passing. Default: 0.5. + * Set the evalModel property: Model deployment used for evaluation. Defaults to server config (typically 'gpt-4o'). * - * @param passThreshold the passThreshold value to set. + * @param evalModel the evalModel value to set. * @return the OptimizationOptions object itself. */ @Generated - public OptimizationOptions setPassThreshold(Double passThreshold) { - this.passThreshold = passThreshold; + public OptimizationOptions setEvalModel(String evalModel) { + this.evalModel = evalModel; return this; } /** - * Get the improvementThreshold property: Target average score at which optimization stops early (quality ceiling). - * Default: 0.95. - * - * @return the improvementThreshold value. - */ - @Generated - public Double getImprovementThreshold() { - return this.improvementThreshold; - } - - /** - * Set the improvementThreshold property: Target average score at which optimization stops early (quality ceiling). - * Default: 0.95. - * - * @param improvementThreshold the improvementThreshold value to set. - * @return the OptimizationOptions object itself. + * {@inheritDoc} */ @Generated - public OptimizationOptions setImprovementThreshold(Double improvementThreshold) { - this.improvementThreshold = improvementThreshold; - return this; + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeNumberField("maxIterations", this.maxIterations); + jsonWriter.writeMapField("optimizationConfig", this.optimizationConfig, (writer, element) -> { + if (element == null) { + writer.writeNull(); + } else { + element.writeTo(writer); + } + }); + jsonWriter.writeStringField("evalModel", this.evalModel); + jsonWriter.writeStringField("optimizationModel", this.optimizationModel); + jsonWriter.writeStringField("evaluationLevel", + this.evaluationLevel == null ? null : this.evaluationLevel.toString()); + return jsonWriter.writeEndObject(); } /** - * Get the mode property: Run mode. + * Reads an instance of OptimizationOptions from the JsonReader. * - * @return the mode value. + * @param jsonReader The JsonReader being read. + * @return An instance of OptimizationOptions 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 OptimizationOptions. */ @Generated - public OptimizationMode getMode() { - return this.mode; + public static OptimizationOptions fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OptimizationOptions deserializedOptimizationOptions = new OptimizationOptions(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("maxIterations".equals(fieldName)) { + deserializedOptimizationOptions.maxIterations = reader.getNullable(JsonReader::getInt); + } else if ("optimizationConfig".equals(fieldName)) { + Map optimizationConfig = reader.readMap(reader1 -> reader1 + .getNullable(nonNullReader -> BinaryData.fromObject(nonNullReader.readUntyped()))); + deserializedOptimizationOptions.optimizationConfig = optimizationConfig; + } else if ("evalModel".equals(fieldName)) { + deserializedOptimizationOptions.evalModel = reader.getString(); + } else if ("optimizationModel".equals(fieldName)) { + deserializedOptimizationOptions.optimizationModel = reader.getString(); + } else if ("evaluationLevel".equals(fieldName)) { + deserializedOptimizationOptions.evaluationLevel = EvaluationLevel.fromString(reader.getString()); + } else { + reader.skipChildren(); + } + } + return deserializedOptimizationOptions; + }); } - /** - * Set the mode property: Run mode. - * - * @param mode the mode value to set. - * @return the OptimizationOptions object itself. + /* + * Per-target-attribute configuration overrides. Contains skills, tools, systemPrompt for the agent, plus model + * space for model optimization. */ @Generated - public OptimizationOptions setMode(OptimizationMode mode) { - this.mode = mode; - return this; - } + private Map optimizationConfig; - /** - * Get the evalModel property: Foundry deployment name to use as the LLM-as-judge evaluation model. Required. - * - * @return the evalModel value. + /* + * Model deployment for optimization reasoning (must be gpt-5 family). Falls back to the default eval model when not + * set. */ @Generated - public String getEvalModel() { - return this.evalModel; - } + private String optimizationModel; - /** - * Set the evalModel property: Foundry deployment name to use as the LLM-as-judge evaluation model. Required. - * - * @param evalModel the evalModel value to set. - * @return the OptimizationOptions object itself. + /* + * Evaluation granularity. Null/omitted means per-item single-turn. Set to 'conversation' for per-conversation + * multi-turn simulation scoring. */ @Generated - public OptimizationOptions setEvalModel(String evalModel) { - this.evalModel = evalModel; - return this; - } + private EvaluationLevel evaluationLevel; /** - * Get the reflectionModel property: Optional model deployment for strategy reflection (instruction rewriting, skill - * generation). Falls back to `eval_model` if unset. + * Get the optimizationConfig property: Per-target-attribute configuration overrides. Contains skills, tools, + * systemPrompt for the agent, plus model space for model optimization. * - * @return the reflectionModel value. + * @return the optimizationConfig value. */ @Generated - public String getReflectionModel() { - return this.reflectionModel; + public Map getOptimizationConfig() { + return this.optimizationConfig; } /** - * Set the reflectionModel property: Optional model deployment for strategy reflection (instruction rewriting, skill - * generation). Falls back to `eval_model` if unset. + * Set the optimizationConfig property: Per-target-attribute configuration overrides. Contains skills, tools, + * systemPrompt for the agent, plus model space for model optimization. * - * @param reflectionModel the reflectionModel value to set. + * @param optimizationConfig the optimizationConfig value to set. * @return the OptimizationOptions object itself. */ @Generated - public OptimizationOptions setReflectionModel(String reflectionModel) { - this.reflectionModel = reflectionModel; + public OptimizationOptions setOptimizationConfig(Map optimizationConfig) { + this.optimizationConfig = optimizationConfig; return this; } /** - * Get the taskTimeoutSeconds property: Per-task timeout for agent execution. Default: 300 seconds (5 minutes). + * Get the optimizationModel property: Model deployment for optimization reasoning (must be gpt-5 family). Falls + * back to the default eval model when not set. * - * @return the taskTimeoutSeconds value. + * @return the optimizationModel value. */ @Generated - public Duration getTaskTimeoutSeconds() { - if (this.taskTimeoutSeconds == null) { - return null; - } - return Duration.ofSeconds(this.taskTimeoutSeconds); + public String getOptimizationModel() { + return this.optimizationModel; } /** - * Set the taskTimeoutSeconds property: Per-task timeout for agent execution. Default: 300 seconds (5 minutes). + * Set the optimizationModel property: Model deployment for optimization reasoning (must be gpt-5 family). Falls + * back to the default eval model when not set. * - * @param taskTimeoutSeconds the taskTimeoutSeconds value to set. + * @param optimizationModel the optimizationModel value to set. * @return the OptimizationOptions object itself. */ @Generated - public OptimizationOptions setTaskTimeoutSeconds(Duration taskTimeoutSeconds) { - if (taskTimeoutSeconds == null) { - this.taskTimeoutSeconds = null; - } else { - this.taskTimeoutSeconds = taskTimeoutSeconds.getSeconds(); - } + public OptimizationOptions setOptimizationModel(String optimizationModel) { + this.optimizationModel = optimizationModel; return this; } /** - * Get the keepVersions property: If true, retain temporary candidate-evaluation agent versions for inspection. - * Default: false. + * Get the evaluationLevel property: Evaluation granularity. Null/omitted means per-item single-turn. Set to + * 'conversation' for per-conversation multi-turn simulation scoring. * - * @return the keepVersions value. + * @return the evaluationLevel value. */ @Generated - public Boolean isKeepVersions() { - return this.keepVersions; + public EvaluationLevel getEvaluationLevel() { + return this.evaluationLevel; } /** - * Set the keepVersions property: If true, retain temporary candidate-evaluation agent versions for inspection. - * Default: false. + * Set the evaluationLevel property: Evaluation granularity. Null/omitted means per-item single-turn. Set to + * 'conversation' for per-conversation multi-turn simulation scoring. * - * @param keepVersions the keepVersions value to set. + * @param evaluationLevel the evaluationLevel value to set. * @return the OptimizationOptions object itself. */ @Generated - public OptimizationOptions setKeepVersions(Boolean keepVersions) { - this.keepVersions = keepVersions; + public OptimizationOptions setEvaluationLevel(EvaluationLevel evaluationLevel) { + this.evaluationLevel = evaluationLevel; return this; } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeArrayField("strategies", this.strategies, - (writer, element) -> writer.writeString(element == null ? null : element.toString())); - jsonWriter.writeNumberField("budget", this.budget); - jsonWriter.writeNumberField("max_iterations", this.maxIterations); - jsonWriter.writeNumberField("tasks_per_iteration", this.tasksPerIteration); - jsonWriter.writeNumberField("max_reflection_tasks", this.maxReflectionTasks); - jsonWriter.writeNumberField("min_improvement", this.minImprovement); - jsonWriter.writeNumberField("pass_threshold", this.passThreshold); - jsonWriter.writeNumberField("improvement_threshold", this.improvementThreshold); - jsonWriter.writeStringField("mode", this.mode == null ? null : this.mode.toString()); - jsonWriter.writeStringField("eval_model", this.evalModel); - jsonWriter.writeStringField("reflection_model", this.reflectionModel); - jsonWriter.writeNumberField("task_timeout_seconds", this.taskTimeoutSeconds); - jsonWriter.writeBooleanField("keep_versions", this.keepVersions); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of OptimizationOptions from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of OptimizationOptions 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 OptimizationOptions. - */ - @Generated - public static OptimizationOptions fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - OptimizationOptions deserializedOptimizationOptions = new OptimizationOptions(); - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("strategies".equals(fieldName)) { - List strategies - = reader.readArray(reader1 -> OptimizationStrategy.fromString(reader1.getString())); - deserializedOptimizationOptions.strategies = strategies; - } else if ("budget".equals(fieldName)) { - deserializedOptimizationOptions.budget = reader.getNullable(JsonReader::getInt); - } else if ("max_iterations".equals(fieldName)) { - deserializedOptimizationOptions.maxIterations = reader.getNullable(JsonReader::getInt); - } else if ("tasks_per_iteration".equals(fieldName)) { - deserializedOptimizationOptions.tasksPerIteration = reader.getNullable(JsonReader::getInt); - } else if ("max_reflection_tasks".equals(fieldName)) { - deserializedOptimizationOptions.maxReflectionTasks = reader.getNullable(JsonReader::getInt); - } else if ("min_improvement".equals(fieldName)) { - deserializedOptimizationOptions.minImprovement = reader.getNullable(JsonReader::getDouble); - } else if ("pass_threshold".equals(fieldName)) { - deserializedOptimizationOptions.passThreshold = reader.getNullable(JsonReader::getDouble); - } else if ("improvement_threshold".equals(fieldName)) { - deserializedOptimizationOptions.improvementThreshold = reader.getNullable(JsonReader::getDouble); - } else if ("mode".equals(fieldName)) { - deserializedOptimizationOptions.mode = OptimizationMode.fromString(reader.getString()); - } else if ("eval_model".equals(fieldName)) { - deserializedOptimizationOptions.evalModel = reader.getString(); - } else if ("reflection_model".equals(fieldName)) { - deserializedOptimizationOptions.reflectionModel = reader.getString(); - } else if ("task_timeout_seconds".equals(fieldName)) { - deserializedOptimizationOptions.taskTimeoutSeconds = reader.getNullable(JsonReader::getLong); - } else if ("keep_versions".equals(fieldName)) { - deserializedOptimizationOptions.keepVersions = reader.getNullable(JsonReader::getBoolean); - } else { - reader.skipChildren(); - } - } - return deserializedOptimizationOptions; - }); - } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationStrategy.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationStrategy.java deleted file mode 100644 index 1661967e58fc..000000000000 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/OptimizationStrategy.java +++ /dev/null @@ -1,63 +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; - -/** - * Optimization strategy dimension. - */ -public final class OptimizationStrategy extends ExpandableStringEnum { - - /** - * Instruction-tuning strategy — rewrites agent system prompts. - */ - @Generated - public static final OptimizationStrategy INSTRUCTION = fromString("instruction"); - - /** - * Model-selection strategy — evaluates alternative LLM deployments. - */ - @Generated - public static final OptimizationStrategy MODEL = fromString("model"); - - /** - * Skill-tuning strategy — generates or modifies agent tool descriptions. - */ - @Generated - public static final OptimizationStrategy SKILL = fromString("skill"); - - /** - * Creates a new instance of OptimizationStrategy value. - * - * @deprecated Use the {@link #fromString(String)} factory method. - */ - @Generated - @Deprecated - public OptimizationStrategy() { - } - - /** - * Creates or finds a OptimizationStrategy from its string representation. - * - * @param name a name to look for. - * @return the corresponding OptimizationStrategy. - */ - @Generated - public static OptimizationStrategy fromString(String name) { - return fromString(name, OptimizationStrategy.class); - } - - /** - * Gets known OptimizationStrategy values. - * - * @return known OptimizationStrategy values. - */ - @Generated - public static Collection values() { - return values(OptimizationStrategy.class); - } -} 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 index 23cca72c4933..02f80a7ae37c 100644 --- 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 @@ -222,17 +222,17 @@ public String getRunId() { @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeStringField("task_name", this.taskName); + jsonWriter.writeStringField("taskName", this.taskName); jsonWriter.writeMapField("scores", this.scores, (writer, element) -> writer.writeDouble(element)); - jsonWriter.writeDoubleField("composite_score", this.compositeScore); + jsonWriter.writeDoubleField("compositeScore", this.compositeScore); jsonWriter.writeIntField("tokens", this.tokens); - jsonWriter.writeDoubleField("duration_seconds", this.durationSeconds); + jsonWriter.writeDoubleField("durationSeconds", this.durationSeconds); jsonWriter.writeBooleanField("passed", this.passed); jsonWriter.writeStringField("query", this.query); - jsonWriter.writeStringField("error_message", this.errorMessage); + jsonWriter.writeStringField("errorMessage", this.errorMessage); jsonWriter.writeMapField("rationales", this.rationales, (writer, element) -> writer.writeString(element)); jsonWriter.writeStringField("response", this.response); - jsonWriter.writeStringField("run_id", this.runId); + jsonWriter.writeStringField("runId", this.runId); return jsonWriter.writeEndObject(); } @@ -262,27 +262,27 @@ public static OptimizationTaskResult fromJson(JsonReader jsonReader) throws IOEx while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("task_name".equals(fieldName)) { + if ("taskName".equals(fieldName)) { taskName = reader.getString(); } else if ("scores".equals(fieldName)) { scores = reader.readMap(reader1 -> reader1.getDouble()); - } else if ("composite_score".equals(fieldName)) { + } else if ("compositeScore".equals(fieldName)) { compositeScore = reader.getDouble(); } else if ("tokens".equals(fieldName)) { tokens = reader.getInt(); - } else if ("duration_seconds".equals(fieldName)) { + } else if ("durationSeconds".equals(fieldName)) { durationSeconds = reader.getDouble(); } else if ("passed".equals(fieldName)) { passed = reader.getBoolean(); } else if ("query".equals(fieldName)) { query = reader.getString(); - } else if ("error_message".equals(fieldName)) { + } else if ("errorMessage".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)) { + } else if ("runId".equals(fieldName)) { runId = reader.getString(); } else { reader.skipChildren(); diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateRequest.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateRequest.java new file mode 100644 index 000000000000..b3fa9ade7a34 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateRequest.java @@ -0,0 +1,104 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.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 +public final class PromoteCandidateRequest 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 PromoteCandidateRequest class. + * + * @param agentName the agentName value to set. + * @param agentVersion the agentVersion value to set. + */ + @Generated + public PromoteCandidateRequest(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("agentName", this.agentName); + jsonWriter.writeStringField("agentVersion", this.agentVersion); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PromoteCandidateRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PromoteCandidateRequest 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 PromoteCandidateRequest. + */ + @Generated + public static PromoteCandidateRequest 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 ("agentName".equals(fieldName)) { + agentName = reader.getString(); + } else if ("agentVersion".equals(fieldName)) { + agentVersion = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new PromoteCandidateRequest(agentName, agentVersion); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResponse.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResponse.java new file mode 100644 index 000000000000..bf918541e63a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromoteCandidateResponse.java @@ -0,0 +1,178 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.time.Instant; +import java.time.OffsetDateTime; +import java.time.ZoneOffset; + +/** + * Response after successfully promoting a candidate. + */ +@Immutable +public final class PromoteCandidateResponse 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 PromoteCandidateResponse 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 PromoteCandidateResponse(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("candidateId", this.candidateId); + jsonWriter.writeStringField("status", this.status); + jsonWriter.writeLongField("promotedAt", this.promotedAt); + jsonWriter.writeStringField("agentName", this.agentName); + jsonWriter.writeStringField("agentVersion", this.agentVersion); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PromoteCandidateResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PromoteCandidateResponse 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 PromoteCandidateResponse. + */ + @Generated + public static PromoteCandidateResponse 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 ("candidateId".equals(fieldName)) { + candidateId = reader.getString(); + } else if ("status".equals(fieldName)) { + status = reader.getString(); + } else if ("promotedAt".equals(fieldName)) { + promotedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("agentName".equals(fieldName)) { + agentName = reader.getString(); + } else if ("agentVersion".equals(fieldName)) { + agentVersion = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new PromoteCandidateResponse(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 new file mode 100644 index 000000000000..8e842b645b20 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromotionInfo.java @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.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; + +/** + * Promotion metadata recorded when a candidate is deployed to a Foundry agent. + */ +@Immutable +public final class PromotionInfo implements JsonSerializable { + + /* + * Timestamp when promotion occurred, represented in Unix time. + */ + @Generated + private final long promotedAt; + + /* + * Name of the Foundry agent this candidate was promoted to. + */ + @Generated + private final String agentName; + + /* + * Version of the Foundry agent this candidate was promoted to. + */ + @Generated + private final String agentVersion; + + /** + * Creates an instance of PromotionInfo class. + * + * @param promotedAt the promotedAt value to set. + * @param agentName the agentName value to set. + * @param agentVersion the agentVersion value to set. + */ + @Generated + private PromotionInfo(OffsetDateTime promotedAt, String agentName, String agentVersion) { + if (promotedAt == null) { + this.promotedAt = 0L; + } else { + this.promotedAt = promotedAt.toEpochSecond(); + } + this.agentName = agentName; + this.agentVersion = agentVersion; + } + + /** + * 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 this candidate was promoted to. + * + * @return the agentName value. + */ + @Generated + public String getAgentName() { + return this.agentName; + } + + /** + * Get the agentVersion property: Version of the Foundry agent this candidate was 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.writeLongField("promotedAt", this.promotedAt); + jsonWriter.writeStringField("agentName", this.agentName); + jsonWriter.writeStringField("agentVersion", this.agentVersion); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of PromotionInfo from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of PromotionInfo 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 PromotionInfo. + */ + @Generated + public static PromotionInfo fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + OffsetDateTime promotedAt = null; + String agentName = null; + String agentVersion = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("promotedAt".equals(fieldName)) { + promotedAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("agentName".equals(fieldName)) { + agentName = reader.getString(); + } else if ("agentVersion".equals(fieldName)) { + agentVersion = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new PromotionInfo(promotedAt, agentName, agentVersion); + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java index 1061c9e2a476..aca87b1a51dd 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/PromptAgentDefinition.java @@ -43,7 +43,7 @@ public final class PromptAgentDefinition extends AgentDefinition { /* * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while * lower values like 0.2 will make it more focused and deterministic. - * We generally recommend altering this or `top_p` but not both. + * We generally recommend altering this or `top_p` but not both. Defaults to `1`. */ @Generated private Double temperature; @@ -52,9 +52,8 @@ public final class PromptAgentDefinition extends AgentDefinition { * An alternative to sampling with temperature, called nucleus sampling, * where the model considers the results of the tokens with top_p probability * mass. So 0.1 means only the tokens comprising the top 10% probability mass - * are considered. - * - * We generally recommend altering this or `temperature` but not both. + * are considered. We generally recommend altering this or `temperature` but not both. + * Defaults to `1`. */ @Generated private Double topP; @@ -137,7 +136,7 @@ public PromptAgentDefinition setInstructions(String instructions) { /** * Get the temperature property: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make * the output more random, while lower values like 0.2 will make it more focused and deterministic. - * We generally recommend altering this or `top_p` but not both. + * We generally recommend altering this or `top_p` but not both. Defaults to `1`. * * @return the temperature value. */ @@ -149,7 +148,7 @@ public Double getTemperature() { /** * Set the temperature property: What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make * the output more random, while lower values like 0.2 will make it more focused and deterministic. - * We generally recommend altering this or `top_p` but not both. + * We generally recommend altering this or `top_p` but not both. Defaults to `1`. * * @param temperature the temperature value to set. * @return the PromptAgentDefinition object itself. @@ -164,9 +163,8 @@ public PromptAgentDefinition setTemperature(Double temperature) { * Get the topP property: An alternative to sampling with temperature, called nucleus sampling, * where the model considers the results of the tokens with top_p probability * mass. So 0.1 means only the tokens comprising the top 10% probability mass - * are considered. - * - * We generally recommend altering this or `temperature` but not both. + * are considered. We generally recommend altering this or `temperature` but not both. + * Defaults to `1`. * * @return the topP value. */ @@ -179,9 +177,8 @@ public Double getTopP() { * Set the topP property: An alternative to sampling with temperature, called nucleus sampling, * where the model considers the results of the tokens with top_p probability * mass. So 0.1 means only the tokens comprising the top 10% probability mass - * are considered. - * - * We generally recommend altering this or `temperature` but not both. + * are considered. We generally recommend altering this or `temperature` but not both. + * Defaults to `1`. * * @param topP the topP value to set. * @return the PromptAgentDefinition object itself. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java index d72f2a45b49b..8ddadff8876d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/StructuredInputDefinition.java @@ -38,7 +38,7 @@ public final class StructuredInputDefinition implements JsonSerializable schema; /* - * Whether the input property is required when the agent is invoked. + * Whether the input property is required when the agent is invoked. Defaults to `false`. */ @Generated private Boolean required; @@ -105,7 +105,7 @@ public Map getSchema() { } /** - * Get the required property: Whether the input property is required when the agent is invoked. + * Get the required property: Whether the input property is required when the agent is invoked. Defaults to `false`. * * @return the required value. */ @@ -115,7 +115,7 @@ public Boolean isRequired() { } /** - * Set the required property: Whether the input property is required when the agent is invoked. + * Set the required property: Whether the input property is required when the agent is invoked. Defaults to `false`. * * @param required the required value to set. * @return the StructuredInputDefinition object itself. diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkill.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkill.java new file mode 100644 index 000000000000..62eb231c4c8a --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkill.java @@ -0,0 +1,105 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. +package com.azure.ai.agents.models; + +import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A skill source included in a toolbox. + */ +@Immutable +public class ToolboxSkill implements JsonSerializable { + + /* + * The type of skill source. + */ + @Generated + private String type = "ToolboxSkill"; + + /** + * Creates an instance of ToolboxSkill class. + */ + @Generated + public ToolboxSkill() { + } + + /** + * Get the type property: The type of skill source. + * + * @return the type value. + */ + @Generated + public String getType() { + return this.type; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("type", this.type); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolboxSkill from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolboxSkill 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 ToolboxSkill. + */ + @Generated + public static ToolboxSkill 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 ("skill_reference".equals(discriminatorValue)) { + return ToolboxSkillReference.fromJson(readerToUse.reset()); + } else { + return fromJsonKnownDiscriminator(readerToUse.reset()); + } + } + }); + } + + @Generated + static ToolboxSkill fromJsonKnownDiscriminator(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + ToolboxSkill deserializedToolboxSkill = new ToolboxSkill(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + if ("type".equals(fieldName)) { + deserializedToolboxSkill.type = reader.getString(); + } else { + reader.skipChildren(); + } + } + return deserializedToolboxSkill; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.java new file mode 100644 index 000000000000..5fe213b5ca52 --- /dev/null +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxSkillReference.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.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * A reference to an existing skill to include in a toolbox. + */ +@Fluent +public final class ToolboxSkillReference extends ToolboxSkill { + + /* + * The type of skill source. + */ + @Generated + private String type = "skill_reference"; + + /* + * The name of the skill. + */ + @Generated + private final String name; + + /* + * The version of the skill. If not specified, the skill's default version is used. When a version is specified, the + * reference is pinned to that immutable version. + */ + @Generated + private String version; + + /** + * Creates an instance of ToolboxSkillReference class. + * + * @param name the name value to set. + */ + @Generated + public ToolboxSkillReference(String name) { + this.name = name; + } + + /** + * Get the type property: The type of skill source. + * + * @return the type value. + */ + @Generated + @Override + public String getType() { + return this.type; + } + + /** + * Get the name property: The name of the skill. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the version property: The version of the skill. If not specified, the skill's default version is used. When a + * version is specified, the reference is pinned to that immutable version. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Set the version property: The version of the skill. If not specified, the skill's default version is used. When a + * version is specified, the reference is pinned to that immutable version. + * + * @param version the version value to set. + * @return the ToolboxSkillReference object itself. + */ + @Generated + public ToolboxSkillReference 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); + jsonWriter.writeStringField("version", this.version); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of ToolboxSkillReference from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of ToolboxSkillReference 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 ToolboxSkillReference. + */ + @Generated + public static ToolboxSkillReference fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String name = null; + String type = "skill_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 = reader.getString(); + } else if ("version".equals(fieldName)) { + version = reader.getString(); + } else { + reader.skipChildren(); + } + } + ToolboxSkillReference deserializedToolboxSkillReference = new ToolboxSkillReference(name); + deserializedToolboxSkillReference.type = type; + deserializedToolboxSkillReference.version = version; + return deserializedToolboxSkillReference; + }); + } +} diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java index e8a7fce99425..a37a4a059d19 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/ToolboxVersionDetails.java @@ -200,6 +200,7 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeLongField("created_at", this.createdAt); jsonWriter.writeArrayField("tools", this.tools, (writer, element) -> writer.writeJson(element)); jsonWriter.writeStringField("description", this.description); + jsonWriter.writeArrayField("skills", this.skills, (writer, element) -> writer.writeJson(element)); jsonWriter.writeJsonField("policies", this.policies); return jsonWriter.writeEndObject(); } @@ -223,6 +224,7 @@ public static ToolboxVersionDetails fromJson(JsonReader jsonReader) throws IOExc OffsetDateTime createdAt = null; List tools = null; String description = null; + List skills = null; ToolboxPolicies policies = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); @@ -241,6 +243,8 @@ public static ToolboxVersionDetails fromJson(JsonReader jsonReader) throws IOExc tools = reader.readArray(reader1 -> Tool.fromJson(reader1)); } else if ("description".equals(fieldName)) { description = reader.getString(); + } else if ("skills".equals(fieldName)) { + skills = reader.readArray(reader1 -> ToolboxSkill.fromJson(reader1)); } else if ("policies".equals(fieldName)) { policies = ToolboxPolicies.fromJson(reader); } else { @@ -250,8 +254,25 @@ public static ToolboxVersionDetails fromJson(JsonReader jsonReader) throws IOExc ToolboxVersionDetails deserializedToolboxVersionDetails = new ToolboxVersionDetails(metadata, id, name, version, createdAt, tools); deserializedToolboxVersionDetails.description = description; + deserializedToolboxVersionDetails.skills = skills; deserializedToolboxVersionDetails.policies = policies; return deserializedToolboxVersionDetails; }); } + + /* + * The list of skill sources included in this toolbox version. + */ + @Generated + private List skills; + + /** + * Get the skills property: The list of skill sources included in this toolbox version. + * + * @return the skills value. + */ + @Generated + public List getSkills() { + return this.skills; + } } 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 2e1c019f061e..78f87feda774 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":"7bb0a897201d","crossLanguageDefinitions":{"com.azure.ai.agents.AgentSessionFilesAsyncClient":"Azure.AI.Projects.AgentSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.getSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.getSessionFilesWithResponse":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesClient":"Azure.AI.Projects.AgentSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.getSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.getSessionFilesWithResponse":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.AgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","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.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.AgentsAsyncClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","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.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","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.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.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.AgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","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.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsAsyncClient.listOptimizationCandidatesWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","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.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.AgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","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.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.AgentsClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","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.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","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.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.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.AgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","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.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsClient.listOptimizationCandidatesWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","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.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.MemoryStoresAsyncClient":"Azure.AI.Projects.MemoryStores","com.azure.ai.agents.MemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresAsyncClient.deleteMemory":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresAsyncClient.deleteMemoryWithResponse":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.MemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresClient":"Azure.AI.Projects.MemoryStores","com.azure.ai.agents.MemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresClient.deleteMemory":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresClient.deleteMemoryWithResponse":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.MemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.MemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresClient.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.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.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.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","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.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.AgentsPagedResultOptimizationCandidate":"Azure.AI.Projects.AgentsPagedResult","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.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.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.DatasetItem":"Azure.AI.Projects.DatasetItem","com.azure.ai.agents.models.DatasetRef":"Azure.AI.Projects.DatasetRef","com.azure.ai.agents.models.DeleteMemoryResponse":"Azure.AI.Projects.DeleteMemoryResponse","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.EvalRunOutputItemResult":"Azure.AI.Projects.EvalRunOutputItemResult","com.azure.ai.agents.models.EvalRunOutputItemResultStatus":"Azure.AI.Projects.EvalRunOutputItemResultStatus","com.azure.ai.agents.models.EvaluationCriterion":"Azure.AI.Projects.EvaluationCriterion","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.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.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.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.OptimizationAgentSkill":"Azure.AI.Projects.OptimizationAgentSkill","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.OptimizationMode":"Azure.AI.Projects.OptimizationMode","com.azure.ai.agents.models.OptimizationOptions":"Azure.AI.Projects.OptimizationOptions","com.azure.ai.agents.models.OptimizationStrategy":"Azure.AI.Projects.OptimizationStrategy","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.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.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionDirectoryListResponse":"Azure.AI.Projects.SessionDirectoryListResponse","com.azure.ai.agents.models.SessionFileWriteResponse":"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.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.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/AgentSessionFilesAsyncClient.java","src/main/java/com/azure/ai/agents/AgentSessionFilesClient.java","src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/MemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/MemoryStoresClient.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/AgentSessionFilesImpl.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/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MemoryStoresImpl.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/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/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/AgentDefinitionOptInKeys.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/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/AgentsPagedResultOptimizationCandidate.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/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/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/DatasetItem.java","src/main/java/com/azure/ai/agents/models/DatasetRef.java","src/main/java/com/azure/ai/agents/models/DeleteMemoryResponse.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/EvalRunOutputItemResult.java","src/main/java/com/azure/ai/agents/models/EvalRunOutputItemResultStatus.java","src/main/java/com/azure/ai/agents/models/EvaluationCriterion.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/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/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/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/OptimizationAgentSkill.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/OptimizationMode.java","src/main/java/com/azure/ai/agents/models/OptimizationOptions.java","src/main/java/com/azure/ai/agents/models/OptimizationStrategy.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/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/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryListResponse.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResponse.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/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/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":"e22220acbc5b","crossLanguageDefinitions":{"com.azure.ai.agents.AgentSessionFilesAsyncClient":"Azure.AI.Projects.AgentSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.getSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.getSessionFilesWithResponse":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesAsyncClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesAsyncClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesClient":"Azure.AI.Projects.AgentSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.deleteSessionFile":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesClient.deleteSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.deleteSessionFile","com.azure.ai.agents.AgentSessionFilesClient.downloadSessionFile":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.downloadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.downloadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.getSessionFiles":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.getSessionFilesWithResponse":"Azure.AI.Projects.AgentSessionFiles.listSessionFiles","com.azure.ai.agents.AgentSessionFilesClient.uploadSessionFile":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentSessionFilesClient.uploadSessionFileWithResponse":"Azure.AI.Projects.AgentSessionFiles.uploadSessionFile","com.azure.ai.agents.AgentsAsyncClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsAsyncClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.AgentsAsyncClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","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.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.AgentsAsyncClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","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.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsAsyncClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsAsyncClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsAsyncClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","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.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.getCandidateFile":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.AgentsAsyncClient.getCandidateFileWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsAsyncClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsAsyncClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.AgentsAsyncClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","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.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsAsyncClient.listOptimizationCandidatesWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsAsyncClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.AgentsAsyncClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsAsyncClient.promoteCandidate":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.AgentsAsyncClient.promoteCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","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.AgentsClient":"Azure.AI.Projects.Agents","com.azure.ai.agents.AgentsClient.cancelOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.cancel","com.azure.ai.agents.AgentsClient.cancelOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.cancel","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.createOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.create","com.azure.ai.agents.AgentsClient.createOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.create","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.deleteOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsClient.deleteOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.delete","com.azure.ai.agents.AgentsClient.deleteSession":"Azure.AI.Projects.Agents.deleteSession","com.azure.ai.agents.AgentsClient.deleteSessionWithResponse":"Azure.AI.Projects.Agents.deleteSession","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.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.getCandidateFile":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.AgentsClient.getCandidateFileWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateFile","com.azure.ai.agents.AgentsClient.getOptimizationCandidate":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsClient.getOptimizationCandidateConfig":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsClient.getOptimizationCandidateConfigWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateConfig","com.azure.ai.agents.AgentsClient.getOptimizationCandidateResults":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsClient.getOptimizationCandidateResultsWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidateResults","com.azure.ai.agents.AgentsClient.getOptimizationCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.getCandidate","com.azure.ai.agents.AgentsClient.getOptimizationJob":"Azure.AI.Projects.AgentOptimizationJobs.get","com.azure.ai.agents.AgentsClient.getOptimizationJobWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.get","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.listOptimizationCandidates":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsClient.listOptimizationCandidatesWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.listCandidates","com.azure.ai.agents.AgentsClient.listOptimizationJobs":"Azure.AI.Projects.AgentOptimizationJobs.list","com.azure.ai.agents.AgentsClient.listSessions":"Azure.AI.Projects.Agents.listSessions","com.azure.ai.agents.AgentsClient.promoteCandidate":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","com.azure.ai.agents.AgentsClient.promoteCandidateWithResponse":"Azure.AI.Projects.AgentOptimizationJobs.promoteCandidate","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.AgentsClientBuilder":"Azure.AI.Projects","com.azure.ai.agents.MemoryStoresAsyncClient":"Azure.AI.Projects.MemoryStores","com.azure.ai.agents.MemoryStoresAsyncClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresAsyncClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresAsyncClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresAsyncClient.deleteMemory":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresAsyncClient.deleteMemoryWithResponse":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresAsyncClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresAsyncClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresAsyncClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresAsyncClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresAsyncClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.MemoryStoresAsyncClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresAsyncClient.updateMemoryWithResponse":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresClient":"Azure.AI.Projects.MemoryStores","com.azure.ai.agents.MemoryStoresClient.beginInternalUpdateMemories":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresClient.beginInternalUpdateMemoriesWithModel":"Azure.AI.Projects.MemoryStores.updateMemories","com.azure.ai.agents.MemoryStoresClient.createMemory":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresClient.createMemoryStore":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresClient.createMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.createMemoryStore","com.azure.ai.agents.MemoryStoresClient.createMemoryWithResponse":"Azure.AI.Projects.MemoryStores.createMemory","com.azure.ai.agents.MemoryStoresClient.deleteMemory":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresClient.deleteMemoryWithResponse":"Azure.AI.Projects.MemoryStores.deleteMemory","com.azure.ai.agents.MemoryStoresClient.getMemory":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresClient.getMemoryStore":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresClient.getMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.getMemoryStore","com.azure.ai.agents.MemoryStoresClient.getMemoryWithResponse":"Azure.AI.Projects.MemoryStores.getMemory","com.azure.ai.agents.MemoryStoresClient.getUpdateResult":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresClient.getUpdateResultWithResponse":"Azure.AI.Projects.MemoryStores.getUpdateResult","com.azure.ai.agents.MemoryStoresClient.internalSearchMemories":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresClient.internalSearchMemoriesWithResponse":"Azure.AI.Projects.MemoryStores.searchMemories","com.azure.ai.agents.MemoryStoresClient.listMemories":"Azure.AI.Projects.MemoryStores.listMemories","com.azure.ai.agents.MemoryStoresClient.listMemoryStores":"Azure.AI.Projects.MemoryStores.listMemoryStores","com.azure.ai.agents.MemoryStoresClient.updateMemory":"Azure.AI.Projects.MemoryStores.updateMemory","com.azure.ai.agents.MemoryStoresClient.updateMemoryStore":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresClient.updateMemoryStoreWithResponse":"Azure.AI.Projects.MemoryStores.updateMemoryStore","com.azure.ai.agents.MemoryStoresClient.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.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.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.AgentDefinitionOptInKeys":"Azure.AI.Projects.AgentDefinitionOptInKeys","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.AgentsPagedResultOptimizationCandidate":"Azure.AI.Projects.AgentsPagedResult","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.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.DeleteMemoryResponse":"Azure.AI.Projects.DeleteMemoryResponse","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.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","com.azure.ai.agents.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.agents.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.agents.models.FunctionShellToolParameter":"OpenAI.FunctionShellToolParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentContainerReferenceParameter":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.agents.models.FunctionShellToolParameterEnvironmentLocalEnvironmentParameter":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.agents.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.agents.models.GrammarSyntax":"GrammarSyntaxExpandable","com.azure.ai.agents.models.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.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.PromoteCandidateRequest":"Azure.AI.Projects.PromoteCandidateRequest","com.azure.ai.agents.models.PromoteCandidateResponse":"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.SearchContextSize":"SearchContextSizeExpandable","com.azure.ai.agents.models.SessionDirectoryEntry":"Azure.AI.Projects.SessionDirectoryEntry","com.azure.ai.agents.models.SessionDirectoryListResponse":"Azure.AI.Projects.SessionDirectoryListResponse","com.azure.ai.agents.models.SessionFileWriteResponse":"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.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/AgentSessionFilesAsyncClient.java","src/main/java/com/azure/ai/agents/AgentSessionFilesClient.java","src/main/java/com/azure/ai/agents/AgentsAsyncClient.java","src/main/java/com/azure/ai/agents/AgentsClient.java","src/main/java/com/azure/ai/agents/AgentsClientBuilder.java","src/main/java/com/azure/ai/agents/AgentsServiceVersion.java","src/main/java/com/azure/ai/agents/MemoryStoresAsyncClient.java","src/main/java/com/azure/ai/agents/MemoryStoresClient.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/AgentSessionFilesImpl.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/JsonMergePatchHelper.java","src/main/java/com/azure/ai/agents/implementation/MemoryStoresImpl.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/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/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/AgentDefinitionOptInKeys.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/AgentsPagedResultOptimizationCandidate.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/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/DeleteMemoryResponse.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/FoundryFeaturesOptInKeys.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentContainerReferenceParameter.java","src/main/java/com/azure/ai/agents/models/FunctionShellToolParameterEnvironmentLocalEnvironmentParameter.java","src/main/java/com/azure/ai/agents/models/FunctionTool.java","src/main/java/com/azure/ai/agents/models/GrammarSyntax.java","src/main/java/com/azure/ai/agents/models/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/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/PromoteCandidateRequest.java","src/main/java/com/azure/ai/agents/models/PromoteCandidateResponse.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/SearchContextSize.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryEntry.java","src/main/java/com/azure/ai/agents/models/SessionDirectoryListResponse.java","src/main/java/com/azure/ai/agents/models/SessionFileWriteResponse.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/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/tsp-location.yaml b/sdk/ai/azure-ai-agents/tsp-location.yaml index 1afaf42ddd6d..3cd7d6de1551 100644 --- a/sdk/ai/azure-ai-agents/tsp-location.yaml +++ b/sdk/ai/azure-ai-agents/tsp-location.yaml @@ -1,5 +1,5 @@ directory: specification/ai-foundry/data-plane/Foundry/src/sdk-agents -commit: fffba63105aca23bd8123e53f77accd77be08653 +commit: feba0ac13370aee2307833897ebf03de6e72c2ce repo: Azure/azure-rest-api-specs additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents @@ -14,3 +14,4 @@ additionalDirectories: - specification/ai-foundry/data-plane/Foundry/src/agents-session-files - specification/ai-foundry/data-plane/Foundry/src/agents-optimization - specification/ai-foundry/data-plane/Foundry/src/red-teams + - specification/ai-foundry/data-plane/Foundry/src/skills diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java index 413c86636add..9485a2b85d16 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java @@ -6,8 +6,6 @@ import com.azure.ai.agents.models.PageOrder; import com.azure.ai.projects.implementation.DataGenerationJobsImpl; import com.azure.ai.projects.models.DataGenerationJob; -import com.azure.ai.projects.models.DataGenerationJobScenario; -import com.azure.ai.projects.models.DataGenerationJobType; import com.azure.ai.projects.models.FoundryFeaturesOptInKeys; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; @@ -25,8 +23,6 @@ import com.azure.core.http.rest.Response; import com.azure.core.util.BinaryData; import com.azure.core.util.FluxUtil; -import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -75,7 +71,7 @@ public final class DataGenerationJobsAsyncClient { * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -170,10 +166,6 @@ public Mono> getGenerationJobWithResponse(String jobId, Req * defines your place 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. - * scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation". - * typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -197,7 +189,7 @@ public Mono> getGenerationJobWithResponse(String jobId, Req * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -291,7 +283,7 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) { * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -357,7 +349,7 @@ public PagedFlux listGenerationJobs(RequestOptions requestOptions) { * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -452,7 +444,7 @@ public Mono> createGenerationJobWithResponse(BinaryData job * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -607,80 +599,6 @@ public Mono getGenerationJob(String jobId) { .map(protocolMethodData -> protocolMethodData.toObject(DataGenerationJob.class)); } - /** - * Returns a list of data generation jobs - * - * Returns a list of data generation jobs. - * - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @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 scenario Filter data generation jobs by their scenario. - * @param type Filter data generation jobs by their type. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 listGenerationJobs(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, - PageOrder order, String after, String before, DataGenerationJobScenario scenario, - List type) { - // Generated convenience method for listGenerationJobs - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - 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 (scenario != null) { - requestOptions.addQueryParam("scenario", scenario.toString(), false); - } - if (type != null) { - requestOptions.addQueryParam("type", - type.stream() - .map(paramItemValue -> Objects.toString(paramItemValue, "")) - .collect(Collectors.joining(",")), - false); - } - PagedFlux pagedFluxResponse = listGenerationJobs(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(DataGenerationJob.class)) - .collect(Collectors.toList()), - pagedResponse.getContinuationToken(), null)); - }); - } - /** * Returns a list of data generation jobs * @@ -865,4 +783,65 @@ public Mono deleteGenerationJob(String jobId) { RequestOptions requestOptions = new RequestOptions(); return deleteGenerationJobWithResponse(jobId, requestOptions).flatMap(FluxUtil::toMono); } + + /** + * Returns a list of data generation jobs + * + * Returns a list of data generation jobs. + * + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 listGenerationJobs(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, + PageOrder order, String after, String before) { + // Generated convenience method for listGenerationJobs + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + 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 = listGenerationJobs(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(DataGenerationJob.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsClient.java index d27057c09662..a4a1790bfbdd 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/DataGenerationJobsClient.java @@ -6,8 +6,6 @@ import com.azure.ai.agents.models.PageOrder; import com.azure.ai.projects.implementation.DataGenerationJobsImpl; import com.azure.ai.projects.models.DataGenerationJob; -import com.azure.ai.projects.models.DataGenerationJobScenario; -import com.azure.ai.projects.models.DataGenerationJobType; import com.azure.ai.projects.models.FoundryFeaturesOptInKeys; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; @@ -22,9 +20,6 @@ import com.azure.core.http.rest.RequestOptions; import com.azure.core.http.rest.Response; import com.azure.core.util.BinaryData; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; /** * Initializes a new instance of the synchronous AIProjectClient type. @@ -70,7 +65,7 @@ public final class DataGenerationJobsClient { * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -164,10 +159,6 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * defines your place 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. - * scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation". - * typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -191,7 +182,7 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -285,7 +276,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -351,7 +342,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -446,7 +437,7 @@ public Response createGenerationJobWithResponse(BinaryData job, Requ * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -599,69 +590,6 @@ public DataGenerationJob getGenerationJob(String jobId) { return getGenerationJobWithResponse(jobId, requestOptions).getValue().toObject(DataGenerationJob.class); } - /** - * Returns a list of data generation jobs - * - * Returns a list of data generation jobs. - * - * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted - * preview resources. - * @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 scenario Filter data generation jobs by their scenario. - * @param type Filter data generation jobs by their type. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 listGenerationJobs(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, - PageOrder order, String after, String before, DataGenerationJobScenario scenario, - List type) { - // Generated convenience method for listGenerationJobs - RequestOptions requestOptions = new RequestOptions(); - if (foundryFeatures != null) { - requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); - } - 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 (scenario != null) { - requestOptions.addQueryParam("scenario", scenario.toString(), false); - } - if (type != null) { - requestOptions.addQueryParam("type", - type.stream() - .map(paramItemValue -> Objects.toString(paramItemValue, "")) - .collect(Collectors.joining(",")), - false); - } - return serviceClient.listGenerationJobs(requestOptions) - .mapPage(bodyItemValue -> bodyItemValue.toObject(DataGenerationJob.class)); - } - /** * Returns a list of data generation jobs * @@ -831,4 +759,54 @@ public void deleteGenerationJob(String jobId) { RequestOptions requestOptions = new RequestOptions(); deleteGenerationJobWithResponse(jobId, requestOptions).getValue(); } + + /** + * Returns a list of data generation jobs + * + * Returns a list of data generation jobs. + * + * @param foundryFeatures A feature flag opt-in required when using preview operations or modifying persisted + * preview resources. + * @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 listGenerationJobs(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, + PageOrder order, String after, String before) { + // Generated convenience method for listGenerationJobs + RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } + 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.listGenerationJobs(requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(DataGenerationJob.class)); + } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsAsyncClient.java index a22a51b66574..6f320245cd89 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsAsyncClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsAsyncClient.java @@ -385,7 +385,7 @@ public Mono> updateModelVersionWithResponse(String name, St * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -396,9 +396,10 @@ public Mono> updateModelVersionWithResponse(String name, St */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> startModelPendingUploadWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.startModelPendingUploadWithResponseAsync(name, version, body, requestOptions); + public Mono> startModelPendingUploadWithResponse(String name, String version, + BinaryData pendingUploadRequest, RequestOptions requestOptions) { + return this.serviceClient.startModelPendingUploadWithResponseAsync(name, version, pendingUploadRequest, + requestOptions); } /** @@ -432,7 +433,7 @@ public Mono> startModelPendingUploadWithResponse(String nam * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -443,9 +444,10 @@ public Mono> startModelPendingUploadWithResponse(String nam */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getModelCredentialsWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.getModelCredentialsWithResponseAsync(name, version, body, requestOptions); + public Mono> getModelCredentialsWithResponse(String name, String version, + BinaryData credentialRequest, RequestOptions requestOptions) { + return this.serviceClient.getModelCredentialsWithResponseAsync(name, version, credentialRequest, + requestOptions); } /** @@ -588,7 +590,7 @@ public Mono updateModelVersion(String name, String version, Update * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -599,10 +601,11 @@ public Mono updateModelVersion(String name, String version, Update */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getModelCredentials(String name, String version, ModelCredentialRequest body) { + public Mono getModelCredentials(String name, String version, + ModelCredentialRequest credentialRequest) { // Generated convenience method for getModelCredentialsWithResponse RequestOptions requestOptions = new RequestOptions(); - return getModelCredentialsWithResponse(name, version, BinaryData.fromObject(body), requestOptions) + return getModelCredentialsWithResponse(name, version, BinaryData.fromObject(credentialRequest), requestOptions) .flatMap(FluxUtil::toMono) .map(protocolMethodData -> protocolMethodData.toObject(DatasetCredential.class)); } @@ -672,7 +675,7 @@ public Mono getModelCredentials(String name, String version, * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -682,9 +685,9 @@ public Mono getModelCredentials(String name, String version, */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createModelVersionAsyncWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.createModelVersionAsyncWithResponseAsync(name, version, body, requestOptions); + public Mono> createModelVersionAsyncWithResponse(String name, String version, + BinaryData modelVersion, RequestOptions requestOptions) { + return this.serviceClient.createModelVersionAsyncWithResponseAsync(name, version, modelVersion, requestOptions); } /** @@ -693,7 +696,7 @@ public Mono> createModelVersionAsyncWithResponse(String nam * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -704,10 +707,10 @@ public Mono> createModelVersionAsyncWithResponse(String nam */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createModelVersionAsync(String name, String version, ModelVersion body) { + public Mono createModelVersionAsync(String name, String version, ModelVersion modelVersion) { // Generated convenience method for createModelVersionAsyncWithResponse RequestOptions requestOptions = new RequestOptions(); - return createModelVersionAsyncWithResponse(name, version, BinaryData.fromObject(body), requestOptions) + return createModelVersionAsyncWithResponse(name, version, BinaryData.fromObject(modelVersion), requestOptions) .flatMap(FluxUtil::toMono) .map(protocolMethodData -> protocolMethodData.toObject(CreateAsyncResponse.class)); } @@ -717,7 +720,7 @@ public Mono createModelVersionAsync(String name, String ver * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -729,11 +732,11 @@ public Mono createModelVersionAsync(String name, String ver @Generated @ServiceMethod(returns = ReturnType.SINGLE) public Mono startModelPendingUpload(String name, String version, - ModelPendingUploadRequest body) { + ModelPendingUploadRequest pendingUploadRequest) { // Generated convenience method for startModelPendingUploadWithResponse RequestOptions requestOptions = new RequestOptions(); - return startModelPendingUploadWithResponse(name, version, BinaryData.fromObject(body), requestOptions) - .flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(ModelPendingUploadResponse.class)); + return startModelPendingUploadWithResponse(name, version, BinaryData.fromObject(pendingUploadRequest), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(ModelPendingUploadResponse.class)); } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsClient.java index 30851265648b..187f54a5269a 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/ModelsClient.java @@ -377,7 +377,7 @@ public Response updateModelVersionWithResponse(String name, String v * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -387,9 +387,10 @@ public Response updateModelVersionWithResponse(String name, String v */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response startModelPendingUploadWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.startModelPendingUploadWithResponse(name, version, body, requestOptions); + public Response startModelPendingUploadWithResponse(String name, String version, + BinaryData pendingUploadRequest, RequestOptions requestOptions) { + return this.serviceClient.startModelPendingUploadWithResponse(name, version, pendingUploadRequest, + requestOptions); } /** @@ -423,7 +424,7 @@ public Response startModelPendingUploadWithResponse(String name, Str * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -433,9 +434,9 @@ public Response startModelPendingUploadWithResponse(String name, Str */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response getModelCredentialsWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.getModelCredentialsWithResponse(name, version, body, requestOptions); + public Response getModelCredentialsWithResponse(String name, String version, + BinaryData credentialRequest, RequestOptions requestOptions) { + return this.serviceClient.getModelCredentialsWithResponse(name, version, credentialRequest, requestOptions); } /** @@ -554,7 +555,7 @@ public ModelVersion updateModelVersion(String name, String version, UpdateModelV * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -565,10 +566,12 @@ public ModelVersion updateModelVersion(String name, String version, UpdateModelV */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public DatasetCredential getModelCredentials(String name, String version, ModelCredentialRequest body) { + public DatasetCredential getModelCredentials(String name, String version, + ModelCredentialRequest credentialRequest) { // Generated convenience method for getModelCredentialsWithResponse RequestOptions requestOptions = new RequestOptions(); - return getModelCredentialsWithResponse(name, version, BinaryData.fromObject(body), requestOptions).getValue() + return getModelCredentialsWithResponse(name, version, BinaryData.fromObject(credentialRequest), requestOptions) + .getValue() .toObject(DatasetCredential.class); } @@ -637,7 +640,7 @@ public DatasetCredential getModelCredentials(String name, String version, ModelC * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -647,9 +650,9 @@ public DatasetCredential getModelCredentials(String name, String version, ModelC */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response createModelVersionAsyncWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { - return this.serviceClient.createModelVersionAsyncWithResponse(name, version, body, requestOptions); + public Response createModelVersionAsyncWithResponse(String name, String version, + BinaryData modelVersion, RequestOptions requestOptions) { + return this.serviceClient.createModelVersionAsyncWithResponse(name, version, modelVersion, requestOptions); } /** @@ -658,7 +661,7 @@ public Response createModelVersionAsyncWithResponse(String name, Str * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -669,10 +672,10 @@ public Response createModelVersionAsyncWithResponse(String name, Str */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public CreateAsyncResponse createModelVersionAsync(String name, String version, ModelVersion body) { + public CreateAsyncResponse createModelVersionAsync(String name, String version, ModelVersion modelVersion) { // Generated convenience method for createModelVersionAsyncWithResponse RequestOptions requestOptions = new RequestOptions(); - return createModelVersionAsyncWithResponse(name, version, BinaryData.fromObject(body), requestOptions) + return createModelVersionAsyncWithResponse(name, version, BinaryData.fromObject(modelVersion), requestOptions) .getValue() .toObject(CreateAsyncResponse.class); } @@ -682,7 +685,7 @@ public CreateAsyncResponse createModelVersionAsync(String name, String version, * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -694,11 +697,10 @@ public CreateAsyncResponse createModelVersionAsync(String name, String version, @Generated @ServiceMethod(returns = ReturnType.SINGLE) public ModelPendingUploadResponse startModelPendingUpload(String name, String version, - ModelPendingUploadRequest body) { + ModelPendingUploadRequest pendingUploadRequest) { // Generated convenience method for startModelPendingUploadWithResponse RequestOptions requestOptions = new RequestOptions(); - return startModelPendingUploadWithResponse(name, version, BinaryData.fromObject(body), requestOptions) - .getValue() - .toObject(ModelPendingUploadResponse.class); + return startModelPendingUploadWithResponse(name, version, BinaryData.fromObject(pendingUploadRequest), + requestOptions).getValue().toObject(ModelPendingUploadResponse.class); } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsAsyncClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsAsyncClient.java index 84ccf6dc1b37..0eaf238be547 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsAsyncClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsAsyncClient.java @@ -4,10 +4,16 @@ package com.azure.ai.projects; import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.projects.implementation.MultipartFormDataHelper; import com.azure.ai.projects.implementation.SkillsImpl; -import com.azure.ai.projects.implementation.models.CreateSkillRequest; +import com.azure.ai.projects.implementation.models.CreateSkillVersionRequest; import com.azure.ai.projects.implementation.models.UpdateSkillRequest; -import com.azure.ai.projects.models.SkillDetails; +import com.azure.ai.projects.models.CreateSkillVersionFromFilesBody; +import com.azure.ai.projects.models.DeleteSkillVersionResponse; +import com.azure.ai.projects.models.FilesFileDetails; +import com.azure.ai.projects.models.Skill; +import com.azure.ai.projects.models.SkillInlineContent; +import com.azure.ai.projects.models.SkillVersion; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; @@ -23,7 +29,7 @@ import com.azure.core.http.rest.Response; import com.azure.core.util.BinaryData; import com.azure.core.util.FluxUtil; -import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -48,60 +54,95 @@ public final class SkillsAsyncClient { } /** - * Creates a skill. - *

Request Body Schema

+ * Retrieves a skill. + *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
- * + * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill resource along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSkillWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getSkillWithResponseAsync(name, requestOptions); + } + + /** + * Returns the list of all skills. + *

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
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param createSkillRequest The createSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object 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}. */ @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createSkillWithResponse(BinaryData createSkillRequest, - RequestOptions requestOptions) { - return this.serviceClient.createSkillWithResponseAsync(createSkillRequest, requestOptions); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listSkills(RequestOptions requestOptions) { + return this.serviceClient.listSkillsAsync(requestOptions); } /** - * Creates a skill from a zip package. + * Update a skill. *

Request Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     default_version: String (Required)
+     * }
      * }
      * 
* @@ -110,92 +151,275 @@ public Mono> createSkillWithResponse(BinaryData createSkill *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param content The zip package used to create the skill. + * @param name The name of the skill to update. + * @param updateSkillRequest The updateSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a skill resource along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createSkillFromPackageWithResponse(BinaryData content, + public Mono> updateSkillWithResponse(String name, BinaryData updateSkillRequest, RequestOptions requestOptions) { - return this.serviceClient.createSkillFromPackageWithResponseAsync(content, requestOptions); + return this.serviceClient.updateSkillWithResponseAsync(name, updateSkillRequest, requestOptions); + } + + /** + * Deletes a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     deleted: boolean (Required)
+     * }
+     * }
+     * 
+ * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> deleteSkillWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.deleteSkillWithResponseAsync(name, requestOptions); } /** * Retrieves a skill. + * + * @param name The unique name of the skill. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 skill resource on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSkill(String name) { + // Generated convenience method for getSkillWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSkillWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Skill.class)); + } + + /** + * Returns the list of all skills. + * + * @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 listSkills(Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listSkills + RequestOptions requestOptions = new RequestOptions(); + if (limit != null) { + requestOptions.addQueryParam("limit", String.valueOf(limit), false); + } + if (order != null) { + requestOptions.addQueryParam("order", order.toString(), false); + } + if (after != null) { + requestOptions.addQueryParam("after", after, false); + } + if (before != null) { + requestOptions.addQueryParam("before", before, false); + } + PagedFlux pagedFluxResponse = listSkills(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(Skill.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Returns the list of all skills. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 listSkills() { + // Generated convenience method for listSkills + RequestOptions requestOptions = new RequestOptions(); + PagedFlux pagedFluxResponse = listSkills(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(Skill.class)) + .collect(Collectors.toList()), + pagedResponse.getContinuationToken(), null)); + }); + } + + /** + * Deletes a skill. + * + * @param skillName The unique name of the skill. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 the skill is successfully deleted. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono deleteSkill(String skillName) { + // Generated convenience method for deleteSkillWithResponse + RequestOptions requestOptions = new RequestOptions(); + return deleteSkillWithResponse(skillName, requestOptions).then(); + } + + /** + * Creates a new version of a skill. If the skill does not exist, it will be created. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     inline_content (Optional): {
+     *         description: String (Required)
+     *         instructions: String (Required)
+     *         license: String (Optional)
+     *         compatibility: String (Optional)
+     *         metadata (Optional): {
+     *             String: String (Required)
+     *         }
+     *         allowed_tools (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     default: Boolean (Optional)
+     * }
+     * }
+     * 
+ * *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param createSkillVersionRequest The createSkillVersionRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.getSkillWithResponseAsync(name, requestOptions); + public Mono> createSkillVersionWithResponse(String name, BinaryData createSkillVersionRequest, + RequestOptions requestOptions) { + return this.serviceClient.createSkillVersionWithResponseAsync(name, createSkillVersionRequest, requestOptions); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. *

Response Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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 a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> downloadSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.downloadSkillWithResponseAsync(name, requestOptions); + Mono> createSkillVersionFromFilesWithResponse(String name, BinaryData content, + RequestOptions requestOptions) { + // Operation 'createSkillVersionFromFiles' is of content-type 'multipart/form-data'. Protocol API is not usable + // and hence not generated. + return this.serviceClient.createSkillVersionFromFilesWithResponseAsync(name, content, requestOptions); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

* * @@ -221,17 +445,17 @@ public Mono> downloadSkillWithResponse(String name, Request *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -241,209 +465,234 @@ public Mono> downloadSkillWithResponse(String name, Request */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSkills(RequestOptions requestOptions) { - return this.serviceClient.listSkillsAsync(requestOptions); + public PagedFlux listSkillVersions(String name, RequestOptions requestOptions) { + return this.serviceClient.listSkillVersionsAsync(name, requestOptions); } /** - * Updates an existing skill. - *

Request Body Schema

+ * Retrieve a specific version of a skill. + *

Response Body Schema

* *
      * {@code
      * {
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
- * + * + * @param name The name of the skill. + * @param version The version identifier to retrieve. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSkillVersionWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.getSkillVersionWithResponseAsync(name, version, requestOptions); + } + + /** + * Download the zip content for the default version of a skill. *

Response Body Schema

* *
      * {@code
-     * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
-     *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
-     * }
+     * BinaryData
      * }
      * 
* - * @param name The unique name of the skill. - * @param updateSkillRequest The updateSkillRequest parameter. + * @param name The name of the skill. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 skill 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}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSkillWithResponse(String name, BinaryData updateSkillRequest, - RequestOptions requestOptions) { - return this.serviceClient.updateSkillWithResponseAsync(name, updateSkillRequest, requestOptions); + public Mono> getSkillContentWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getSkillContentWithResponseAsync(name, requestOptions); } /** - * Deletes a skill. + * Download the zip content for a specific version of a skill. *

Response Body Schema

* *
      * {@code
-     * {
-     *     name: String (Required)
-     *     deleted: boolean (Required)
-     * }
+     * BinaryData
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version to download content 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 a deleted skill 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}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.deleteSkillWithResponseAsync(name, requestOptions); + public Mono> getSkillVersionContentWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.getSkillVersionContentWithResponseAsync(name, version, requestOptions); } /** - * Creates a skill. - * - * @param name The unique name of the skill. - * @param description A human-readable description of the skill. - * @param instructions Instructions that define the behavior of the skill. - * @param metadata Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. + * Delete a specific version of a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     deleted: boolean (Required)
+     *     version: String (Required)
+     * }
+     * }
+     * 
* - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * @throws IllegalArgumentException thrown if parameters fail the validation. + * @param name The name of the skill. + * @param version The version identifier 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 a skill object on successful completion of {@link Mono}. + * @return a deleted skill version along with {@link Response} on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createSkill(String name, String description, String instructions, - Map metadata) { - // Generated convenience method for createSkillWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateSkillRequest createSkillRequestObj = new CreateSkillRequest(name).setDescription(description) - .setInstructions(instructions) - .setMetadata(metadata); - BinaryData createSkillRequest = BinaryData.fromObject(createSkillRequestObj); - return createSkillWithResponse(createSkillRequest, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + public Mono> deleteSkillVersionWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.deleteSkillVersionWithResponseAsync(name, version, requestOptions); } /** - * Creates a skill. + * Update a skill. * - * @param name The unique name of the skill. + * @param name The name of the skill to update. + * @param defaultVersion The version identifier that the skill should point to. When set, the skill's default + * version will resolve to this version instead of the latest. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object on successful completion of {@link Mono}. + * @return a skill resource on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createSkill(String name) { - // Generated convenience method for createSkillWithResponse + public Mono updateSkill(String name, String defaultVersion) { + // Generated convenience method for updateSkillWithResponse RequestOptions requestOptions = new RequestOptions(); - CreateSkillRequest createSkillRequestObj = new CreateSkillRequest(name); - BinaryData createSkillRequest = BinaryData.fromObject(createSkillRequestObj); - return createSkillWithResponse(createSkillRequest, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + UpdateSkillRequest updateSkillRequestObj = new UpdateSkillRequest(defaultVersion); + BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); + return updateSkillWithResponse(name, updateSkillRequest, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(Skill.class)); } /** - * Creates a skill from a zip package. + * Creates a new version of a skill. If the skill does not exist, it will be created. * - * @param content The zip package used to create the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param inlineContent Inline skill content for simple skills without file uploads. Foundry-specific extension. + * @param defaultParameter Whether to set this version as the default. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object on successful completion of {@link Mono}. + * @return a specific version of a skill on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createSkillFromPackage(BinaryData content) { - // Generated convenience method for createSkillFromPackageWithResponse + public Mono createSkillVersion(String name, SkillInlineContent inlineContent, + Boolean defaultParameter) { + // Generated convenience method for createSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - return createSkillFromPackageWithResponse(content, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + CreateSkillVersionRequest createSkillVersionRequestObj + = new CreateSkillVersionRequest().setInlineContent(inlineContent).setDefaultProperty(defaultParameter); + BinaryData createSkillVersionRequest = BinaryData.fromObject(createSkillVersionRequestObj); + return createSkillVersionWithResponse(name, createSkillVersionRequest, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)); } /** - * Retrieves a skill. + * Creates a new version of a skill. If the skill does not exist, it will be created. * - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object on successful completion of {@link Mono}. + * @return a specific version of a skill on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getSkill(String name) { - // Generated convenience method for getSkillWithResponse + public Mono createSkillVersion(String name) { + // Generated convenience method for createSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - return getSkillWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + CreateSkillVersionRequest createSkillVersionRequestObj = new CreateSkillVersionRequest(); + BinaryData createSkillVersionRequest = BinaryData.fromObject(createSkillVersionRequestObj); + return createSkillVersionWithResponse(name, createSkillVersionRequest, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. * - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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}. + * @return a specific version of a skill on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono downloadSkill(String name) { - // Generated convenience method for downloadSkillWithResponse + public Mono createSkillVersionFromFiles(String name, CreateSkillVersionFromFilesBody content) { + // Generated convenience method for createSkillVersionFromFilesWithResponse RequestOptions requestOptions = new RequestOptions(); - return downloadSkillWithResponse(name, requestOptions).flatMap(FluxUtil::toMono); + return createSkillVersionFromFilesWithResponse(name, + new MultipartFormDataHelper(requestOptions) + .serializeFileFields("files", + content.getFiles().stream().map(FilesFileDetails::getContent).collect(Collectors.toList()), + content.getFiles().stream().map(FilesFileDetails::getContentType).collect(Collectors.toList()), + content.getFiles().stream().map(FilesFileDetails::getFilename).collect(Collectors.toList())) + .serializeTextField("default", Objects.toString(content.isDefaultProperty())) + .end() + .getRequestBody(), + requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)); } /** - * Returns the list of all skills. + * List all versions of a skill. * + * @param name The name of the skill to list versions for. * @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` @@ -464,8 +713,9 @@ public Mono downloadSkill(String name) { */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSkills(Integer limit, PageOrder order, String after, String before) { - // Generated convenience method for listSkills + public PagedFlux listSkillVersions(String name, Integer limit, PageOrder order, String after, + String before) { + // Generated convenience method for listSkillVersions RequestOptions requestOptions = new RequestOptions(); if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); @@ -479,24 +729,26 @@ public PagedFlux listSkills(Integer limit, PageOrder order, String if (before != null) { requestOptions.addQueryParam("before", before, false); } - PagedFlux pagedFluxResponse = listSkills(requestOptions); + PagedFlux pagedFluxResponse = listSkillVersions(name, 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(), + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() .stream() - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)) .collect(Collectors.toList()), pagedResponse.getContinuationToken(), null)); }); } /** - * Returns the list of all skills. + * List all versions of a skill. * + * @param name The name of the skill to list versions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. @@ -506,96 +758,106 @@ public PagedFlux listSkills(Integer limit, PageOrder order, String */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSkills() { - // Generated convenience method for listSkills + public PagedFlux listSkillVersions(String name) { + // Generated convenience method for listSkillVersions RequestOptions requestOptions = new RequestOptions(); - PagedFlux pagedFluxResponse = listSkills(requestOptions); + PagedFlux pagedFluxResponse = listSkillVersions(name, 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(), + return flux.map(pagedResponse -> new PagedResponseBase(pagedResponse.getRequest(), pagedResponse.getStatusCode(), pagedResponse.getHeaders(), pagedResponse.getValue() .stream() - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)) .collect(Collectors.toList()), pagedResponse.getContinuationToken(), null)); }); } /** - * Updates an existing skill. + * Retrieve a specific version of a skill. * - * @param name The unique name of the skill. - * @param description A human-readable description of the skill. - * @param instructions Instructions that define the behavior of the skill. - * @param metadata Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. + * @param name The name of the skill. + * @param version The version identifier to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a specific version of a skill on successful completion of {@link Mono}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono getSkillVersion(String name, String version) { + // Generated convenience method for getSkillVersionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSkillVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(SkillVersion.class)); + } + + /** + * Download the zip content for the default version of a skill. * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. + * @param name The name of the skill. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object on successful completion of {@link Mono}. + * @return the response body on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSkill(String name, String description, String instructions, - Map metadata) { - // Generated convenience method for updateSkillWithResponse + public Mono getSkillContent(String name) { + // Generated convenience method for getSkillContentWithResponse RequestOptions requestOptions = new RequestOptions(); - UpdateSkillRequest updateSkillRequestObj - = new UpdateSkillRequest().setDescription(description).setInstructions(instructions).setMetadata(metadata); - BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); - return updateSkillWithResponse(name, updateSkillRequest, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + return getSkillContentWithResponse(name, requestOptions).flatMap(FluxUtil::toMono); } /** - * Updates an existing skill. + * Download the zip content for a specific version of a skill. * - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version to download content for. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return a skill object on successful completion of {@link Mono}. + * @return the response body on successful completion of {@link Mono}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateSkill(String name) { - // Generated convenience method for updateSkillWithResponse + public Mono getSkillVersionContent(String name, String version) { + // Generated convenience method for getSkillVersionContentWithResponse RequestOptions requestOptions = new RequestOptions(); - UpdateSkillRequest updateSkillRequestObj = new UpdateSkillRequest(); - BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); - return updateSkillWithResponse(name, updateSkillRequest, requestOptions).flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(SkillDetails.class)); + return getSkillVersionContentWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono); } /** - * Deletes a skill. + * Delete a specific version of a skill. * - * @param skillName The unique name of the skill. + * @param name The name of the skill. + * @param version The version identifier to delete. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return a {@link Mono} that completes when the skill is successfully deleted. + * @return a deleted skill version on successful completion of {@link Mono}. */ + @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono deleteSkill(String skillName) { - // Generated convenience method for deleteSkillWithResponse + public Mono deleteSkillVersion(String name, String version) { + // Generated convenience method for deleteSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - return deleteSkillWithResponse(skillName, requestOptions).then(); + return deleteSkillVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono) + .map(protocolMethodData -> protocolMethodData.toObject(DeleteSkillVersionResponse.class)); } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsClient.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsClient.java index 4967c08d03d0..1a798378f933 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsClient.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/SkillsClient.java @@ -4,10 +4,16 @@ package com.azure.ai.projects; import com.azure.ai.agents.models.PageOrder; +import com.azure.ai.projects.implementation.MultipartFormDataHelper; import com.azure.ai.projects.implementation.SkillsImpl; -import com.azure.ai.projects.implementation.models.CreateSkillRequest; +import com.azure.ai.projects.implementation.models.CreateSkillVersionRequest; import com.azure.ai.projects.implementation.models.UpdateSkillRequest; -import com.azure.ai.projects.models.SkillDetails; +import com.azure.ai.projects.models.CreateSkillVersionFromFilesBody; +import com.azure.ai.projects.models.DeleteSkillVersionResponse; +import com.azure.ai.projects.models.FilesFileDetails; +import com.azure.ai.projects.models.Skill; +import com.azure.ai.projects.models.SkillInlineContent; +import com.azure.ai.projects.models.SkillVersion; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; import com.azure.core.annotation.ServiceClient; @@ -20,7 +26,8 @@ import com.azure.core.http.rest.RequestOptions; import com.azure.core.http.rest.Response; import com.azure.core.util.BinaryData; -import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * Initializes a new instance of the synchronous AIProjectClient type. @@ -42,59 +49,95 @@ public final class SkillsClient { } /** - * Creates a skill. - *

Request Body Schema

+ * Retrieves a skill. + *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
- * + * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill resource along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSkillWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getSkillWithResponse(name, requestOptions); + } + + /** + * Returns the list of all skills. + *

Query Parameters

+ *
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
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param createSkillRequest The createSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response}. + * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. */ @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Response createSkillWithResponse(BinaryData createSkillRequest, RequestOptions requestOptions) { - return this.serviceClient.createSkillWithResponse(createSkillRequest, requestOptions); + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedIterable listSkills(RequestOptions requestOptions) { + return this.serviceClient.listSkills(requestOptions); } /** - * Creates a skill from a zip package. + * Update a skill. *

Request Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     default_version: String (Required)
+     * }
      * }
      * 
* @@ -103,91 +146,249 @@ public Response createSkillWithResponse(BinaryData createSkillReques *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param content The zip package used to create the skill. + * @param name The name of the skill to update. + * @param updateSkillRequest The updateSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response}. + * @return a skill resource along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response createSkillFromPackageWithResponse(BinaryData content, RequestOptions requestOptions) { - return this.serviceClient.createSkillFromPackageWithResponse(content, requestOptions); + public Response updateSkillWithResponse(String name, BinaryData updateSkillRequest, + RequestOptions requestOptions) { + return this.serviceClient.updateSkillWithResponse(name, updateSkillRequest, requestOptions); + } + + /** + * Deletes a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     deleted: boolean (Required)
+     * }
+     * }
+     * 
+ * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response deleteSkillWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.deleteSkillWithResponse(name, requestOptions); } /** * Retrieves a skill. + * + * @param name The unique name of the skill. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 skill resource. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Skill getSkill(String name) { + // Generated convenience method for getSkillWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSkillWithResponse(name, requestOptions).getValue().toObject(Skill.class); + } + + /** + * Returns the list of all skills. + * + * @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 listSkills(Integer limit, PageOrder order, String after, String before) { + // Generated convenience method for listSkills + 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.listSkills(requestOptions).mapPage(bodyItemValue -> bodyItemValue.toObject(Skill.class)); + } + + /** + * Returns the list of all skills. + * + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the 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 listSkills() { + // Generated convenience method for listSkills + RequestOptions requestOptions = new RequestOptions(); + return serviceClient.listSkills(requestOptions).mapPage(bodyItemValue -> bodyItemValue.toObject(Skill.class)); + } + + /** + * Deletes a skill. + * + * @param skillName The unique name of the skill. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public void deleteSkill(String skillName) { + // Generated convenience method for deleteSkillWithResponse + RequestOptions requestOptions = new RequestOptions(); + deleteSkillWithResponse(skillName, requestOptions); + } + + /** + * Creates a new version of a skill. If the skill does not exist, it will be created. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     inline_content (Optional): {
+     *         description: String (Required)
+     *         instructions: String (Required)
+     *         license: String (Optional)
+     *         compatibility: String (Optional)
+     *         metadata (Optional): {
+     *             String: String (Required)
+     *         }
+     *         allowed_tools (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     default: Boolean (Optional)
+     * }
+     * }
+     * 
+ * *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param createSkillVersionRequest The createSkillVersionRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response}. + * @return a specific version of a skill along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.getSkillWithResponse(name, requestOptions); + public Response createSkillVersionWithResponse(String name, BinaryData createSkillVersionRequest, + RequestOptions requestOptions) { + return this.serviceClient.createSkillVersionWithResponse(name, createSkillVersionRequest, requestOptions); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. *

Response Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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 a specific version of a skill along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response downloadSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.downloadSkillWithResponse(name, requestOptions); + Response createSkillVersionFromFilesWithResponse(String name, BinaryData content, + RequestOptions requestOptions) { + // Operation 'createSkillVersionFromFiles' is of content-type 'multipart/form-data'. Protocol API is not usable + // and hence not generated. + return this.serviceClient.createSkillVersionFromFilesWithResponse(name, content, requestOptions); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

* * @@ -213,17 +414,17 @@ public Response downloadSkillWithResponse(String name, RequestOption *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -233,205 +434,231 @@ public Response downloadSkillWithResponse(String name, RequestOption */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSkills(RequestOptions requestOptions) { - return this.serviceClient.listSkills(requestOptions); + public PagedIterable listSkillVersions(String name, RequestOptions requestOptions) { + return this.serviceClient.listSkillVersions(name, requestOptions); } /** - * Updates an existing skill. - *

Request Body Schema

+ * Retrieve a specific version of a skill. + *

Response Body Schema

* *
      * {@code
      * {
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
- * + * + * @param name The name of the skill. + * @param version The version identifier to retrieve. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return a specific version of a skill along with {@link Response}. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSkillVersionWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.getSkillVersionWithResponse(name, version, requestOptions); + } + + /** + * Download the zip content for the default version of a skill. *

Response Body Schema

* *
      * {@code
-     * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
-     *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
-     * }
+     * BinaryData
      * }
      * 
* - * @param name The unique name of the skill. - * @param updateSkillRequest The updateSkillRequest parameter. + * @param name The name of the skill. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 skill object along with {@link Response}. + * @return the response body along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateSkillWithResponse(String name, BinaryData updateSkillRequest, - RequestOptions requestOptions) { - return this.serviceClient.updateSkillWithResponse(name, updateSkillRequest, requestOptions); + public Response getSkillContentWithResponse(String name, RequestOptions requestOptions) { + return this.serviceClient.getSkillContentWithResponse(name, requestOptions); } /** - * Deletes a skill. + * Download the zip content for a specific version of a skill. *

Response Body Schema

* *
      * {@code
-     * {
-     *     name: String (Required)
-     *     deleted: boolean (Required)
-     * }
+     * BinaryData
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version to download content 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 a deleted skill Object along with {@link Response}. + * @return the response body along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteSkillWithResponse(String name, RequestOptions requestOptions) { - return this.serviceClient.deleteSkillWithResponse(name, requestOptions); + public Response getSkillVersionContentWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.getSkillVersionContentWithResponse(name, version, requestOptions); } /** - * Creates a skill. - * - * @param name The unique name of the skill. - * @param description A human-readable description of the skill. - * @param instructions Instructions that define the behavior of the skill. - * @param metadata Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. + * Delete a specific version of a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     deleted: boolean (Required)
+     *     version: String (Required)
+     * }
+     * }
+     * 
* - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * @throws IllegalArgumentException thrown if parameters fail the validation. + * @param name The name of the skill. + * @param version The version identifier 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 a skill object. + * @return a deleted skill version along with {@link Response}. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails createSkill(String name, String description, String instructions, - Map metadata) { - // Generated convenience method for createSkillWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateSkillRequest createSkillRequestObj = new CreateSkillRequest(name).setDescription(description) - .setInstructions(instructions) - .setMetadata(metadata); - BinaryData createSkillRequest = BinaryData.fromObject(createSkillRequestObj); - return createSkillWithResponse(createSkillRequest, requestOptions).getValue().toObject(SkillDetails.class); + public Response deleteSkillVersionWithResponse(String name, String version, + RequestOptions requestOptions) { + return this.serviceClient.deleteSkillVersionWithResponse(name, version, requestOptions); } /** - * Creates a skill. + * Update a skill. * - * @param name The unique name of the skill. + * @param name The name of the skill to update. + * @param defaultVersion The version identifier that the skill should point to. When set, the skill's default + * version will resolve to this version instead of the latest. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object. + * @return a skill resource. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails createSkill(String name) { - // Generated convenience method for createSkillWithResponse + public Skill updateSkill(String name, String defaultVersion) { + // Generated convenience method for updateSkillWithResponse RequestOptions requestOptions = new RequestOptions(); - CreateSkillRequest createSkillRequestObj = new CreateSkillRequest(name); - BinaryData createSkillRequest = BinaryData.fromObject(createSkillRequestObj); - return createSkillWithResponse(createSkillRequest, requestOptions).getValue().toObject(SkillDetails.class); + UpdateSkillRequest updateSkillRequestObj = new UpdateSkillRequest(defaultVersion); + BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); + return updateSkillWithResponse(name, updateSkillRequest, requestOptions).getValue().toObject(Skill.class); } /** - * Creates a skill from a zip package. + * Creates a new version of a skill. If the skill does not exist, it will be created. * - * @param content The zip package used to create the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param inlineContent Inline skill content for simple skills without file uploads. Foundry-specific extension. + * @param defaultParameter Whether to set this version as the default. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object. + * @return a specific version of a skill. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails createSkillFromPackage(BinaryData content) { - // Generated convenience method for createSkillFromPackageWithResponse + public SkillVersion createSkillVersion(String name, SkillInlineContent inlineContent, Boolean defaultParameter) { + // Generated convenience method for createSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - return createSkillFromPackageWithResponse(content, requestOptions).getValue().toObject(SkillDetails.class); + CreateSkillVersionRequest createSkillVersionRequestObj + = new CreateSkillVersionRequest().setInlineContent(inlineContent).setDefaultProperty(defaultParameter); + BinaryData createSkillVersionRequest = BinaryData.fromObject(createSkillVersionRequestObj); + return createSkillVersionWithResponse(name, createSkillVersionRequest, requestOptions).getValue() + .toObject(SkillVersion.class); } /** - * Retrieves a skill. + * Creates a new version of a skill. If the skill does not exist, it will be created. * - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object. + * @return a specific version of a skill. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails getSkill(String name) { - // Generated convenience method for getSkillWithResponse + public SkillVersion createSkillVersion(String name) { + // Generated convenience method for createSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - return getSkillWithResponse(name, requestOptions).getValue().toObject(SkillDetails.class); + CreateSkillVersionRequest createSkillVersionRequestObj = new CreateSkillVersionRequest(); + BinaryData createSkillVersionRequest = BinaryData.fromObject(createSkillVersionRequestObj); + return createSkillVersionWithResponse(name, createSkillVersionRequest, requestOptions).getValue() + .toObject(SkillVersion.class); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. * - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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. + * @return a specific version of a skill. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public BinaryData downloadSkill(String name) { - // Generated convenience method for downloadSkillWithResponse + public SkillVersion createSkillVersionFromFiles(String name, CreateSkillVersionFromFilesBody content) { + // Generated convenience method for createSkillVersionFromFilesWithResponse RequestOptions requestOptions = new RequestOptions(); - return downloadSkillWithResponse(name, requestOptions).getValue(); + return createSkillVersionFromFilesWithResponse(name, + new MultipartFormDataHelper(requestOptions) + .serializeFileFields("files", + content.getFiles().stream().map(FilesFileDetails::getContent).collect(Collectors.toList()), + content.getFiles().stream().map(FilesFileDetails::getContentType).collect(Collectors.toList()), + content.getFiles().stream().map(FilesFileDetails::getFilename).collect(Collectors.toList())) + .serializeTextField("default", Objects.toString(content.isDefaultProperty())) + .end() + .getRequestBody(), + requestOptions).getValue().toObject(SkillVersion.class); } /** - * Returns the list of all skills. + * List all versions of a skill. * + * @param name The name of the skill to list versions for. * @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` @@ -452,8 +679,9 @@ public BinaryData downloadSkill(String name) { */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSkills(Integer limit, PageOrder order, String after, String before) { - // Generated convenience method for listSkills + public PagedIterable listSkillVersions(String name, Integer limit, PageOrder order, String after, + String before) { + // Generated convenience method for listSkillVersions RequestOptions requestOptions = new RequestOptions(); if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); @@ -467,13 +695,15 @@ public PagedIterable listSkills(Integer limit, PageOrder order, St if (before != null) { requestOptions.addQueryParam("before", before, false); } - return serviceClient.listSkills(requestOptions) - .mapPage(bodyItemValue -> bodyItemValue.toObject(SkillDetails.class)); + return serviceClient.listSkillVersions(name, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(SkillVersion.class)); } /** - * Returns the list of all skills. + * List all versions of a skill. * + * @param name The name of the skill to list versions for. + * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. @@ -483,84 +713,94 @@ public PagedIterable listSkills(Integer limit, PageOrder order, St */ @Generated @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSkills() { - // Generated convenience method for listSkills + public PagedIterable listSkillVersions(String name) { + // Generated convenience method for listSkillVersions RequestOptions requestOptions = new RequestOptions(); - return serviceClient.listSkills(requestOptions) - .mapPage(bodyItemValue -> bodyItemValue.toObject(SkillDetails.class)); + return serviceClient.listSkillVersions(name, requestOptions) + .mapPage(bodyItemValue -> bodyItemValue.toObject(SkillVersion.class)); } /** - * Updates an existing skill. + * Retrieve a specific version of a skill. * - * @param name The unique name of the skill. - * @param description A human-readable description of the skill. - * @param instructions Instructions that define the behavior of the skill. - * @param metadata Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. + * @param name The name of the skill. + * @param version The version identifier to retrieve. + * @throws IllegalArgumentException thrown if parameters fail the validation. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a specific version of a skill. + */ + @Generated + @ServiceMethod(returns = ReturnType.SINGLE) + public SkillVersion getSkillVersion(String name, String version) { + // Generated convenience method for getSkillVersionWithResponse + RequestOptions requestOptions = new RequestOptions(); + return getSkillVersionWithResponse(name, version, requestOptions).getValue().toObject(SkillVersion.class); + } + + /** + * Download the zip content for the default version of a skill. * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. + * @param name The name of the skill. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the 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 skill object. + * @return the response. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails updateSkill(String name, String description, String instructions, - Map metadata) { - // Generated convenience method for updateSkillWithResponse + public BinaryData getSkillContent(String name) { + // Generated convenience method for getSkillContentWithResponse RequestOptions requestOptions = new RequestOptions(); - UpdateSkillRequest updateSkillRequestObj - = new UpdateSkillRequest().setDescription(description).setInstructions(instructions).setMetadata(metadata); - BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); - return updateSkillWithResponse(name, updateSkillRequest, requestOptions).getValue() - .toObject(SkillDetails.class); + return getSkillContentWithResponse(name, requestOptions).getValue(); } /** - * Updates an existing skill. + * Download the zip content for a specific version of a skill. * - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version to download content for. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. - * @return a skill object. + * @return the response. */ @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public SkillDetails updateSkill(String name) { - // Generated convenience method for updateSkillWithResponse + public BinaryData getSkillVersionContent(String name, String version) { + // Generated convenience method for getSkillVersionContentWithResponse RequestOptions requestOptions = new RequestOptions(); - UpdateSkillRequest updateSkillRequestObj = new UpdateSkillRequest(); - BinaryData updateSkillRequest = BinaryData.fromObject(updateSkillRequestObj); - return updateSkillWithResponse(name, updateSkillRequest, requestOptions).getValue() - .toObject(SkillDetails.class); + return getSkillVersionContentWithResponse(name, version, requestOptions).getValue(); } /** - * Deletes a skill. + * Delete a specific version of a skill. * - * @param skillName The unique name of the skill. + * @param name The name of the skill. + * @param version The version identifier to delete. * @throws IllegalArgumentException thrown if parameters fail the validation. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. + * @return a deleted skill version. */ + @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public void deleteSkill(String skillName) { - // Generated convenience method for deleteSkillWithResponse + public DeleteSkillVersionResponse deleteSkillVersion(String name, String version) { + // Generated convenience method for deleteSkillVersionWithResponse RequestOptions requestOptions = new RequestOptions(); - deleteSkillWithResponse(skillName, requestOptions); + return deleteSkillVersionWithResponse(name, version, requestOptions).getValue() + .toObject(DeleteSkillVersionResponse.class); } } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.java index 2c85017e5ef1..f8a5101d14af 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.java @@ -206,7 +206,7 @@ Response deleteGenerationJobSync(@HostParam("endpoint") String endpoint, @ * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -305,7 +305,7 @@ public Mono> getGenerationJobWithResponseAsync(String jobId * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -400,10 +400,6 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * defines your place 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
scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation".
typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string.
* You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -427,7 +423,7 @@ public Response getGenerationJobWithResponse(String jobId, RequestOp * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -523,10 +519,6 @@ private Mono> listGenerationJobsSinglePageAsync(Reques * defines your place 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. - * scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation". - * typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -550,7 +542,7 @@ private Mono> listGenerationJobsSinglePageAsync(Reques * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -640,10 +632,6 @@ public PagedFlux listGenerationJobsAsync(RequestOptions requestOptio * defines your place 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. - * scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation". - * typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -667,7 +655,7 @@ public PagedFlux listGenerationJobsAsync(RequestOptions requestOptio * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -761,10 +749,6 @@ private PagedResponse listGenerationJobsSinglePage(RequestOptions re * defines your place 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. - * scenarioStringNoFilter data generation jobs by their scenario. Allowed values: - * "supervised_finetuning", "reinforcement_finetuning", "evaluation". - * typeList<String>NoFilter data generation jobs by their type. In the form - * of "," separated string. * * You can add these to a request with {@link RequestOptions#addQueryParam} *

Header Parameters

@@ -788,7 +772,7 @@ private PagedResponse listGenerationJobsSinglePage(RequestOptions re * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -881,7 +865,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -947,7 +931,7 @@ public PagedIterable listGenerationJobs(RequestOptions requestOption * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -1045,7 +1029,7 @@ public Mono> createGenerationJobWithResponseAsync(BinaryDat * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -1111,7 +1095,7 @@ public Mono> createGenerationJobWithResponseAsync(BinaryDat * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -1208,7 +1192,7 @@ public Response createGenerationJobWithResponse(BinaryData job, Requ * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] @@ -1305,7 +1289,7 @@ public Mono> cancelGenerationJobWithResponseAsync(String jo * name: String (Required) * sources (Required): [ * (Required){ - * type: String(prompt/agent/traces/dataset/file) (Required) + * type: String(prompt/agent/traces/file) (Required) * description: String (Optional) * } * ] diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java index fe64981f308a..1ad4ed120286 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java @@ -199,7 +199,7 @@ Mono> createModelVersionAsync(@HostParam("endpoint") String @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData modelVersion, RequestOptions requestOptions, Context context); @Post("/models/{name}/versions/{version}/createAsync") @ExpectedResponses({ 202 }) @@ -211,7 +211,7 @@ Response createModelVersionAsyncSync(@HostParam("endpoint") String e @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData modelVersion, RequestOptions requestOptions, Context context); @Post("/models/{name}/versions/{version}/startPendingUpload") @ExpectedResponses({ 200 }) @@ -223,7 +223,8 @@ Mono> startModelPendingUpload(@HostParam("endpoint") String @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData pendingUploadRequest, RequestOptions requestOptions, + Context context); @Post("/models/{name}/versions/{version}/startPendingUpload") @ExpectedResponses({ 200 }) @@ -235,7 +236,8 @@ Response startModelPendingUploadSync(@HostParam("endpoint") String e @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData pendingUploadRequest, RequestOptions requestOptions, + Context context); @Post("/models/{name}/versions/{version}/credentials") @ExpectedResponses({ 200 }) @@ -247,7 +249,8 @@ Mono> getModelCredentials(@HostParam("endpoint") String end @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData credentialRequest, RequestOptions requestOptions, + Context context); @Post("/models/{name}/versions/{version}/credentials") @ExpectedResponses({ 200 }) @@ -259,7 +262,8 @@ Response getModelCredentialsSync(@HostParam("endpoint") String endpo @QueryParam("api-version") String apiVersion, @HeaderParam("Foundry-Features") String foundryFeatures, @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData body, RequestOptions requestOptions, Context context); + @BodyParam("application/json") BinaryData credentialRequest, RequestOptions requestOptions, + Context context); @Get("{nextLink}") @ExpectedResponses({ 200 }) @@ -1270,7 +1274,7 @@ public Response updateModelVersionWithResponse(String name, String v * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -1280,13 +1284,13 @@ public Response updateModelVersionWithResponse(String name, String v */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> createModelVersionAsyncWithResponseAsync(String name, String version, - BinaryData body, RequestOptions requestOptions) { + BinaryData modelVersion, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return FluxUtil.withContext(context -> service.createModelVersionAsync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, body, - requestOptions, context)); + this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, + modelVersion, requestOptions, context)); } /** @@ -1354,7 +1358,7 @@ public Mono> createModelVersionAsyncWithResponseAsync(Strin * * @param name Name of the model. * @param version Version of the model. - * @param body Model version to create. + * @param modelVersion Model version 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. @@ -1363,14 +1367,14 @@ public Mono> createModelVersionAsyncWithResponseAsync(Strin * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createModelVersionAsyncWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { + public Response createModelVersionAsyncWithResponse(String name, String version, + BinaryData modelVersion, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return service.createModelVersionAsyncSync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, body, - requestOptions, Context.NONE); + this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, + modelVersion, requestOptions, Context.NONE); } /** @@ -1409,7 +1413,7 @@ public Response createModelVersionAsyncWithResponse(String name, Str * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -1420,13 +1424,13 @@ public Response createModelVersionAsyncWithResponse(String name, Str */ @ServiceMethod(returns = ReturnType.SINGLE) public Mono> startModelPendingUploadWithResponseAsync(String name, String version, - BinaryData body, RequestOptions requestOptions) { + BinaryData pendingUploadRequest, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return FluxUtil.withContext(context -> service.startModelPendingUpload(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, body, - requestOptions, context)); + this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, + pendingUploadRequest, requestOptions, context)); } /** @@ -1465,7 +1469,7 @@ public Mono> startModelPendingUploadWithResponseAsync(Strin * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param pendingUploadRequest The pendingUploadRequest 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. @@ -1474,14 +1478,14 @@ public Mono> startModelPendingUploadWithResponseAsync(Strin * @return represents the response for a model pending upload request along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response startModelPendingUploadWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { + public Response startModelPendingUploadWithResponse(String name, String version, + BinaryData pendingUploadRequest, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return service.startModelPendingUploadSync(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, body, - requestOptions, Context.NONE); + this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, + pendingUploadRequest, requestOptions, Context.NONE); } /** @@ -1515,7 +1519,7 @@ public Response startModelPendingUploadWithResponse(String name, Str * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -1525,14 +1529,14 @@ public Response startModelPendingUploadWithResponse(String name, Str * {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getModelCredentialsWithResponseAsync(String name, String version, BinaryData body, - RequestOptions requestOptions) { + public Mono> getModelCredentialsWithResponseAsync(String name, String version, + BinaryData credentialRequest, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return FluxUtil.withContext(context -> service.getModelCredentials(this.client.getEndpoint(), - this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, body, - requestOptions, context)); + this.client.getServiceVersion().getVersion(), foundryFeatures, name, version, contentType, accept, + credentialRequest, requestOptions, context)); } /** @@ -1566,7 +1570,7 @@ public Mono> getModelCredentialsWithResponseAsync(String na * * @param name Name of the model. * @param version Version of the model. - * @param body The body parameter. + * @param credentialRequest The credentialRequest 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. @@ -1575,13 +1579,13 @@ public Mono> getModelCredentialsWithResponseAsync(String na * @return credentials for a model version asset along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getModelCredentialsWithResponse(String name, String version, BinaryData body, - RequestOptions requestOptions) { + public Response getModelCredentialsWithResponse(String name, String version, + BinaryData credentialRequest, RequestOptions requestOptions) { final String foundryFeatures = "Models=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; return service.getModelCredentialsSync(this.client.getEndpoint(), this.client.getServiceVersion().getVersion(), - foundryFeatures, name, version, contentType, accept, body, requestOptions, Context.NONE); + foundryFeatures, name, version, contentType, accept, credentialRequest, requestOptions, Context.NONE); } /** diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java new file mode 100644 index 000000000000..222b687fd761 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java @@ -0,0 +1,209 @@ +// 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.implementation; + +import com.azure.core.http.HttpHeaderName; +import com.azure.core.http.rest.RequestOptions; +import com.azure.core.util.BinaryData; +import com.azure.core.util.CoreUtils; +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.SequenceInputStream; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.List; +import java.util.UUID; + +// DO NOT modify this helper class + +public final class MultipartFormDataHelper { + /** + * Line separator for the multipart HTTP request. + */ + private static final String CRLF = "\r\n"; + + private static final String APPLICATION_OCTET_STREAM = "application/octet-stream"; + + /** + * Value to be used as part of the divider for the multipart requests. + */ + private final String boundary; + + /** + * The actual part separator in the request. This is obtained by prepending "--" to the "boundary". + */ + private final String partSeparator; + + /** + * The marker for the ending of a multipart request. This is obtained by post-pending "--" to the "partSeparator". + */ + private final String endMarker; + + /** + * Charset used for encoding the multipart HTTP request. + */ + private final Charset encoderCharset = StandardCharsets.UTF_8; + + private InputStream requestDataStream = new ByteArrayInputStream(new byte[0]); + private long requestLength = 0; + + private RequestOptions requestOptions; + private BinaryData requestBody; + + /** + * Default constructor used in the code. The boundary is a random value. + * + * @param requestOptions the RequestOptions to update + */ + public MultipartFormDataHelper(RequestOptions requestOptions) { + this(requestOptions, UUID.randomUUID().toString().substring(0, 16)); + } + + private MultipartFormDataHelper(RequestOptions requestOptions, String boundary) { + this.requestOptions = requestOptions; + this.boundary = boundary; + this.partSeparator = "--" + boundary; + this.endMarker = this.partSeparator + "--"; + } + + /** + * Gets the multipart HTTP request body. + * + * @return the BinaryData of the multipart HTTP request body + */ + public BinaryData getRequestBody() { + return requestBody; + } + + // text/plain + /** + * Formats a text/plain field for a multipart HTTP request. + * + * @param fieldName the field name + * @param value the value of the text/plain field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeTextField(String fieldName, String value) { + if (value != null) { + String serialized = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + + "\"" + CRLF + CRLF + value + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + // application/json + /** + * Formats a application/json field for a multipart HTTP request. + * + * @param fieldName the field name + * @param jsonObject the object of the application/json field + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeJsonField(String fieldName, Object jsonObject) { + if (jsonObject != null) { + String serialized + = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + "\"" + CRLF + + "Content-Type: application/json" + CRLF + CRLF + BinaryData.fromObject(jsonObject) + CRLF; + byte[] data = serialized.getBytes(encoderCharset); + appendBytes(data); + } + return this; + } + + /** + * Formats a file field for a multipart HTTP request. + * + * @param fieldName the field name + * @param file the BinaryData of the file + * @param contentType the content-type of the file + * @param filename the filename + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileField(String fieldName, BinaryData file, String contentType, + String filename) { + if (file != null) { + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + writeFileField(fieldName, file, contentType, filename); + } + return this; + } + + /** + * Formats a file field (potentially multiple files) for a multipart HTTP request. + * + * @param fieldName the field name + * @param files the List of BinaryData of the files + * @param contentTypes the List of content-type of the files + * @param filenames the List of filenames + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper serializeFileFields(String fieldName, List files, + List contentTypes, List filenames) { + if (files != null) { + for (int i = 0; i < files.size(); ++i) { + BinaryData file = files.get(i); + String contentType = contentTypes.get(i); + if (CoreUtils.isNullOrEmpty(contentType)) { + contentType = APPLICATION_OCTET_STREAM; + } + String filename = filenames.get(i); + writeFileField(fieldName, file, contentType, filename); + } + } + return this; + } + + /** + * Ends the serialization of the multipart HTTP request. + * + * @return the MultipartFormDataHelper instance + */ + public MultipartFormDataHelper end() { + byte[] data = endMarker.getBytes(encoderCharset); + appendBytes(data); + + requestBody = BinaryData.fromStream(requestDataStream, requestLength); + + requestOptions.setHeader(HttpHeaderName.CONTENT_TYPE, "multipart/form-data; boundary=" + this.boundary) + .setHeader(HttpHeaderName.CONTENT_LENGTH, String.valueOf(requestLength)); + + return this; + } + + private void writeFileField(String fieldName, BinaryData file, String contentType, String filename) { + String contentDispositionFilename = ""; + if (!CoreUtils.isNullOrEmpty(filename)) { + contentDispositionFilename = "; filename=\"" + escapeName(filename) + "\""; + } + + // Multipart preamble + String fileFieldPreamble + = partSeparator + CRLF + "Content-Disposition: form-data; name=\"" + escapeName(fieldName) + "\"" + + contentDispositionFilename + CRLF + "Content-Type: " + contentType + CRLF + CRLF; + byte[] data = fileFieldPreamble.getBytes(encoderCharset); + appendBytes(data); + + // Writing the file into the request as a byte stream + requestLength += file.getLength(); + requestDataStream = new SequenceInputStream(requestDataStream, file.toStream()); + + // CRLF + data = CRLF.getBytes(encoderCharset); + appendBytes(data); + } + + private void appendBytes(byte[] bytes) { + requestLength += bytes.length; + requestDataStream = new SequenceInputStream(requestDataStream, new ByteArrayInputStream(bytes)); + } + + private static String escapeName(String name) { + return name.replace("\n", "%0A").replace("\r", "%0D").replace("\"", "%22"); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/SkillsImpl.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/SkillsImpl.java index dd5644109558..ef0ba6f9d698 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/SkillsImpl.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/SkillsImpl.java @@ -78,170 +78,532 @@ public AIProjectsServiceVersion getServiceVersion() { @Host("{endpoint}") @ServiceInterface(name = "AIProjectClientSkills") public interface SkillsService { - @Post("/skills") - @ExpectedResponses({ 201 }) + @Get("/skills/{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> createSkill(@HostParam("endpoint") String endpoint, + Mono> getSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData createSkillRequest, RequestOptions requestOptions, - Context context); + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Post("/skills") - @ExpectedResponses({ 201 }) + @Get("/skills/{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 createSkillSync(@HostParam("endpoint") String endpoint, + Response getSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData createSkillRequest, RequestOptions requestOptions, - Context context); + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Post("/skills:import") - @ExpectedResponses({ 201 }) + @Get("/skills") + @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> createSkillFromPackage(@HostParam("endpoint") String endpoint, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Foundry-Features") String foundryFeatures, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - @BodyParam("application/zip") BinaryData content, RequestOptions requestOptions, Context context); + Mono> listSkills(@HostParam("endpoint") String endpoint, + @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Post("/skills:import") - @ExpectedResponses({ 201 }) + @Get("/skills") + @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @UnexpectedResponseExceptionType(HttpResponseException.class) - Response createSkillFromPackageSync(@HostParam("endpoint") String endpoint, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Foundry-Features") String foundryFeatures, - @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, - @BodyParam("application/zip") BinaryData content, RequestOptions requestOptions, Context context); + Response listSkillsSync(@HostParam("endpoint") String endpoint, + @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Get("/skills/{name}") + @Post("/skills/{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> getSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Mono> updateSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData updateSkillRequest, RequestOptions requestOptions, + Context context); - @Get("/skills/{name}") + @Post("/skills/{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 getSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Response updateSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); + @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, + @BodyParam("application/json") BinaryData updateSkillRequest, RequestOptions requestOptions, + Context context); - @Get("/skills/{name}:download") + @Delete("/skills/{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> downloadSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Mono> deleteSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Get("/skills/{name}:download") + @Delete("/skills/{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 downloadSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Response deleteSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Get("/skills") + @Post("/skills/{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> listSkills(@HostParam("endpoint") String endpoint, + Mono> createSkillVersion(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData createSkillVersionRequest, + RequestOptions requestOptions, Context context); + + @Post("/skills/{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 createSkillVersionSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Content-Type") String contentType, + @HeaderParam("Accept") String accept, @BodyParam("application/json") BinaryData createSkillVersionRequest, + RequestOptions requestOptions, Context context); + + // @Multipart not supported by RestProxy + @Post("/skills/{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> createSkillVersionFromFiles(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("content-type") String contentType, + @HeaderParam("Foundry-Features") String foundryFeatures, @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("/skills/{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 createSkillVersionFromFilesSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("content-type") String contentType, + @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, + @HeaderParam("Accept") String accept, @BodyParam("multipart/form-data") BinaryData content, + RequestOptions requestOptions, Context context); + + @Get("/skills/{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> listSkillVersions(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/skills/{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 listSkillVersionsSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/skills/{name}/versions/{version}") + @ExpectedResponses({ 200 }) + @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) + @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) + @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) + @UnexpectedResponseExceptionType(HttpResponseException.class) + Mono> getSkillVersion(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Get("/skills") + @Get("/skills/{name}/versions/{version}") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @UnexpectedResponseExceptionType(HttpResponseException.class) - Response listSkillsSync(@HostParam("endpoint") String endpoint, + Response getSkillVersionSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/skills/{name}/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> getSkillContent(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, + @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, + RequestOptions requestOptions, Context context); + + @Get("/skills/{name}/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 getSkillContentSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Post("/skills/{name}") + @Get("/skills/{name}/versions/{version}/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> updateSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Mono> getSkillVersionContent(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData updateSkillRequest, RequestOptions requestOptions, - Context context); + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Post("/skills/{name}") + @Get("/skills/{name}/versions/{version}/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 updateSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Response getSkillVersionContentSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, - @HeaderParam("Content-Type") String contentType, @HeaderParam("Accept") String accept, - @BodyParam("application/json") BinaryData updateSkillRequest, RequestOptions requestOptions, - Context context); + @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Delete("/skills/{name}") + @Delete("/skills/{name}/versions/{version}") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @UnexpectedResponseExceptionType(HttpResponseException.class) - Mono> deleteSkill(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Mono> deleteSkillVersion(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); - @Delete("/skills/{name}") + @Delete("/skills/{name}/versions/{version}") @ExpectedResponses({ 200 }) @UnexpectedResponseExceptionType(value = ClientAuthenticationException.class, code = { 401 }) @UnexpectedResponseExceptionType(value = ResourceNotFoundException.class, code = { 404 }) @UnexpectedResponseExceptionType(value = ResourceModifiedException.class, code = { 409 }) @UnexpectedResponseExceptionType(HttpResponseException.class) - Response deleteSkillSync(@HostParam("endpoint") String endpoint, @PathParam("name") String name, + Response deleteSkillVersionSync(@HostParam("endpoint") String endpoint, + @PathParam("name") String name, @PathParam("version") String version, @HeaderParam("Foundry-Features") String foundryFeatures, @QueryParam("api-version") String apiVersion, @HeaderParam("Accept") String accept, RequestOptions requestOptions, Context context); } /** - * Creates a skill. + * Retrieves a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
+     * }
+     * }
+     * 
+ * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill resource along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSkillWithResponseAsync(String name, RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSkill(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Retrieves a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
+     * }
+     * }
+     * 
+ * + * @param name The unique name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the 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 skill resource along with {@link Response}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Response getSkillWithResponse(String name, RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/json"; + return service.getSkillSync(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Returns the list of all skills. + *

Query Parameters

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

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (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> listSkillsSinglePageAsync(RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/json"; + return FluxUtil + .withContext(context -> service.listSkills(this.client.getEndpoint(), foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) + .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null)); + } + + /** + * Returns the list of all skills. + *

Query Parameters

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

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (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}. + */ + @ServiceMethod(returns = ReturnType.COLLECTION) + public PagedFlux listSkillsAsync(RequestOptions requestOptions) { + return new PagedFlux<>(() -> listSkillsSinglePageAsync(requestOptions)); + } + + /** + * Returns the list of all skills. + *

Query Parameters

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

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (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}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + private PagedResponse listSkillsSinglePage(RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/json"; + Response res = service.listSkillsSync(this.client.getEndpoint(), foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), + getValues(res.getValue(), "data"), null, null); + } + + /** + * Returns the list of all skills. + *

Query Parameters

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

Response Body Schema

+ * + *
+     * {@code
+     * {
+     *     id: String (Required)
+     *     name: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (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 listSkills(RequestOptions requestOptions) { + return new PagedIterable<>(() -> listSkillsSinglePage(requestOptions)); + } + + /** + * Update a skill. *

Request Body Schema

* *
      * {@code
      * {
-     *     name: String (Required)
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     default_version: String (Required)
      * }
      * }
      * 
@@ -251,49 +613,44 @@ Response deleteSkillSync(@HostParam("endpoint") String endpoint, @Pa *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param createSkillRequest The createSkillRequest parameter. + * @param name The name of the skill to update. + * @param updateSkillRequest The updateSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a skill resource along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createSkillWithResponseAsync(BinaryData createSkillRequest, + public Mono> updateSkillWithResponseAsync(String name, BinaryData updateSkillRequest, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createSkill(this.client.getEndpoint(), foundryFeatures, - this.client.getServiceVersion().getVersion(), contentType, accept, createSkillRequest, requestOptions, + return FluxUtil.withContext(context -> service.updateSkill(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), contentType, accept, updateSkillRequest, requestOptions, context)); } /** - * Creates a skill. + * Update a skill. *

Request Body Schema

* *
      * {@code
      * {
-     *     name: String (Required)
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     default_version: String (Required)
      * }
      * }
      * 
@@ -303,248 +660,289 @@ public Mono> createSkillWithResponseAsync(BinaryData create *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     description: String (Required)
+     *     created_at: long (Required)
+     *     default_version: String (Required)
+     *     latest_version: String (Required)
      * }
      * }
      * 
* - * @param createSkillRequest The createSkillRequest parameter. + * @param name The name of the skill to update. + * @param updateSkillRequest The updateSkillRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response}. + * @return a skill resource along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createSkillWithResponse(BinaryData createSkillRequest, RequestOptions requestOptions) { + public Response updateSkillWithResponse(String name, BinaryData updateSkillRequest, + RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String contentType = "application/json"; final String accept = "application/json"; - return service.createSkillSync(this.client.getEndpoint(), foundryFeatures, - this.client.getServiceVersion().getVersion(), contentType, accept, createSkillRequest, requestOptions, + return service.updateSkillSync(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), contentType, accept, updateSkillRequest, requestOptions, Context.NONE); } /** - * Creates a skill from a zip package. - *

Request Body Schema

- * - *
-     * {@code
-     * BinaryData
-     * }
-     * 
- * + * Deletes a skill. *

Response Body Schema

* *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     deleted: boolean (Required)
      * }
      * }
      * 
* - * @param content The zip package used to create the skill. + * @param name The unique name of the skill. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a deleted skill along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> createSkillFromPackageWithResponseAsync(BinaryData content, - RequestOptions requestOptions) { - final String contentType = "application/zip"; + public Mono> deleteSkillWithResponseAsync(String name, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.createSkillFromPackage(this.client.getEndpoint(), contentType, - foundryFeatures, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, context)); + return FluxUtil.withContext(context -> service.deleteSkill(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * Creates a skill from a zip package. - *

Request Body Schema

- * - *
-     * {@code
-     * BinaryData
-     * }
-     * 
- * + * Deletes a skill. *

Response Body Schema

* *
      * {@code
      * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
+     *     id: String (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     deleted: boolean (Required)
      * }
      * }
      * 
* - * @param content The zip package used to create the skill. + * @param name The unique name of the skill. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the 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 skill object along with {@link Response}. + * @return a deleted skill along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response createSkillFromPackageWithResponse(BinaryData content, RequestOptions requestOptions) { - final String contentType = "application/zip"; + public Response deleteSkillWithResponse(String name, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; - return service.createSkillFromPackageSync(this.client.getEndpoint(), contentType, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); + return service.deleteSkillSync(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * Retrieves a skill. + * Creates a new version of a skill. If the skill does not exist, it will be created. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     inline_content (Optional): {
+     *         description: String (Required)
+     *         instructions: String (Required)
+     *         license: String (Optional)
+     *         compatibility: String (Optional)
+     *         metadata (Optional): {
+     *             String: String (Required)
+     *         }
+     *         allowed_tools (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     default: Boolean (Optional)
+     * }
+     * }
+     * 
+ * *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param createSkillVersionRequest The createSkillVersionRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> getSkillWithResponseAsync(String name, RequestOptions requestOptions) { + public Mono> createSkillVersionWithResponseAsync(String name, + BinaryData createSkillVersionRequest, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; + final String contentType = "application/json"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.getSkill(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + return FluxUtil.withContext(context -> service.createSkillVersion(this.client.getEndpoint(), name, + foundryFeatures, this.client.getServiceVersion().getVersion(), contentType, accept, + createSkillVersionRequest, requestOptions, context)); } /** - * Retrieves a skill. + * Creates a new version of a skill. If the skill does not exist, it will be created. + *

Request Body Schema

+ * + *
+     * {@code
+     * {
+     *     inline_content (Optional): {
+     *         description: String (Required)
+     *         instructions: String (Required)
+     *         license: String (Optional)
+     *         compatibility: String (Optional)
+     *         metadata (Optional): {
+     *             String: String (Required)
+     *         }
+     *         allowed_tools (Optional): [
+     *             String (Optional)
+     *         ]
+     *     }
+     *     default: Boolean (Optional)
+     * }
+     * }
+     * 
+ * *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. If the skill does not exist, it will be created. + * @param createSkillVersionRequest The createSkillVersionRequest parameter. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response}. + * @return a specific version of a skill along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response getSkillWithResponse(String name, RequestOptions requestOptions) { + public Response createSkillVersionWithResponse(String name, BinaryData createSkillVersionRequest, + RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; + final String contentType = "application/json"; final String accept = "application/json"; - return service.getSkillSync(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + return service.createSkillVersionSync(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), contentType, accept, createSkillVersionRequest, + requestOptions, Context.NONE); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. *

Response Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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 a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> downloadSkillWithResponseAsync(String name, RequestOptions requestOptions) { + public Mono> createSkillVersionFromFilesWithResponseAsync(String name, BinaryData content, + RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; final String foundryFeatures = "Skills=V1Preview"; - final String accept = "application/zip"; - return FluxUtil.withContext(context -> service.downloadSkill(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.createSkillVersionFromFiles(this.client.getEndpoint(), name, + contentType, foundryFeatures, this.client.getServiceVersion().getVersion(), accept, content, requestOptions, + context)); } /** - * Downloads a skill package as a ZIP archive containing {@code SKILL.md}. Returns the original uploaded archive for - * skills created via {@code createSkillFromPackage}; materializes a ZIP from stored instructions for skills created - * via {@code createSkill}. + * Creates a new version of a skill from uploaded files via multipart form data. *

Response Body Schema

* *
      * {@code
-     * BinaryData
+     * {
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
+     * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @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 a specific version of a skill along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response downloadSkillWithResponse(String name, RequestOptions requestOptions) { + public Response createSkillVersionFromFilesWithResponse(String name, BinaryData content, + RequestOptions requestOptions) { + final String contentType = "multipart/form-data"; final String foundryFeatures = "Skills=V1Preview"; - final String accept = "application/zip"; - return service.downloadSkillSync(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + final String accept = "application/json"; + return service.createSkillVersionFromFilesSync(this.client.getEndpoint(), name, contentType, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, content, requestOptions, Context.NONE); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

* * @@ -570,17 +968,17 @@ public Response downloadSkillWithResponse(String name, RequestOption *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -590,18 +988,19 @@ public Response downloadSkillWithResponse(String name, RequestOption * of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private Mono> listSkillsSinglePageAsync(RequestOptions requestOptions) { + private Mono> listSkillVersionsSinglePageAsync(String name, + RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; return FluxUtil - .withContext(context -> service.listSkills(this.client.getEndpoint(), foundryFeatures, + .withContext(context -> service.listSkillVersions(this.client.getEndpoint(), name, foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)) .map(res -> new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), getValues(res.getValue(), "data"), null, null)); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

*
Query Parameters
* @@ -627,17 +1026,17 @@ private Mono> listSkillsSinglePageAsync(RequestOptions *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -646,12 +1045,12 @@ private Mono> listSkillsSinglePageAsync(RequestOptions * @return the response data for a requested list of items as paginated response with {@link PagedFlux}. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedFlux listSkillsAsync(RequestOptions requestOptions) { - return new PagedFlux<>(() -> listSkillsSinglePageAsync(requestOptions)); + public PagedFlux listSkillVersionsAsync(String name, RequestOptions requestOptions) { + return new PagedFlux<>(() -> listSkillVersionsSinglePageAsync(name, requestOptions)); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

*
Query Parameters
* @@ -677,17 +1076,17 @@ public PagedFlux listSkillsAsync(RequestOptions requestOptions) { *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -696,17 +1095,17 @@ public PagedFlux listSkillsAsync(RequestOptions requestOptions) { * @return the response data for a requested list of items along with {@link PagedResponse}. */ @ServiceMethod(returns = ReturnType.SINGLE) - private PagedResponse listSkillsSinglePage(RequestOptions requestOptions) { + private PagedResponse listSkillVersionsSinglePage(String name, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; - Response res = service.listSkillsSync(this.client.getEndpoint(), foundryFeatures, + Response res = service.listSkillVersionsSync(this.client.getEndpoint(), name, foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); return new PagedResponseBase<>(res.getRequest(), res.getStatusCode(), res.getHeaders(), getValues(res.getValue(), "data"), null, null); } /** - * Returns the list of all skills. + * List all versions of a skill. *

Query Parameters

*
Query Parameters
* @@ -732,17 +1131,17 @@ private PagedResponse listSkillsSinglePage(RequestOptions requestOpt *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill to list 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. @@ -751,169 +1150,251 @@ private PagedResponse listSkillsSinglePage(RequestOptions requestOpt * @return the response data for a requested list of items as paginated response with {@link PagedIterable}. */ @ServiceMethod(returns = ReturnType.COLLECTION) - public PagedIterable listSkills(RequestOptions requestOptions) { - return new PagedIterable<>(() -> listSkillsSinglePage(requestOptions)); + public PagedIterable listSkillVersions(String name, RequestOptions requestOptions) { + return new PagedIterable<>(() -> listSkillVersionsSinglePage(name, requestOptions)); } /** - * Updates an existing skill. - *

Request Body Schema

+ * Retrieve a specific version of a skill. + *

Response Body Schema

* *
      * {@code
      * {
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     id: String (Required)
+     *     skill_id: String (Required)
+     *     name: String (Required)
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* + * @param name The name of the skill. + * @param version The version identifier to retrieve. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. + * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. + * @return a specific version of a skill along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSkillVersionWithResponseAsync(String name, String version, + RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/json"; + return FluxUtil.withContext(context -> service.getSkillVersion(this.client.getEndpoint(), name, version, + foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Retrieve a specific version of a skill. *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
      *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     *     version: String (Required)
+     *     description: String (Required)
+     *     created_at: long (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. - * @param updateSkillRequest The updateSkillRequest parameter. + * @param name The name of the skill. + * @param version The version identifier to retrieve. * @param requestOptions The options to configure the HTTP request before HTTP client sends it. * @throws HttpResponseException thrown if the request is rejected by server. * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. * @throws ResourceModifiedException thrown if the request is rejected by server on status code 409. - * @return a skill object along with {@link Response} on successful completion of {@link Mono}. + * @return a specific version of a skill along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> updateSkillWithResponseAsync(String name, BinaryData updateSkillRequest, + public Response getSkillVersionWithResponse(String name, String version, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; - final String contentType = "application/json"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.updateSkill(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), contentType, accept, updateSkillRequest, requestOptions, - context)); + return service.getSkillVersionSync(this.client.getEndpoint(), name, version, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * Updates an existing skill. - *

Request Body Schema

+ * Download the zip content for the default version of a skill. + *

Response Body Schema

* *
      * {@code
-     * {
-     *     description: String (Optional)
-     *     instructions: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     * BinaryData
      * }
+     * 
+ * + * @param name The name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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> getSkillContentWithResponseAsync(String name, RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/zip"; + return FluxUtil.withContext(context -> service.getSkillContent(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Download the zip content for the default version of a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
      * }
      * 
* + * @param name The name of the skill. + * @param requestOptions The options to configure the HTTP request before HTTP client sends it. + * @throws HttpResponseException thrown if the request is rejected by server. + * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. + * @throws ResourceNotFoundException thrown if the request 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 getSkillContentWithResponse(String name, RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/zip"; + return service.getSkillContentSync(this.client.getEndpoint(), name, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); + } + + /** + * Download the zip content for a specific version of a skill. *

Response Body Schema

* *
      * {@code
-     * {
-     *     skill_id: String (Required)
-     *     has_blob: boolean (Required)
-     *     name: String (Required)
-     *     description: String (Optional)
-     *     metadata (Optional): {
-     *         String: String (Required)
-     *     }
+     * BinaryData
      * }
+     * 
+ * + * @param name The name of the skill. + * @param version The version to download content 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 body along with {@link Response} on successful completion of {@link Mono}. + */ + @ServiceMethod(returns = ReturnType.SINGLE) + public Mono> getSkillVersionContentWithResponseAsync(String name, String version, + RequestOptions requestOptions) { + final String foundryFeatures = "Skills=V1Preview"; + final String accept = "application/zip"; + return FluxUtil.withContext(context -> service.getSkillVersionContent(this.client.getEndpoint(), name, version, + foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + } + + /** + * Download the zip content for a specific version of a skill. + *

Response Body Schema

+ * + *
+     * {@code
+     * BinaryData
      * }
      * 
* - * @param name The unique name of the skill. - * @param updateSkillRequest The updateSkillRequest parameter. + * @param name The name of the skill. + * @param version The version to download content 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 a skill object along with {@link Response}. + * @return the response body along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response updateSkillWithResponse(String name, BinaryData updateSkillRequest, + public Response getSkillVersionContentWithResponse(String name, String version, RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; - final String contentType = "application/json"; - final String accept = "application/json"; - return service.updateSkillSync(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), contentType, accept, updateSkillRequest, requestOptions, - Context.NONE); + final String accept = "application/zip"; + return service.getSkillVersionContentSync(this.client.getEndpoint(), name, version, foundryFeatures, + this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } /** - * Deletes a skill. + * Delete a specific version of a skill. *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     name: String (Required)
      *     deleted: boolean (Required)
+     *     version: String (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version identifier 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 skill Object along with {@link Response} on successful completion of {@link Mono}. + * @return a deleted skill version along with {@link Response} on successful completion of {@link Mono}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Mono> deleteSkillWithResponseAsync(String name, RequestOptions requestOptions) { + public Mono> deleteSkillVersionWithResponseAsync(String name, String version, + RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; - return FluxUtil.withContext(context -> service.deleteSkill(this.client.getEndpoint(), name, foundryFeatures, - this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); + return FluxUtil.withContext(context -> service.deleteSkillVersion(this.client.getEndpoint(), name, version, + foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, context)); } /** - * Deletes a skill. + * Delete a specific version of a skill. *

Response Body Schema

* *
      * {@code
      * {
+     *     id: String (Required)
      *     name: String (Required)
      *     deleted: boolean (Required)
+     *     version: String (Required)
      * }
      * }
      * 
* - * @param name The unique name of the skill. + * @param name The name of the skill. + * @param version The version identifier 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 skill Object along with {@link Response}. + * @return a deleted skill version along with {@link Response}. */ @ServiceMethod(returns = ReturnType.SINGLE) - public Response deleteSkillWithResponse(String name, RequestOptions requestOptions) { + public Response deleteSkillVersionWithResponse(String name, String version, + RequestOptions requestOptions) { final String foundryFeatures = "Skills=V1Preview"; final String accept = "application/json"; - return service.deleteSkillSync(this.client.getEndpoint(), name, foundryFeatures, + return service.deleteSkillVersionSync(this.client.getEndpoint(), name, version, foundryFeatures, this.client.getServiceVersion().getVersion(), accept, requestOptions, Context.NONE); } diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillRequest.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillRequest.java deleted file mode 100644 index 9e6235dff4c1..000000000000 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillRequest.java +++ /dev/null @@ -1,198 +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.implementation.models; - -import com.azure.core.annotation.Fluent; -import com.azure.core.annotation.Generated; -import com.azure.json.JsonReader; -import com.azure.json.JsonSerializable; -import com.azure.json.JsonToken; -import com.azure.json.JsonWriter; -import java.io.IOException; -import java.util.Map; - -/** - * The CreateSkillRequest model. - */ -@Fluent -public final class CreateSkillRequest implements JsonSerializable { - - /* - * The unique name of the skill. - */ - @Generated - private final String name; - - /* - * A human-readable description of the skill. - */ - @Generated - private String description; - - /* - * Instructions that define the behavior of the skill. - */ - @Generated - private String instructions; - - /* - * Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - */ - @Generated - private Map metadata; - - /** - * Creates an instance of CreateSkillRequest class. - * - * @param name the name value to set. - */ - @Generated - public CreateSkillRequest(String name) { - this.name = name; - } - - /** - * Get the name property: The unique name of the skill. - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the description property: A human-readable description of the skill. - * - * @return the description value. - */ - @Generated - public String getDescription() { - return this.description; - } - - /** - * Set the description property: A human-readable description of the skill. - * - * @param description the description value to set. - * @return the CreateSkillRequest object itself. - */ - @Generated - public CreateSkillRequest setDescription(String description) { - this.description = description; - return this; - } - - /** - * Get the instructions property: Instructions that define the behavior of the skill. - * - * @return the instructions value. - */ - @Generated - public String getInstructions() { - return this.instructions; - } - - /** - * Set the instructions property: Instructions that define the behavior of the skill. - * - * @param instructions the instructions value to set. - * @return the CreateSkillRequest object itself. - */ - @Generated - public CreateSkillRequest setInstructions(String instructions) { - this.instructions = instructions; - return this; - } - - /** - * Get the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * - * @return the metadata value. - */ - @Generated - public Map getMetadata() { - return this.metadata; - } - - /** - * Set the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * - * @param metadata the metadata value to set. - * @return the CreateSkillRequest object itself. - */ - @Generated - public CreateSkillRequest setMetadata(Map metadata) { - this.metadata = metadata; - return this; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeStringField("description", this.description); - jsonWriter.writeStringField("instructions", this.instructions); - jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of CreateSkillRequest from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of CreateSkillRequest 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 CreateSkillRequest. - */ - @Generated - public static CreateSkillRequest fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String name = null; - String description = null; - String instructions = null; - Map metadata = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("description".equals(fieldName)) { - description = reader.getString(); - } else if ("instructions".equals(fieldName)) { - instructions = reader.getString(); - } else if ("metadata".equals(fieldName)) { - metadata = reader.readMap(reader1 -> reader1.getString()); - } else { - reader.skipChildren(); - } - } - CreateSkillRequest deserializedCreateSkillRequest = new CreateSkillRequest(name); - deserializedCreateSkillRequest.description = description; - deserializedCreateSkillRequest.instructions = instructions; - deserializedCreateSkillRequest.metadata = metadata; - return deserializedCreateSkillRequest; - }); - } -} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java new file mode 100644 index 000000000000..04078f553950 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/CreateSkillVersionRequest.java @@ -0,0 +1,126 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.projects.implementation.models; + +import com.azure.ai.projects.models.SkillInlineContent; +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; + +/** + * The CreateSkillVersionRequest model. + */ +@Fluent +public final class CreateSkillVersionRequest implements JsonSerializable { + /* + * Inline skill content for simple skills without file uploads. Foundry-specific extension. + */ + @Generated + private SkillInlineContent inlineContent; + + /* + * Whether to set this version as the default. + */ + @Generated + private Boolean defaultProperty; + + /** + * Creates an instance of CreateSkillVersionRequest class. + */ + @Generated + public CreateSkillVersionRequest() { + } + + /** + * Get the inlineContent property: Inline skill content for simple skills without file uploads. Foundry-specific + * extension. + * + * @return the inlineContent value. + */ + @Generated + public SkillInlineContent getInlineContent() { + return this.inlineContent; + } + + /** + * Set the inlineContent property: Inline skill content for simple skills without file uploads. Foundry-specific + * extension. + * + * @param inlineContent the inlineContent value to set. + * @return the CreateSkillVersionRequest object itself. + */ + @Generated + public CreateSkillVersionRequest setInlineContent(SkillInlineContent inlineContent) { + this.inlineContent = inlineContent; + return this; + } + + /** + * Get the defaultProperty property: Whether to set this version as the default. + * + * @return the defaultProperty value. + */ + @Generated + public Boolean isDefaultProperty() { + return this.defaultProperty; + } + + /** + * Set the defaultProperty property: Whether to set this version as the default. + * + * @param defaultProperty the defaultProperty value to set. + * @return the CreateSkillVersionRequest object itself. + */ + @Generated + public CreateSkillVersionRequest setDefaultProperty(Boolean defaultProperty) { + this.defaultProperty = defaultProperty; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeJsonField("inline_content", this.inlineContent); + jsonWriter.writeBooleanField("default", this.defaultProperty); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of CreateSkillVersionRequest from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of CreateSkillVersionRequest 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 CreateSkillVersionRequest. + */ + @Generated + public static CreateSkillVersionRequest fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + CreateSkillVersionRequest deserializedCreateSkillVersionRequest = new CreateSkillVersionRequest(); + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("inline_content".equals(fieldName)) { + deserializedCreateSkillVersionRequest.inlineContent = SkillInlineContent.fromJson(reader); + } else if ("default".equals(fieldName)) { + deserializedCreateSkillVersionRequest.defaultProperty = reader.getNullable(JsonReader::getBoolean); + } else { + reader.skipChildren(); + } + } + + return deserializedCreateSkillVersionRequest; + }); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java index 851a212a14b3..82c8c2673157 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/implementation/models/UpdateSkillRequest.java @@ -3,127 +3,20 @@ // Code generated by Microsoft (R) TypeSpec Code Generator. package com.azure.ai.projects.implementation.models; -import com.azure.core.annotation.Fluent; import com.azure.core.annotation.Generated; +import com.azure.core.annotation.Immutable; import com.azure.json.JsonReader; import com.azure.json.JsonSerializable; import com.azure.json.JsonToken; import com.azure.json.JsonWriter; import java.io.IOException; -import java.util.Map; /** * The UpdateSkillRequest model. */ -@Fluent +@Immutable public final class UpdateSkillRequest implements JsonSerializable { - /* - * A human-readable description of the skill. - */ - @Generated - private String description; - - /* - * Instructions that define the behavior of the skill. - */ - @Generated - private String instructions; - - /* - * Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - */ - @Generated - private Map metadata; - - /** - * Creates an instance of UpdateSkillRequest class. - */ - @Generated - public UpdateSkillRequest() { - } - - /** - * Get the description property: A human-readable description of the skill. - * - * @return the description value. - */ - @Generated - public String getDescription() { - return this.description; - } - - /** - * Set the description property: A human-readable description of the skill. - * - * @param description the description value to set. - * @return the UpdateSkillRequest object itself. - */ - @Generated - public UpdateSkillRequest setDescription(String description) { - this.description = description; - return this; - } - - /** - * Get the instructions property: Instructions that define the behavior of the skill. - * - * @return the instructions value. - */ - @Generated - public String getInstructions() { - return this.instructions; - } - - /** - * Set the instructions property: Instructions that define the behavior of the skill. - * - * @param instructions the instructions value to set. - * @return the UpdateSkillRequest object itself. - */ - @Generated - public UpdateSkillRequest setInstructions(String instructions) { - this.instructions = instructions; - return this; - } - - /** - * Get the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * - * @return the metadata value. - */ - @Generated - public Map getMetadata() { - return this.metadata; - } - - /** - * Set the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * - * @param metadata the metadata value to set. - * @return the UpdateSkillRequest object itself. - */ - @Generated - public UpdateSkillRequest setMetadata(Map metadata) { - this.metadata = metadata; - return this; - } - /** * {@inheritDoc} */ @@ -131,9 +24,7 @@ public UpdateSkillRequest setMetadata(Map metadata) { @Override public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { jsonWriter.writeStartObject(); - jsonWriter.writeStringField("description", this.description); - jsonWriter.writeStringField("instructions", this.instructions); - jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeStringField("default_version", this.defaultVersion); return jsonWriter.writeEndObject(); } @@ -143,27 +34,51 @@ public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { * @param jsonReader The JsonReader being read. * @return An instance of UpdateSkillRequest 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 UpdateSkillRequest. */ @Generated public static UpdateSkillRequest fromJson(JsonReader jsonReader) throws IOException { return jsonReader.readObject(reader -> { - UpdateSkillRequest deserializedUpdateSkillRequest = new UpdateSkillRequest(); + String defaultVersion = null; while (reader.nextToken() != JsonToken.END_OBJECT) { String fieldName = reader.getFieldName(); reader.nextToken(); - if ("description".equals(fieldName)) { - deserializedUpdateSkillRequest.description = reader.getString(); - } else if ("instructions".equals(fieldName)) { - deserializedUpdateSkillRequest.instructions = reader.getString(); - } else if ("metadata".equals(fieldName)) { - Map metadata = reader.readMap(reader1 -> reader1.getString()); - deserializedUpdateSkillRequest.metadata = metadata; + if ("default_version".equals(fieldName)) { + defaultVersion = reader.getString(); } else { reader.skipChildren(); } } - return deserializedUpdateSkillRequest; + return new UpdateSkillRequest(defaultVersion); }); } + + /* + * The version identifier that the skill should point to. When set, the skill's default version will resolve to this + * version instead of the latest. + */ + @Generated + private final String defaultVersion; + + /** + * Creates an instance of UpdateSkillRequest class. + * + * @param defaultVersion the defaultVersion value to set. + */ + @Generated + public UpdateSkillRequest(String defaultVersion) { + this.defaultVersion = defaultVersion; + } + + /** + * Get the defaultVersion property: The version identifier that the skill should point to. When set, the skill's + * default version will resolve to this version instead of the latest. + * + * @return the defaultVersion value. + */ + @Generated + public String getDefaultVersion() { + return this.defaultVersion; + } } 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 new file mode 100644 index 000000000000..0af356ab7ed5 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CreateSkillVersionFromFilesBody.java @@ -0,0 +1,72 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.projects.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import java.util.List; + +/** + * Multipart request body for creating a skill version from files. Accepts either a single zip file or multiple + * individual skill files (directory upload). For zip uploads, the server extracts and validates contents. For directory + * uploads, files are validated as-is. + */ +@Fluent +public final class CreateSkillVersionFromFilesBody { + /* + * Skill files to upload. Upload a single zip file or multiple individual files with relative paths. + */ + @Generated + private final List files; + + /* + * Whether to set this version as the default. Defaults to false. + */ + @Generated + private Boolean defaultProperty; + + /** + * Creates an instance of CreateSkillVersionFromFilesBody class. + * + * @param files the files value to set. + */ + @Generated + public CreateSkillVersionFromFilesBody(List files) { + this.files = files; + } + + /** + * Get the files property: Skill files to upload. Upload a single zip file or multiple individual files with + * relative paths. + * + * @return the files value. + */ + @Generated + public List getFiles() { + return this.files; + } + + /** + * Get the defaultProperty property: Whether to set this version as the default. Defaults to false. + * + * @return the defaultProperty value. + */ + @Generated + public Boolean isDefaultProperty() { + return this.defaultProperty; + } + + /** + * Set the defaultProperty property: Whether to set this version as the default. Defaults to false. + * + * @param defaultProperty the defaultProperty value to set. + * @return the CreateSkillVersionFromFilesBody object itself. + */ + @Generated + public CreateSkillVersionFromFilesBody setDefaultProperty(Boolean defaultProperty) { + this.defaultProperty = defaultProperty; + return this; + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CronTrigger.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CronTrigger.java index 23a2cce73c8b..92253f08e4c7 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CronTrigger.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/CronTrigger.java @@ -32,7 +32,7 @@ public final class CronTrigger extends Trigger { private final String expression; /* - * Time zone for the cron schedule. + * Time zone for the cron schedule. Defaults to `UTC`. */ @Generated private String timeZone; @@ -71,7 +71,7 @@ public String getExpression() { } /** - * Get the timeZone property: Time zone for the cron schedule. + * Get the timeZone property: Time zone for the cron schedule. Defaults to `UTC`. * * @return the timeZone value. */ @@ -197,7 +197,7 @@ public CronTrigger setEndTime(OffsetDateTime endTime) { } /** - * Set the timeZone property: Time zone for the cron schedule. + * Set the timeZone property: Time zone for the cron schedule. Defaults to `UTC`. * * @param timeZone the timeZone value to set. * @return the CronTrigger object itself. diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java index 5a2348814daf..85651698eaba 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSource.java @@ -115,8 +115,6 @@ public static DataGenerationJobSource fromJson(JsonReader jsonReader) throws IOE return AgentDataGenerationJobSource.fromJson(readerToUse.reset()); } else if ("traces".equals(discriminatorValue)) { return TracesDataGenerationJobSource.fromJson(readerToUse.reset()); - } else if ("dataset".equals(discriminatorValue)) { - return DatasetDataGenerationJobSource.fromJson(readerToUse.reset()); } else if ("file".equals(discriminatorValue)) { return FileDataGenerationJobSource.fromJson(readerToUse.reset()); } else { diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java index b93f4d48b656..20310e7e5653 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DataGenerationJobSourceType.java @@ -30,12 +30,6 @@ public final class DataGenerationJobSourceType extends ExpandableStringEnum { - String name = null; - DataGenerationJobSourceType type = DataGenerationJobSourceType.DATASET; - String description = null; - String version = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("type".equals(fieldName)) { - type = DataGenerationJobSourceType.fromString(reader.getString()); - } else if ("description".equals(fieldName)) { - description = reader.getString(); - } else if ("version".equals(fieldName)) { - version = reader.getString(); - } else { - reader.skipChildren(); - } - } - DatasetDataGenerationJobSource deserializedDatasetDataGenerationJobSource - = new DatasetDataGenerationJobSource(name); - deserializedDatasetDataGenerationJobSource.type = type; - deserializedDatasetDataGenerationJobSource.description = description; - deserializedDatasetDataGenerationJobSource.version = version; - return deserializedDatasetDataGenerationJobSource; - }); - } -} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DeleteSkillVersionResponse.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DeleteSkillVersionResponse.java new file mode 100644 index 000000000000..9911a02f89d3 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/DeleteSkillVersionResponse.java @@ -0,0 +1,149 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.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; + +/** + * A deleted skill version. + */ +@Immutable +public final class DeleteSkillVersionResponse implements JsonSerializable { + /* + * The unique identifier of the deleted skill version. + */ + @Generated + private final String id; + + /* + * The name of the skill. + */ + @Generated + private final String name; + + /* + * Whether the skill version was successfully deleted. + */ + @Generated + private final boolean deleted; + + /* + * The version that was deleted. + */ + @Generated + private final String version; + + /** + * Creates an instance of DeleteSkillVersionResponse class. + * + * @param id the id value to set. + * @param name the name value to set. + * @param deleted the deleted value to set. + * @param version the version value to set. + */ + @Generated + private DeleteSkillVersionResponse(String id, String name, boolean deleted, String version) { + this.id = id; + this.name = name; + this.deleted = deleted; + this.version = version; + } + + /** + * Get the id property: The unique identifier of the deleted skill version. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: The name of the skill. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the deleted property: Whether the skill version was successfully deleted. + * + * @return the deleted value. + */ + @Generated + public boolean isDeleted() { + return this.deleted; + } + + /** + * Get the version property: The version that was deleted. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeBooleanField("deleted", this.deleted); + jsonWriter.writeStringField("version", this.version); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of DeleteSkillVersionResponse from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of DeleteSkillVersionResponse 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 DeleteSkillVersionResponse. + */ + @Generated + public static DeleteSkillVersionResponse fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String name = null; + boolean deleted = false; + String version = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("deleted".equals(fieldName)) { + deleted = reader.getBoolean(); + } else if ("version".equals(fieldName)) { + version = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new DeleteSkillVersionResponse(id, name, deleted, version); + }); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Dimension.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Dimension.java index 0d6e9e9bb179..6676f9a76f0f 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Dimension.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Dimension.java @@ -34,7 +34,7 @@ public final class Dimension implements JsonSerializable { /* * When true, the LLM judge always scores this dimension regardless of relevance (skips applicability assessment). * The service-generated general quality/policy dimension has this set to true and is non-editable. Users may set - * this on their own custom dimensions. + * this on their own custom dimensions. Defaults to `false`. */ @Generated private Boolean alwaysApplicable; @@ -78,7 +78,7 @@ public int getWeight() { /** * Get the alwaysApplicable property: When true, the LLM judge always scores this dimension regardless of relevance * (skips applicability assessment). The service-generated general quality/policy dimension has this set to true and - * is non-editable. Users may set this on their own custom dimensions. + * is non-editable. Users may set this on their own custom dimensions. Defaults to `false`. * * @return the alwaysApplicable value. */ @@ -90,7 +90,7 @@ public Boolean isAlwaysApplicable() { /** * Set the alwaysApplicable property: When true, the LLM judge always scores this dimension regardless of relevance * (skips applicability assessment). The service-generated general quality/policy dimension has this set to true and - * is non-editable. Users may set this on their own custom dimensions. + * is non-editable. Users may set this on their own custom dimensions. Defaults to `false`. * * @param alwaysApplicable the alwaysApplicable value to set. * @return the Dimension object itself. diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/FilesFileDetails.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/FilesFileDetails.java new file mode 100644 index 000000000000..aa4f31c722d8 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/FilesFileDetails.java @@ -0,0 +1,137 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.projects.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.core.util.BinaryData; + +/** + * A file in an HTTP request, response, or multipart payload. + * + * A file in an HTTP request, response, or multipart payload. + * + * Files have a special meaning that the HTTP library understands. When the body of an HTTP request, response, + * or multipart payload is _effectively_ an instance of `TypeSpec.Http.File` or any type that extends it, the + * operation is treated as a file upload or download. + * + * When using file bodies, the fields of the file model are defined to come from particular locations by default: + * + * - `contentType`: The `Content-Type` header of the request, response, or multipart payload (CANNOT be overridden or + * changed). + * - `contents`: The body of the request, response, or multipart payload (CANNOT be overridden or changed). + * - `filename`: The `filename` parameter value of the `Content-Disposition` header of the response or multipart payload + * (MAY be overridden or changed). + * + * A File may be used as a normal structured JSON object in a request or response, if the request specifies an explicit + * `Content-Type` header. In this case, the entire File model is serialized as if it were any other model. In a JSON + * payload, + * it will have a structure like: + * + * ``` + * { + * "contentType": <string?>, + * "filename": <string?>, + * "contents": <string, base64> + * } + * ``` + * + * The `contentType` _within_ the file defines what media types the data inside the file can be, but if the + * specification + * defines a `Content-Type` for the payload as HTTP metadata, that `Content-Type` metadata defines _how the file is + * serialized_. See the examples below for more information. + * + * NOTE: The `filename` and `contentType` fields are optional. Furthermore, the default location of `filename` + * (`Content-Disposition: <disposition>; filename=<filename>`) is only valid in HTTP responses and multipart + * payloads. If + * you wish to send the `filename` in a request, you must use HTTP metadata decorators to describe the location of the + * `filename` field. You can combine the metadata decorators with `@visibility` to control when the `filename` + * location + * is overridden, as shown in the examples below. + */ +@Fluent +public final class FilesFileDetails { + /* + * The content of the file. + */ + @Generated + private final BinaryData content; + + /* + * The filename of the file. + */ + @Generated + private String filename; + + /* + * The content-type of the file. + */ + @Generated + private String contentType = "application/octet-stream"; + + /** + * Creates an instance of FilesFileDetails class. + * + * @param content the content value to set. + */ + @Generated + public FilesFileDetails(BinaryData content) { + this.content = content; + } + + /** + * Get the content property: The content of the file. + * + * @return the content value. + */ + @Generated + public BinaryData getContent() { + return this.content; + } + + /** + * Get the filename property: The filename of the file. + * + * @return the filename value. + */ + @Generated + public String getFilename() { + return this.filename; + } + + /** + * Set the filename property: The filename of the file. + * + * @param filename the filename value to set. + * @return the FilesFileDetails object itself. + */ + @Generated + public FilesFileDetails setFilename(String filename) { + this.filename = filename; + return this; + } + + /** + * Get the contentType property: The content-type of the file. + * + * @return the contentType value. + */ + @Generated + public String getContentType() { + return this.contentType; + } + + /** + * Set the contentType property: The content-type of the file. + * + * @param contentType the contentType value to set. + * @return the FilesFileDetails object itself. + */ + @Generated + public FilesFileDetails setContentType(String contentType) { + this.contentType = contentType; + return this; + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java index 806b11ebd824..51b52cdea0f7 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/OneTimeTrigger.java @@ -32,7 +32,7 @@ public final class OneTimeTrigger extends Trigger { private final OffsetDateTime triggerAt; /* - * Time zone for the one-time trigger. + * Time zone for the one-time trigger. Defaults to `UTC`. */ @Generated private String timeZone; @@ -59,7 +59,7 @@ public OffsetDateTime getTriggerAt() { } /** - * Get the timeZone property: Time zone for the one-time trigger. + * Get the timeZone property: Time zone for the one-time trigger. Defaults to `UTC`. * * @return the timeZone value. */ @@ -129,7 +129,7 @@ public OneTimeTrigger(OffsetDateTime triggerAt) { } /** - * Set the timeZone property: Time zone for the one-time trigger. + * Set the timeZone property: Time zone for the one-time trigger. Defaults to `UTC`. * * @param timeZone the timeZone value to set. * @return the OneTimeTrigger object itself. diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java index f0537df8649c..1847525919b9 100644 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/RecurrenceTrigger.java @@ -39,7 +39,7 @@ public final class RecurrenceTrigger extends Trigger { private OffsetDateTime endTime; /* - * Time zone for the recurrence schedule. + * Time zone for the recurrence schedule. Defaults to `UTC`. */ @Generated private TimeZone timeZone; @@ -88,7 +88,7 @@ public OffsetDateTime getEndTime() { } /** - * Get the timeZone property: Time zone for the recurrence schedule. + * Get the timeZone property: Time zone for the recurrence schedule. Defaults to `UTC`. * * @return the timeZone value. */ @@ -219,7 +219,7 @@ public RecurrenceTrigger setEndTime(OffsetDateTime endTime) { } /** - * Set the timeZone property: Time zone for the recurrence schedule. + * Set the timeZone property: Time zone for the recurrence schedule. Defaults to `UTC`. * * @param timeZone the timeZone value to set. * @return the RecurrenceTrigger object itself. diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Skill.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Skill.java new file mode 100644 index 000000000000..49da7420d1e2 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/Skill.java @@ -0,0 +1,201 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.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; + +/** + * A skill resource. + */ +@Immutable +public final class Skill implements JsonSerializable { + /* + * The unique identifier of the skill. + */ + @Generated + private final String id; + + /* + * The unique name of the skill. + */ + @Generated + private final String name; + + /* + * A human-readable description of the skill. + */ + @Generated + private final String description; + + /* + * The Unix timestamp (seconds) when the skill was created. + */ + @Generated + private final long createdAt; + + /* + * The default version for the skill. Can be changed via updateSkill. + */ + @Generated + private final String defaultVersion; + + /* + * The latest version for the skill. + */ + @Generated + private final String latestVersion; + + /** + * Creates an instance of Skill class. + * + * @param id the id value to set. + * @param name the name value to set. + * @param description the description value to set. + * @param createdAt the createdAt value to set. + * @param defaultVersion the defaultVersion value to set. + * @param latestVersion the latestVersion value to set. + */ + @Generated + private Skill(String id, String name, String description, OffsetDateTime createdAt, String defaultVersion, + String latestVersion) { + this.id = id; + this.name = name; + this.description = description; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + this.defaultVersion = defaultVersion; + this.latestVersion = latestVersion; + } + + /** + * Get the id property: The unique identifier of the skill. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the name property: The unique name of the skill. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the description property: A human-readable description of the skill. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the createdAt property: The Unix timestamp (seconds) when the skill was created. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * Get the defaultVersion property: The default version for the skill. Can be changed via updateSkill. + * + * @return the defaultVersion value. + */ + @Generated + public String getDefaultVersion() { + return this.defaultVersion; + } + + /** + * Get the latestVersion property: The latest version for the skill. + * + * @return the latestVersion value. + */ + @Generated + public String getLatestVersion() { + return this.latestVersion; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeLongField("created_at", this.createdAt); + jsonWriter.writeStringField("default_version", this.defaultVersion); + jsonWriter.writeStringField("latest_version", this.latestVersion); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of Skill from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of Skill 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 Skill. + */ + @Generated + public static Skill fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String name = null; + String description = null; + OffsetDateTime createdAt = null; + String defaultVersion = null; + String latestVersion = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else if ("default_version".equals(fieldName)) { + defaultVersion = reader.getString(); + } else if ("latest_version".equals(fieldName)) { + latestVersion = reader.getString(); + } else { + reader.skipChildren(); + } + } + return new Skill(id, name, description, createdAt, defaultVersion, latestVersion); + }); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillDetails.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillDetails.java deleted file mode 100644 index dd93ccb5d611..000000000000 --- a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillDetails.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.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.util.Map; - -/** - * A skill object. - */ -@Immutable -public final class SkillDetails implements JsonSerializable { - - /* - * The unique identifier of the skill. - */ - @Generated - private final String skillId; - - /* - * Whether the skill was created from a zip blob package. - */ - @Generated - private final boolean blobPresent; - - /* - * The unique name of the skill. - */ - @Generated - private final String name; - - /* - * A human-readable description of the skill. - */ - @Generated - private String description; - - /* - * Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - */ - @Generated - private Map metadata; - - /** - * Creates an instance of SkillDetails class. - * - * @param skillId the skillId value to set. - * @param blobPresent the blobPresent value to set. - * @param name the name value to set. - */ - @Generated - private SkillDetails(String skillId, boolean blobPresent, String name) { - this.skillId = skillId; - this.blobPresent = blobPresent; - this.name = name; - } - - /** - * Get the skillId property: The unique identifier of the skill. - * - * @return the skillId value. - */ - @Generated - public String getSkillId() { - return this.skillId; - } - - /** - * Get the blobPresent property: Whether the skill was created from a zip blob package. - * - * @return the blobPresent value. - */ - @Generated - public boolean isBlobPresent() { - return this.blobPresent; - } - - /** - * Get the name property: The unique name of the skill. - * - * @return the name value. - */ - @Generated - public String getName() { - return this.name; - } - - /** - * Get the description property: A human-readable description of the skill. - * - * @return the description value. - */ - @Generated - public String getDescription() { - return this.description; - } - - /** - * Get the metadata property: Set of 16 key-value pairs that can be attached to an object. This can be - * useful for storing additional information about the object in a structured - * format, and querying for objects via API or the dashboard. - * - * Keys are strings with a maximum length of 64 characters. Values are strings - * with a maximum length of 512 characters. - * - * @return the metadata value. - */ - @Generated - public Map getMetadata() { - return this.metadata; - } - - /** - * {@inheritDoc} - */ - @Generated - @Override - public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { - jsonWriter.writeStartObject(); - jsonWriter.writeStringField("skill_id", this.skillId); - jsonWriter.writeBooleanField("has_blob", this.blobPresent); - jsonWriter.writeStringField("name", this.name); - jsonWriter.writeStringField("description", this.description); - jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); - return jsonWriter.writeEndObject(); - } - - /** - * Reads an instance of SkillDetails from the JsonReader. - * - * @param jsonReader The JsonReader being read. - * @return An instance of SkillDetails 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 SkillDetails. - */ - @Generated - public static SkillDetails fromJson(JsonReader jsonReader) throws IOException { - return jsonReader.readObject(reader -> { - String skillId = null; - boolean blobPresent = false; - String name = null; - String description = null; - Map metadata = null; - while (reader.nextToken() != JsonToken.END_OBJECT) { - String fieldName = reader.getFieldName(); - reader.nextToken(); - if ("skill_id".equals(fieldName)) { - skillId = reader.getString(); - } else if ("has_blob".equals(fieldName)) { - blobPresent = reader.getBoolean(); - } else if ("name".equals(fieldName)) { - name = reader.getString(); - } else if ("description".equals(fieldName)) { - description = reader.getString(); - } else if ("metadata".equals(fieldName)) { - metadata = reader.readMap(reader1 -> reader1.getString()); - } else { - reader.skipChildren(); - } - } - SkillDetails deserializedSkillDetails = new SkillDetails(skillId, blobPresent, name); - deserializedSkillDetails.description = description; - deserializedSkillDetails.metadata = metadata; - return deserializedSkillDetails; - }); - } -} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillInlineContent.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillInlineContent.java new file mode 100644 index 000000000000..4798cce33498 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillInlineContent.java @@ -0,0 +1,244 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.projects.models; + +import com.azure.core.annotation.Fluent; +import com.azure.core.annotation.Generated; +import com.azure.json.JsonReader; +import com.azure.json.JsonSerializable; +import com.azure.json.JsonToken; +import com.azure.json.JsonWriter; +import java.io.IOException; +import java.util.List; +import java.util.Map; + +/** + * Inline content for defining a simple skill without uploading files. Follows the agentskills.io SKILL.md + * specification. + */ +@Fluent +public final class SkillInlineContent implements JsonSerializable { + /* + * A human-readable description of what the skill does and when to use it. + */ + @Generated + private final String description; + + /* + * The skill instructions in markdown format. This is the body content of the SKILL.md file. + */ + @Generated + private final String instructions; + + /* + * License name or reference to a bundled license file. + */ + @Generated + private String license; + + /* + * Environment requirements or compatibility notes for the skill. + */ + @Generated + private String compatibility; + + /* + * Arbitrary key-value metadata for additional properties. + */ + @Generated + private Map metadata; + + /* + * List of pre-approved tools the skill may use. Experimental. + */ + @Generated + private List allowedTools; + + /** + * Creates an instance of SkillInlineContent class. + * + * @param description the description value to set. + * @param instructions the instructions value to set. + */ + @Generated + public SkillInlineContent(String description, String instructions) { + this.description = description; + this.instructions = instructions; + } + + /** + * Get the description property: A human-readable description of what the skill does and when to use it. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the instructions property: The skill instructions in markdown format. This is the body content of the + * SKILL.md file. + * + * @return the instructions value. + */ + @Generated + public String getInstructions() { + return this.instructions; + } + + /** + * Get the license property: License name or reference to a bundled license file. + * + * @return the license value. + */ + @Generated + public String getLicense() { + return this.license; + } + + /** + * Set the license property: License name or reference to a bundled license file. + * + * @param license the license value to set. + * @return the SkillInlineContent object itself. + */ + @Generated + public SkillInlineContent setLicense(String license) { + this.license = license; + return this; + } + + /** + * Get the compatibility property: Environment requirements or compatibility notes for the skill. + * + * @return the compatibility value. + */ + @Generated + public String getCompatibility() { + return this.compatibility; + } + + /** + * Set the compatibility property: Environment requirements or compatibility notes for the skill. + * + * @param compatibility the compatibility value to set. + * @return the SkillInlineContent object itself. + */ + @Generated + public SkillInlineContent setCompatibility(String compatibility) { + this.compatibility = compatibility; + return this; + } + + /** + * Get the metadata property: Arbitrary key-value metadata for additional properties. + * + * @return the metadata value. + */ + @Generated + public Map getMetadata() { + return this.metadata; + } + + /** + * Set the metadata property: Arbitrary key-value metadata for additional properties. + * + * @param metadata the metadata value to set. + * @return the SkillInlineContent object itself. + */ + @Generated + public SkillInlineContent setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** + * Get the allowedTools property: List of pre-approved tools the skill may use. Experimental. + * + * @return the allowedTools value. + */ + @Generated + public List getAllowedTools() { + return this.allowedTools; + } + + /** + * Set the allowedTools property: List of pre-approved tools the skill may use. Experimental. + * + * @param allowedTools the allowedTools value to set. + * @return the SkillInlineContent object itself. + */ + @Generated + public SkillInlineContent setAllowedTools(List allowedTools) { + this.allowedTools = allowedTools; + return this; + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeStringField("instructions", this.instructions); + jsonWriter.writeStringField("license", this.license); + jsonWriter.writeStringField("compatibility", this.compatibility); + jsonWriter.writeMapField("metadata", this.metadata, (writer, element) -> writer.writeString(element)); + jsonWriter.writeArrayField("allowed_tools", this.allowedTools, + (writer, element) -> writer.writeString(element)); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SkillInlineContent from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SkillInlineContent 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 SkillInlineContent. + */ + @Generated + public static SkillInlineContent fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String description = null; + String instructions = null; + String license = null; + String compatibility = null; + Map metadata = null; + List allowedTools = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("instructions".equals(fieldName)) { + instructions = reader.getString(); + } else if ("license".equals(fieldName)) { + license = reader.getString(); + } else if ("compatibility".equals(fieldName)) { + compatibility = reader.getString(); + } else if ("metadata".equals(fieldName)) { + metadata = reader.readMap(reader1 -> reader1.getString()); + } else if ("allowed_tools".equals(fieldName)) { + allowedTools = reader.readArray(reader1 -> reader1.getString()); + } else { + reader.skipChildren(); + } + } + SkillInlineContent deserializedSkillInlineContent = new SkillInlineContent(description, instructions); + deserializedSkillInlineContent.license = license; + deserializedSkillInlineContent.compatibility = compatibility; + deserializedSkillInlineContent.metadata = metadata; + deserializedSkillInlineContent.allowedTools = allowedTools; + + return deserializedSkillInlineContent; + }); + } +} diff --git a/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillVersion.java b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillVersion.java new file mode 100644 index 000000000000..f57e56201ba4 --- /dev/null +++ b/sdk/ai/azure-ai-projects/src/main/java/com/azure/ai/projects/models/SkillVersion.java @@ -0,0 +1,201 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +// Code generated by Microsoft (R) TypeSpec Code Generator. + +package com.azure.ai.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; + +/** + * A specific version of a skill. + */ +@Immutable +public final class SkillVersion implements JsonSerializable { + /* + * The unique identifier of the skill version. + */ + @Generated + private final String id; + + /* + * The identifier of the parent skill. + */ + @Generated + private final String skillId; + + /* + * The name of the skill version. + */ + @Generated + private final String name; + + /* + * The version identifier. Skill versions are immutable. + */ + @Generated + private final String version; + + /* + * A human-readable description of the skill version. + */ + @Generated + private final String description; + + /* + * The Unix timestamp (seconds) when the skill version was created. + */ + @Generated + private final long createdAt; + + /** + * Creates an instance of SkillVersion class. + * + * @param id the id value to set. + * @param skillId the skillId value to set. + * @param name the name value to set. + * @param version the version value to set. + * @param description the description value to set. + * @param createdAt the createdAt value to set. + */ + @Generated + private SkillVersion(String id, String skillId, String name, String version, String description, + OffsetDateTime createdAt) { + this.id = id; + this.skillId = skillId; + this.name = name; + this.version = version; + this.description = description; + if (createdAt == null) { + this.createdAt = 0L; + } else { + this.createdAt = createdAt.toEpochSecond(); + } + } + + /** + * Get the id property: The unique identifier of the skill version. + * + * @return the id value. + */ + @Generated + public String getId() { + return this.id; + } + + /** + * Get the skillId property: The identifier of the parent skill. + * + * @return the skillId value. + */ + @Generated + public String getSkillId() { + return this.skillId; + } + + /** + * Get the name property: The name of the skill version. + * + * @return the name value. + */ + @Generated + public String getName() { + return this.name; + } + + /** + * Get the version property: The version identifier. Skill versions are immutable. + * + * @return the version value. + */ + @Generated + public String getVersion() { + return this.version; + } + + /** + * Get the description property: A human-readable description of the skill version. + * + * @return the description value. + */ + @Generated + public String getDescription() { + return this.description; + } + + /** + * Get the createdAt property: The Unix timestamp (seconds) when the skill version was created. + * + * @return the createdAt value. + */ + @Generated + public OffsetDateTime getCreatedAt() { + return OffsetDateTime.ofInstant(Instant.ofEpochSecond(this.createdAt), ZoneOffset.UTC); + } + + /** + * {@inheritDoc} + */ + @Generated + @Override + public JsonWriter toJson(JsonWriter jsonWriter) throws IOException { + jsonWriter.writeStartObject(); + jsonWriter.writeStringField("id", this.id); + jsonWriter.writeStringField("skill_id", this.skillId); + jsonWriter.writeStringField("name", this.name); + jsonWriter.writeStringField("version", this.version); + jsonWriter.writeStringField("description", this.description); + jsonWriter.writeLongField("created_at", this.createdAt); + return jsonWriter.writeEndObject(); + } + + /** + * Reads an instance of SkillVersion from the JsonReader. + * + * @param jsonReader The JsonReader being read. + * @return An instance of SkillVersion 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 SkillVersion. + */ + @Generated + public static SkillVersion fromJson(JsonReader jsonReader) throws IOException { + return jsonReader.readObject(reader -> { + String id = null; + String skillId = null; + String name = null; + String version = null; + String description = null; + OffsetDateTime createdAt = null; + while (reader.nextToken() != JsonToken.END_OBJECT) { + String fieldName = reader.getFieldName(); + reader.nextToken(); + + if ("id".equals(fieldName)) { + id = reader.getString(); + } else if ("skill_id".equals(fieldName)) { + skillId = reader.getString(); + } else if ("name".equals(fieldName)) { + name = reader.getString(); + } else if ("version".equals(fieldName)) { + version = reader.getString(); + } else if ("description".equals(fieldName)) { + description = reader.getString(); + } else if ("created_at".equals(fieldName)) { + createdAt = OffsetDateTime.ofInstant(Instant.ofEpochSecond(reader.getLong()), ZoneOffset.UTC); + } else { + reader.skipChildren(); + } + } + return new SkillVersion(id, skillId, name, version, description, createdAt); + }); + } +} 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 515fd74c6c04..cdf415e4cf03 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":"81ed11d53aa0","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","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.DataGenerationJobsAsyncClient":"Azure.AI.Projects.DataGenerationJobs","com.azure.ai.projects.DataGenerationJobsAsyncClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsAsyncClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsAsyncClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsAsyncClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsAsyncClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsAsyncClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsAsyncClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsAsyncClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsAsyncClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.DataGenerationJobsClient":"Azure.AI.Projects.DataGenerationJobs","com.azure.ai.projects.DataGenerationJobsClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.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.EvaluationTaxonomiesAsyncClient":"Azure.AI.Projects.EvaluationTaxonomies","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesClient":"Azure.AI.Projects.EvaluationTaxonomies","com.azure.ai.projects.EvaluationTaxonomiesClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.EvaluationTaxonomiesClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluatorsAsyncClient":"Azure.AI.Projects.Evaluators","com.azure.ai.projects.EvaluatorsAsyncClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsAsyncClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsAsyncClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.EvaluatorsAsyncClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.EvaluatorsAsyncClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.EvaluatorsAsyncClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsAsyncClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsAsyncClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsAsyncClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsClient":"Azure.AI.Projects.Evaluators","com.azure.ai.projects.EvaluatorsClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.EvaluatorsClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.EvaluatorsClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.EvaluatorsClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","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.InsightsAsyncClient":"Azure.AI.Projects.Insights","com.azure.ai.projects.InsightsAsyncClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsAsyncClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsAsyncClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsAsyncClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsAsyncClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.InsightsClient":"Azure.AI.Projects.Insights","com.azure.ai.projects.InsightsClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.ModelsAsyncClient":"Azure.AI.Projects.Models","com.azure.ai.projects.ModelsAsyncClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.ModelsAsyncClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsAsyncClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsAsyncClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsAsyncClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsAsyncClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsAsyncClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsAsyncClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.ModelsAsyncClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.ModelsAsyncClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsAsyncClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsAsyncClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsAsyncClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsClient":"Azure.AI.Projects.Models","com.azure.ai.projects.ModelsClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.ModelsClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.ModelsClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.ModelsClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.RedTeamsAsyncClient":"Azure.AI.Projects.RedTeams","com.azure.ai.projects.RedTeamsAsyncClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsAsyncClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsAsyncClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsAsyncClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsAsyncClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.RedTeamsClient":"Azure.AI.Projects.RedTeams","com.azure.ai.projects.RedTeamsClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.RoutinesAsyncClient":"Azure.AI.Projects.Routines","com.azure.ai.projects.RoutinesAsyncClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesAsyncClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesAsyncClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesAsyncClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesAsyncClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesAsyncClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesAsyncClient.dispatchRoutineAsyncWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.RoutinesAsyncClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesAsyncClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesAsyncClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesAsyncClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesAsyncClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.RoutinesAsyncClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.RoutinesClient":"Azure.AI.Projects.Routines","com.azure.ai.projects.RoutinesClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesClient.dispatchRoutineAsyncWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.RoutinesClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.RoutinesClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.SchedulesAsyncClient":"Azure.AI.Projects.Schedules","com.azure.ai.projects.SchedulesAsyncClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesAsyncClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesAsyncClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesAsyncClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesAsyncClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesAsyncClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesAsyncClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesAsyncClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesAsyncClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.SchedulesAsyncClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.SchedulesClient":"Azure.AI.Projects.Schedules","com.azure.ai.projects.SchedulesClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.SchedulesClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.SkillsAsyncClient":"Azure.AI.Projects.Skills","com.azure.ai.projects.SkillsAsyncClient.createSkill":"Azure.AI.Projects.Skills.createSkill","com.azure.ai.projects.SkillsAsyncClient.createSkillFromPackage":"Azure.AI.Projects.Skills.createSkillFromPackage","com.azure.ai.projects.SkillsAsyncClient.createSkillFromPackageWithResponse":"Azure.AI.Projects.Skills.createSkillFromPackage","com.azure.ai.projects.SkillsAsyncClient.createSkillWithResponse":"Azure.AI.Projects.Skills.createSkill","com.azure.ai.projects.SkillsAsyncClient.downloadSkill":"Azure.AI.Projects.Skills.downloadSkill","com.azure.ai.projects.SkillsAsyncClient.downloadSkillWithResponse":"Azure.AI.Projects.Skills.downloadSkill","com.azure.ai.projects.SkillsAsyncClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsAsyncClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsAsyncClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.SkillsAsyncClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsAsyncClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsClient":"Azure.AI.Projects.Skills","com.azure.ai.projects.SkillsClient.createSkill":"Azure.AI.Projects.Skills.createSkill","com.azure.ai.projects.SkillsClient.createSkillFromPackage":"Azure.AI.Projects.Skills.createSkillFromPackage","com.azure.ai.projects.SkillsClient.createSkillFromPackageWithResponse":"Azure.AI.Projects.Skills.createSkillFromPackage","com.azure.ai.projects.SkillsClient.createSkillWithResponse":"Azure.AI.Projects.Skills.createSkill","com.azure.ai.projects.SkillsClient.downloadSkill":"Azure.AI.Projects.Skills.downloadSkill","com.azure.ai.projects.SkillsClient.downloadSkillWithResponse":"Azure.AI.Projects.Skills.downloadSkill","com.azure.ai.projects.SkillsClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.SkillsClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.implementation.models.CreateOrUpdateRoutineRequest":"Azure.AI.Projects.createOrUpdateRoutine.Request.anonymous","com.azure.ai.projects.implementation.models.CreateSkillRequest":"Azure.AI.Projects.createSkill.Request.anonymous","com.azure.ai.projects.implementation.models.DispatchRoutineAsyncRequest":"Azure.AI.Projects.dispatchRoutineAsync.Request.anonymous","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.ApplyPatchToolParam":"OpenAI.ApplyPatchToolParam","com.azure.ai.projects.models.ApproximateLocation":"OpenAI.ApproximateLocation","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.AutoCodeInterpreterToolParam":"OpenAI.AutoCodeInterpreterToolParam","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.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.projects.models.ComputerEnvironment":"OpenAI.ComputerEnvironment","com.azure.ai.projects.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","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.ContainerAutoParam":"OpenAI.ContainerAutoParam","com.azure.ai.projects.models.ContainerMemoryLimit":"OpenAI.ContainerMemoryLimit","com.azure.ai.projects.models.ContainerNetworkPolicyAllowlistParam":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.projects.models.ContainerNetworkPolicyDisabledParam":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.projects.models.ContainerNetworkPolicyDomainSecretParam":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.projects.models.ContainerNetworkPolicyParam":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.projects.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.projects.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.projects.models.ContainerSkillType":"OpenAI.ContainerSkillType","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.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.CustomGrammarFormatParam":"OpenAI.CustomGrammarFormatParam","com.azure.ai.projects.models.CustomTextFormatParam":"OpenAI.CustomTextFormatParam","com.azure.ai.projects.models.CustomToolParam":"OpenAI.CustomToolParam","com.azure.ai.projects.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.projects.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","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.DatasetDataGenerationJobSource":"Azure.AI.Projects.DatasetDataGenerationJobSource","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.DispatchRoutineResponse":"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.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.EvaluationScheduleTaskEvalRun":"Azure.AI.Projects.EvaluationScheduleTask.evalRun.anonymous","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.EvaluatorCredentialRequest":"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.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.projects.models.FolderDatasetVersion":"Azure.AI.Projects.FolderDatasetVersion","com.azure.ai.projects.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","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.FunctionShellToolParam":"OpenAI.FunctionShellToolParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentContainerReferenceParam":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentLocalEnvironmentParam":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.projects.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.projects.models.GitHubIssueOpenedRoutineTrigger":"Azure.AI.Projects.GitHubIssueOpenedRoutineTrigger","com.azure.ai.projects.models.GrammarSyntax":"Azure.AI.Projects.GrammarSyntaxExpandable","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.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.projects.models.ImageGenActionEnum":"OpenAI.ImageGenActionEnum","com.azure.ai.projects.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.projects.models.ImageGenToolBackground":"OpenAI.ImageGenTool.background.anonymous","com.azure.ai.projects.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.projects.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.projects.models.ImageGenToolModeration":"OpenAI.ImageGenTool.moderation.anonymous","com.azure.ai.projects.models.ImageGenToolOutputFormat":"OpenAI.ImageGenTool.output_format.anonymous","com.azure.ai.projects.models.ImageGenToolQuality":"OpenAI.ImageGenTool.quality.anonymous","com.azure.ai.projects.models.ImageGenToolSize":"OpenAI.ImageGenTool.size.anonymous","com.azure.ai.projects.models.IndexType":"Azure.AI.Projects.IndexType","com.azure.ai.projects.models.InlineSkillParam":"OpenAI.InlineSkillParam","com.azure.ai.projects.models.InlineSkillSourceParam":"OpenAI.InlineSkillSourceParam","com.azure.ai.projects.models.InputFidelity":"OpenAI.InputFidelity","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.LocalShellToolParam":"OpenAI.LocalShellToolParam","com.azure.ai.projects.models.LocalSkillParam":"OpenAI.LocalSkillParam","com.azure.ai.projects.models.LoraConfig":"Azure.AI.Projects.LoraConfig","com.azure.ai.projects.models.MCPTool":"OpenAI.MCPTool","com.azure.ai.projects.models.MCPToolConnectorId":"OpenAI.MCPTool.connector_id.anonymous","com.azure.ai.projects.models.MCPToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.projects.models.MCPToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.projects.models.ManagedAzureAISearchIndex":"Azure.AI.Projects.ManagedAzureAISearchIndex","com.azure.ai.projects.models.ModelCredentialRequest":"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.ModelPendingUploadRequest":"Azure.AI.Projects.ModelPendingUploadRequest","com.azure.ai.projects.models.ModelPendingUploadResponse":"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.RankerVersionType":"OpenAI.RankerVersionType","com.azure.ai.projects.models.RankingOptions":"OpenAI.RankingOptions","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.RoutineRunDiagnostics":"Azure.AI.Projects.RoutineRunDiagnostics","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.SearchContextSize":"OpenAI.SearchContextSize","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.SkillObject","com.azure.ai.projects.models.SkillReferenceParam":"OpenAI.SkillReferenceParam","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.TimerRoutineTrigger":"Azure.AI.Projects.TimerRoutineTrigger","com.azure.ai.projects.models.Tool":"OpenAI.Tool","com.azure.ai.projects.models.ToolDescription":"Azure.AI.Projects.ToolDescription","com.azure.ai.projects.models.ToolType":"OpenAI.ToolType","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.UpdateModelVersionRequest":"Azure.AI.Projects.UpdateModelVersionRequest","com.azure.ai.projects.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.projects.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.projects.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.projects.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.projects.models.WebSearchToolSearchContextSize":"OpenAI.WebSearchTool.search_context_size.anonymous","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/ConnectionsAsyncClient.java","src/main/java/com/azure/ai/projects/ConnectionsClient.java","src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java","src/main/java/com/azure/ai/projects/DataGenerationJobsClient.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/EvaluationTaxonomiesAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluationTaxonomiesClient.java","src/main/java/com/azure/ai/projects/EvaluatorsAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluatorsClient.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/InsightsAsyncClient.java","src/main/java/com/azure/ai/projects/InsightsClient.java","src/main/java/com/azure/ai/projects/ModelsAsyncClient.java","src/main/java/com/azure/ai/projects/ModelsClient.java","src/main/java/com/azure/ai/projects/RedTeamsAsyncClient.java","src/main/java/com/azure/ai/projects/RedTeamsClient.java","src/main/java/com/azure/ai/projects/RoutinesAsyncClient.java","src/main/java/com/azure/ai/projects/RoutinesClient.java","src/main/java/com/azure/ai/projects/SchedulesAsyncClient.java","src/main/java/com/azure/ai/projects/SchedulesClient.java","src/main/java/com/azure/ai/projects/SkillsAsyncClient.java","src/main/java/com/azure/ai/projects/SkillsClient.java","src/main/java/com/azure/ai/projects/implementation/AIProjectClientImpl.java","src/main/java/com/azure/ai/projects/implementation/ConnectionsImpl.java","src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.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/EvaluationTaxonomiesImpl.java","src/main/java/com/azure/ai/projects/implementation/EvaluatorsImpl.java","src/main/java/com/azure/ai/projects/implementation/IndexesImpl.java","src/main/java/com/azure/ai/projects/implementation/InsightsImpl.java","src/main/java/com/azure/ai/projects/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java","src/main/java/com/azure/ai/projects/implementation/RedTeamsImpl.java","src/main/java/com/azure/ai/projects/implementation/RoutinesImpl.java","src/main/java/com/azure/ai/projects/implementation/SchedulesImpl.java","src/main/java/com/azure/ai/projects/implementation/SkillsImpl.java","src/main/java/com/azure/ai/projects/implementation/models/CreateOrUpdateRoutineRequest.java","src/main/java/com/azure/ai/projects/implementation/models/CreateSkillRequest.java","src/main/java/com/azure/ai/projects/implementation/models/DispatchRoutineAsyncRequest.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/ApplyPatchToolParam.java","src/main/java/com/azure/ai/projects/models/ApproximateLocation.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/AutoCodeInterpreterToolParam.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/CodeInterpreterTool.java","src/main/java/com/azure/ai/projects/models/ComputerEnvironment.java","src/main/java/com/azure/ai/projects/models/ComputerUsePreviewTool.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/ContainerAutoParam.java","src/main/java/com/azure/ai/projects/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyAllowlistParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyDisabledParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyDomainSecretParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/projects/models/ContainerSkill.java","src/main/java/com/azure/ai/projects/models/ContainerSkillType.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/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/CustomGrammarFormatParam.java","src/main/java/com/azure/ai/projects/models/CustomTextFormatParam.java","src/main/java/com/azure/ai/projects/models/CustomToolParam.java","src/main/java/com/azure/ai/projects/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/projects/models/CustomToolParamFormatType.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/DatasetDataGenerationJobSource.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/DispatchRoutineResponse.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/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/EvaluationScheduleTaskEvalRun.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/EvaluatorCredentialRequest.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/FileSearchTool.java","src/main/java/com/azure/ai/projects/models/FolderDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FoundryFeaturesOptInKeys.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/FunctionShellToolParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentContainerReferenceParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentLocalEnvironmentParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/projects/models/FunctionTool.java","src/main/java/com/azure/ai/projects/models/GitHubIssueOpenedRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/GrammarSyntax.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/HybridSearchOptions.java","src/main/java/com/azure/ai/projects/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/projects/models/ImageGenTool.java","src/main/java/com/azure/ai/projects/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/projects/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/projects/models/ImageGenToolModel.java","src/main/java/com/azure/ai/projects/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/projects/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/projects/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/projects/models/ImageGenToolSize.java","src/main/java/com/azure/ai/projects/models/IndexType.java","src/main/java/com/azure/ai/projects/models/InlineSkillParam.java","src/main/java/com/azure/ai/projects/models/InlineSkillSourceParam.java","src/main/java/com/azure/ai/projects/models/InputFidelity.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/LocalShellToolParam.java","src/main/java/com/azure/ai/projects/models/LocalSkillParam.java","src/main/java/com/azure/ai/projects/models/LoraConfig.java","src/main/java/com/azure/ai/projects/models/MCPTool.java","src/main/java/com/azure/ai/projects/models/MCPToolConnectorId.java","src/main/java/com/azure/ai/projects/models/MCPToolFilter.java","src/main/java/com/azure/ai/projects/models/MCPToolRequireApproval.java","src/main/java/com/azure/ai/projects/models/ManagedAzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/ModelCredentialRequest.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/ModelPendingUploadRequest.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadResponse.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/RankerVersionType.java","src/main/java/com/azure/ai/projects/models/RankingOptions.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/RoutineRunDiagnostics.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/SearchContextSize.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/SkillReferenceParam.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/TimerRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/Tool.java","src/main/java/com/azure/ai/projects/models/ToolDescription.java","src/main/java/com/azure/ai/projects/models/ToolType.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/UpdateModelVersionRequest.java","src/main/java/com/azure/ai/projects/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/projects/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/projects/models/WebSearchTool.java","src/main/java/com/azure/ai/projects/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/projects/models/WebSearchToolSearchContextSize.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":"a44b2be6ea96","crossLanguageDefinitions":{"com.azure.ai.projects.AIProjectClientBuilder":"Azure.AI.Projects","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.DataGenerationJobsAsyncClient":"Azure.AI.Projects.DataGenerationJobs","com.azure.ai.projects.DataGenerationJobsAsyncClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsAsyncClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsAsyncClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsAsyncClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsAsyncClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsAsyncClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsAsyncClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsAsyncClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsAsyncClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.list","com.azure.ai.projects.DataGenerationJobsClient":"Azure.AI.Projects.DataGenerationJobs","com.azure.ai.projects.DataGenerationJobsClient.cancelGenerationJob":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsClient.cancelGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.cancel","com.azure.ai.projects.DataGenerationJobsClient.createGenerationJob":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsClient.createGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.create","com.azure.ai.projects.DataGenerationJobsClient.deleteGenerationJob":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsClient.deleteGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.delete","com.azure.ai.projects.DataGenerationJobsClient.getGenerationJob":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsClient.getGenerationJobWithResponse":"Azure.AI.Projects.DataGenerationJobs.get","com.azure.ai.projects.DataGenerationJobsClient.listGenerationJobs":"Azure.AI.Projects.DataGenerationJobs.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.EvaluationTaxonomiesAsyncClient":"Azure.AI.Projects.EvaluationTaxonomies","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesAsyncClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesClient":"Azure.AI.Projects.EvaluationTaxonomies","com.azure.ai.projects.EvaluationTaxonomiesClient.createEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesClient.createEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.create","com.azure.ai.projects.EvaluationTaxonomiesClient.deleteEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesClient.deleteEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.delete","com.azure.ai.projects.EvaluationTaxonomiesClient.getEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesClient.getEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.get","com.azure.ai.projects.EvaluationTaxonomiesClient.listEvaluationTaxonomies":"Azure.AI.Projects.EvaluationTaxonomies.list","com.azure.ai.projects.EvaluationTaxonomiesClient.updateEvaluationTaxonomy":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluationTaxonomiesClient.updateEvaluationTaxonomyWithResponse":"Azure.AI.Projects.EvaluationTaxonomies.update","com.azure.ai.projects.EvaluatorsAsyncClient":"Azure.AI.Projects.Evaluators","com.azure.ai.projects.EvaluatorsAsyncClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsAsyncClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsAsyncClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsAsyncClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsAsyncClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsAsyncClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsAsyncClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsAsyncClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.EvaluatorsAsyncClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.EvaluatorsAsyncClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.EvaluatorsAsyncClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsAsyncClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsAsyncClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsAsyncClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsClient":"Azure.AI.Projects.Evaluators","com.azure.ai.projects.EvaluatorsClient.cancelEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsClient.cancelEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.cancel","com.azure.ai.projects.EvaluatorsClient.createEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsClient.createEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.create","com.azure.ai.projects.EvaluatorsClient.createEvaluatorVersion":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsClient.createEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.createVersion","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.delete","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorVersion":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsClient.deleteEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.deleteVersion","com.azure.ai.projects.EvaluatorsClient.getCredentials":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsClient.getCredentialsWithResponse":"Azure.AI.Projects.Evaluators.getCredentials","com.azure.ai.projects.EvaluatorsClient.getEvaluatorGenerationJob":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsClient.getEvaluatorGenerationJobWithResponse":"Azure.AI.Projects.EvaluatorGenerationJobs.get","com.azure.ai.projects.EvaluatorsClient.getEvaluatorVersion":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsClient.getEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.getVersion","com.azure.ai.projects.EvaluatorsClient.listEvaluatorGenerationJobs":"Azure.AI.Projects.EvaluatorGenerationJobs.list","com.azure.ai.projects.EvaluatorsClient.listEvaluatorVersions":"Azure.AI.Projects.Evaluators.listVersions","com.azure.ai.projects.EvaluatorsClient.listLatestEvaluatorVersions":"Azure.AI.Projects.Evaluators.listLatestVersions","com.azure.ai.projects.EvaluatorsClient.startPendingUpload":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsClient.startPendingUploadWithResponse":"Azure.AI.Projects.Evaluators.startPendingUpload","com.azure.ai.projects.EvaluatorsClient.updateEvaluatorVersion":"Azure.AI.Projects.Evaluators.updateVersion","com.azure.ai.projects.EvaluatorsClient.updateEvaluatorVersionWithResponse":"Azure.AI.Projects.Evaluators.updateVersion","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.InsightsAsyncClient":"Azure.AI.Projects.Insights","com.azure.ai.projects.InsightsAsyncClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsAsyncClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsAsyncClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsAsyncClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsAsyncClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.InsightsClient":"Azure.AI.Projects.Insights","com.azure.ai.projects.InsightsClient.generateInsight":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsClient.generateInsightWithResponse":"Azure.AI.Projects.Insights.generate","com.azure.ai.projects.InsightsClient.getInsight":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsClient.getInsightWithResponse":"Azure.AI.Projects.Insights.get","com.azure.ai.projects.InsightsClient.listInsights":"Azure.AI.Projects.Insights.list","com.azure.ai.projects.ModelsAsyncClient":"Azure.AI.Projects.Models","com.azure.ai.projects.ModelsAsyncClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.ModelsAsyncClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsAsyncClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsAsyncClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsAsyncClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsAsyncClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsAsyncClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsAsyncClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.ModelsAsyncClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.ModelsAsyncClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsAsyncClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsAsyncClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsAsyncClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsClient":"Azure.AI.Projects.Models","com.azure.ai.projects.ModelsClient.createModelVersionAsyncWithResponse":"Azure.AI.Projects.Models.createAsync","com.azure.ai.projects.ModelsClient.deleteModelVersion":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsClient.deleteModelVersionWithResponse":"Azure.AI.Projects.Models.deleteVersion","com.azure.ai.projects.ModelsClient.getModelCredentials":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsClient.getModelCredentialsWithResponse":"Azure.AI.Projects.Models.getCredentials","com.azure.ai.projects.ModelsClient.getModelVersion":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsClient.getModelVersionWithResponse":"Azure.AI.Projects.Models.getVersion","com.azure.ai.projects.ModelsClient.listLatestModelVersions":"Azure.AI.Projects.Models.listLatest","com.azure.ai.projects.ModelsClient.listModelVersions":"Azure.AI.Projects.Models.listVersions","com.azure.ai.projects.ModelsClient.startModelPendingUpload":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsClient.startModelPendingUploadWithResponse":"Azure.AI.Projects.Models.startPendingUpload","com.azure.ai.projects.ModelsClient.updateModelVersion":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.ModelsClient.updateModelVersionWithResponse":"Azure.AI.Projects.Models.createOrUpdateVersion","com.azure.ai.projects.RedTeamsAsyncClient":"Azure.AI.Projects.RedTeams","com.azure.ai.projects.RedTeamsAsyncClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsAsyncClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsAsyncClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsAsyncClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsAsyncClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.RedTeamsClient":"Azure.AI.Projects.RedTeams","com.azure.ai.projects.RedTeamsClient.createRedTeamRun":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsClient.createRedTeamRunWithResponse":"Azure.AI.Projects.RedTeams.create","com.azure.ai.projects.RedTeamsClient.getRedTeam":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsClient.getRedTeamWithResponse":"Azure.AI.Projects.RedTeams.get","com.azure.ai.projects.RedTeamsClient.listRedTeams":"Azure.AI.Projects.RedTeams.list","com.azure.ai.projects.RoutinesAsyncClient":"Azure.AI.Projects.Routines","com.azure.ai.projects.RoutinesAsyncClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesAsyncClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesAsyncClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesAsyncClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesAsyncClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesAsyncClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesAsyncClient.dispatchRoutineAsyncWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.RoutinesAsyncClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesAsyncClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesAsyncClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesAsyncClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesAsyncClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.RoutinesAsyncClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.RoutinesClient":"Azure.AI.Projects.Routines","com.azure.ai.projects.RoutinesClient.createOrUpdateRoutine":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesClient.createOrUpdateRoutineWithResponse":"Azure.AI.Projects.Routines.createOrUpdateRoutine","com.azure.ai.projects.RoutinesClient.deleteRoutine":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesClient.deleteRoutineWithResponse":"Azure.AI.Projects.Routines.deleteRoutine","com.azure.ai.projects.RoutinesClient.disableRoutine":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesClient.disableRoutineWithResponse":"Azure.AI.Projects.Routines.disableRoutine","com.azure.ai.projects.RoutinesClient.dispatchRoutineAsyncWithResponse":"Azure.AI.Projects.Routines.dispatchRoutineAsync","com.azure.ai.projects.RoutinesClient.enableRoutine":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesClient.enableRoutineWithResponse":"Azure.AI.Projects.Routines.enableRoutine","com.azure.ai.projects.RoutinesClient.getRoutine":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesClient.getRoutineWithResponse":"Azure.AI.Projects.Routines.getRoutine","com.azure.ai.projects.RoutinesClient.listRoutineRuns":"Azure.AI.Projects.Routines.listRoutineRuns","com.azure.ai.projects.RoutinesClient.listRoutines":"Azure.AI.Projects.Routines.listRoutines","com.azure.ai.projects.SchedulesAsyncClient":"Azure.AI.Projects.Schedules","com.azure.ai.projects.SchedulesAsyncClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesAsyncClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesAsyncClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesAsyncClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesAsyncClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesAsyncClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesAsyncClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesAsyncClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesAsyncClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.SchedulesAsyncClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.SchedulesClient":"Azure.AI.Projects.Schedules","com.azure.ai.projects.SchedulesClient.createOrUpdateSchedule":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesClient.createOrUpdateScheduleWithResponse":"Azure.AI.Projects.Schedules.createOrUpdate","com.azure.ai.projects.SchedulesClient.deleteSchedule":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesClient.deleteScheduleWithResponse":"Azure.AI.Projects.Schedules.delete","com.azure.ai.projects.SchedulesClient.getSchedule":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesClient.getScheduleRun":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesClient.getScheduleRunWithResponse":"Azure.AI.Projects.Schedules.getRun","com.azure.ai.projects.SchedulesClient.getScheduleWithResponse":"Azure.AI.Projects.Schedules.get","com.azure.ai.projects.SchedulesClient.listScheduleRuns":"Azure.AI.Projects.Schedules.listRuns","com.azure.ai.projects.SchedulesClient.listSchedules":"Azure.AI.Projects.Schedules.list","com.azure.ai.projects.SkillsAsyncClient":"Azure.AI.Projects.Skills","com.azure.ai.projects.SkillsAsyncClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.SkillsAsyncClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.SkillsAsyncClient.createSkillVersionFromFilesWithResponse":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.SkillsAsyncClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.SkillsAsyncClient.deleteSkillVersion":"Azure.AI.Projects.Skills.deleteSkillVersion","com.azure.ai.projects.SkillsAsyncClient.deleteSkillVersionWithResponse":"Azure.AI.Projects.Skills.deleteSkillVersion","com.azure.ai.projects.SkillsAsyncClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsAsyncClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.SkillsAsyncClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.SkillsAsyncClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.SkillsAsyncClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.SkillsAsyncClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.SkillsAsyncClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.SkillsAsyncClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsAsyncClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.SkillsAsyncClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.SkillsAsyncClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsAsyncClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsClient":"Azure.AI.Projects.Skills","com.azure.ai.projects.SkillsClient.createSkillVersion":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.SkillsClient.createSkillVersionFromFiles":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.SkillsClient.createSkillVersionFromFilesWithResponse":"Azure.AI.Projects.Skills.createSkillVersionFromFiles","com.azure.ai.projects.SkillsClient.createSkillVersionWithResponse":"Azure.AI.Projects.Skills.createSkillVersion","com.azure.ai.projects.SkillsClient.deleteSkillVersion":"Azure.AI.Projects.Skills.deleteSkillVersion","com.azure.ai.projects.SkillsClient.deleteSkillVersionWithResponse":"Azure.AI.Projects.Skills.deleteSkillVersion","com.azure.ai.projects.SkillsClient.getSkill":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsClient.getSkillContent":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.SkillsClient.getSkillContentWithResponse":"Azure.AI.Projects.Skills.getSkillContent","com.azure.ai.projects.SkillsClient.getSkillVersion":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.SkillsClient.getSkillVersionContent":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.SkillsClient.getSkillVersionContentWithResponse":"Azure.AI.Projects.Skills.getSkillVersionContent","com.azure.ai.projects.SkillsClient.getSkillVersionWithResponse":"Azure.AI.Projects.Skills.getSkillVersion","com.azure.ai.projects.SkillsClient.getSkillWithResponse":"Azure.AI.Projects.Skills.getSkill","com.azure.ai.projects.SkillsClient.listSkillVersions":"Azure.AI.Projects.Skills.listSkillVersions","com.azure.ai.projects.SkillsClient.listSkills":"Azure.AI.Projects.Skills.listSkills","com.azure.ai.projects.SkillsClient.updateSkill":"Azure.AI.Projects.Skills.updateSkill","com.azure.ai.projects.SkillsClient.updateSkillWithResponse":"Azure.AI.Projects.Skills.updateSkill","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.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.ApplyPatchToolParam":"OpenAI.ApplyPatchToolParam","com.azure.ai.projects.models.ApproximateLocation":"OpenAI.ApproximateLocation","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.AutoCodeInterpreterToolParam":"OpenAI.AutoCodeInterpreterToolParam","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.CodeInterpreterTool":"OpenAI.CodeInterpreterTool","com.azure.ai.projects.models.ComputerEnvironment":"OpenAI.ComputerEnvironment","com.azure.ai.projects.models.ComputerUsePreviewTool":"OpenAI.ComputerUsePreviewTool","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.ContainerAutoParam":"OpenAI.ContainerAutoParam","com.azure.ai.projects.models.ContainerMemoryLimit":"OpenAI.ContainerMemoryLimit","com.azure.ai.projects.models.ContainerNetworkPolicyAllowlistParam":"OpenAI.ContainerNetworkPolicyAllowlistParam","com.azure.ai.projects.models.ContainerNetworkPolicyDisabledParam":"OpenAI.ContainerNetworkPolicyDisabledParam","com.azure.ai.projects.models.ContainerNetworkPolicyDomainSecretParam":"OpenAI.ContainerNetworkPolicyDomainSecretParam","com.azure.ai.projects.models.ContainerNetworkPolicyParam":"OpenAI.ContainerNetworkPolicyParam","com.azure.ai.projects.models.ContainerNetworkPolicyParamType":"OpenAI.ContainerNetworkPolicyParamType","com.azure.ai.projects.models.ContainerSkill":"OpenAI.ContainerSkill","com.azure.ai.projects.models.ContainerSkillType":"OpenAI.ContainerSkillType","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.CustomGrammarFormatParam":"OpenAI.CustomGrammarFormatParam","com.azure.ai.projects.models.CustomTextFormatParam":"OpenAI.CustomTextFormatParam","com.azure.ai.projects.models.CustomToolParam":"OpenAI.CustomToolParam","com.azure.ai.projects.models.CustomToolParamFormat":"OpenAI.CustomToolParamFormat","com.azure.ai.projects.models.CustomToolParamFormatType":"OpenAI.CustomToolParamFormatType","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.DeleteSkillVersionResponse":"Azure.AI.Projects.DeleteSkillVersionResponse","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.DispatchRoutineResponse":"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.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.EvaluationScheduleTaskEvalRun":"Azure.AI.Projects.EvaluationScheduleTask.evalRun.anonymous","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.EvaluatorCredentialRequest":"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.FileSearchTool":"OpenAI.FileSearchTool","com.azure.ai.projects.models.FilesFileDetails":"TypeSpec.Http.File","com.azure.ai.projects.models.FolderDatasetVersion":"Azure.AI.Projects.FolderDatasetVersion","com.azure.ai.projects.models.FoundryFeaturesOptInKeys":"Azure.AI.Projects.FoundryFeaturesOptInKeys","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.FunctionShellToolParam":"OpenAI.FunctionShellToolParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironment":"OpenAI.FunctionShellToolParamEnvironment","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentContainerReferenceParam":"OpenAI.FunctionShellToolParamEnvironmentContainerReferenceParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentLocalEnvironmentParam":"OpenAI.FunctionShellToolParamEnvironmentLocalEnvironmentParam","com.azure.ai.projects.models.FunctionShellToolParamEnvironmentType":"OpenAI.FunctionShellToolParamEnvironmentType","com.azure.ai.projects.models.FunctionTool":"OpenAI.FunctionTool","com.azure.ai.projects.models.GitHubIssueOpenedRoutineTrigger":"Azure.AI.Projects.GitHubIssueOpenedRoutineTrigger","com.azure.ai.projects.models.GrammarSyntax":"Azure.AI.Projects.GrammarSyntaxExpandable","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.HybridSearchOptions":"OpenAI.HybridSearchOptions","com.azure.ai.projects.models.ImageGenActionEnum":"OpenAI.ImageGenActionEnum","com.azure.ai.projects.models.ImageGenTool":"OpenAI.ImageGenTool","com.azure.ai.projects.models.ImageGenToolBackground":"OpenAI.ImageGenTool.background.anonymous","com.azure.ai.projects.models.ImageGenToolInputImageMask":"OpenAI.ImageGenToolInputImageMask","com.azure.ai.projects.models.ImageGenToolModel":"OpenAI.ImageGenTool.model.anonymous","com.azure.ai.projects.models.ImageGenToolModeration":"OpenAI.ImageGenTool.moderation.anonymous","com.azure.ai.projects.models.ImageGenToolOutputFormat":"OpenAI.ImageGenTool.output_format.anonymous","com.azure.ai.projects.models.ImageGenToolQuality":"OpenAI.ImageGenTool.quality.anonymous","com.azure.ai.projects.models.ImageGenToolSize":"OpenAI.ImageGenTool.size.anonymous","com.azure.ai.projects.models.IndexType":"Azure.AI.Projects.IndexType","com.azure.ai.projects.models.InlineSkillParam":"OpenAI.InlineSkillParam","com.azure.ai.projects.models.InlineSkillSourceParam":"OpenAI.InlineSkillSourceParam","com.azure.ai.projects.models.InputFidelity":"OpenAI.InputFidelity","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.LocalShellToolParam":"OpenAI.LocalShellToolParam","com.azure.ai.projects.models.LocalSkillParam":"OpenAI.LocalSkillParam","com.azure.ai.projects.models.LoraConfig":"Azure.AI.Projects.LoraConfig","com.azure.ai.projects.models.MCPTool":"OpenAI.MCPTool","com.azure.ai.projects.models.MCPToolConnectorId":"OpenAI.MCPTool.connector_id.anonymous","com.azure.ai.projects.models.MCPToolFilter":"OpenAI.MCPToolFilter","com.azure.ai.projects.models.MCPToolRequireApproval":"OpenAI.MCPToolRequireApproval","com.azure.ai.projects.models.ManagedAzureAISearchIndex":"Azure.AI.Projects.ManagedAzureAISearchIndex","com.azure.ai.projects.models.ModelCredentialRequest":"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.ModelPendingUploadRequest":"Azure.AI.Projects.ModelPendingUploadRequest","com.azure.ai.projects.models.ModelPendingUploadResponse":"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.RankerVersionType":"OpenAI.RankerVersionType","com.azure.ai.projects.models.RankingOptions":"OpenAI.RankingOptions","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.RoutineRunDiagnostics":"Azure.AI.Projects.RoutineRunDiagnostics","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.SearchContextSize":"OpenAI.SearchContextSize","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.Skill":"Azure.AI.Projects.Skill","com.azure.ai.projects.models.SkillInlineContent":"Azure.AI.Projects.SkillInlineContent","com.azure.ai.projects.models.SkillReferenceParam":"OpenAI.SkillReferenceParam","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.TimerRoutineTrigger":"Azure.AI.Projects.TimerRoutineTrigger","com.azure.ai.projects.models.Tool":"OpenAI.Tool","com.azure.ai.projects.models.ToolDescription":"Azure.AI.Projects.ToolDescription","com.azure.ai.projects.models.ToolType":"OpenAI.ToolType","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.UpdateModelVersionRequest":"Azure.AI.Projects.UpdateModelVersionRequest","com.azure.ai.projects.models.WebSearchApproximateLocation":"OpenAI.WebSearchApproximateLocation","com.azure.ai.projects.models.WebSearchPreviewTool":"OpenAI.WebSearchPreviewTool","com.azure.ai.projects.models.WebSearchTool":"OpenAI.WebSearchTool","com.azure.ai.projects.models.WebSearchToolFilters":"OpenAI.WebSearchToolFilters","com.azure.ai.projects.models.WebSearchToolSearchContextSize":"OpenAI.WebSearchTool.search_context_size.anonymous","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/ConnectionsAsyncClient.java","src/main/java/com/azure/ai/projects/ConnectionsClient.java","src/main/java/com/azure/ai/projects/DataGenerationJobsAsyncClient.java","src/main/java/com/azure/ai/projects/DataGenerationJobsClient.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/EvaluationTaxonomiesAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluationTaxonomiesClient.java","src/main/java/com/azure/ai/projects/EvaluatorsAsyncClient.java","src/main/java/com/azure/ai/projects/EvaluatorsClient.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/InsightsAsyncClient.java","src/main/java/com/azure/ai/projects/InsightsClient.java","src/main/java/com/azure/ai/projects/ModelsAsyncClient.java","src/main/java/com/azure/ai/projects/ModelsClient.java","src/main/java/com/azure/ai/projects/RedTeamsAsyncClient.java","src/main/java/com/azure/ai/projects/RedTeamsClient.java","src/main/java/com/azure/ai/projects/RoutinesAsyncClient.java","src/main/java/com/azure/ai/projects/RoutinesClient.java","src/main/java/com/azure/ai/projects/SchedulesAsyncClient.java","src/main/java/com/azure/ai/projects/SchedulesClient.java","src/main/java/com/azure/ai/projects/SkillsAsyncClient.java","src/main/java/com/azure/ai/projects/SkillsClient.java","src/main/java/com/azure/ai/projects/implementation/AIProjectClientImpl.java","src/main/java/com/azure/ai/projects/implementation/ConnectionsImpl.java","src/main/java/com/azure/ai/projects/implementation/DataGenerationJobsImpl.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/EvaluationTaxonomiesImpl.java","src/main/java/com/azure/ai/projects/implementation/EvaluatorsImpl.java","src/main/java/com/azure/ai/projects/implementation/IndexesImpl.java","src/main/java/com/azure/ai/projects/implementation/InsightsImpl.java","src/main/java/com/azure/ai/projects/implementation/JsonMergePatchHelper.java","src/main/java/com/azure/ai/projects/implementation/ModelsImpl.java","src/main/java/com/azure/ai/projects/implementation/MultipartFormDataHelper.java","src/main/java/com/azure/ai/projects/implementation/RedTeamsImpl.java","src/main/java/com/azure/ai/projects/implementation/RoutinesImpl.java","src/main/java/com/azure/ai/projects/implementation/SchedulesImpl.java","src/main/java/com/azure/ai/projects/implementation/SkillsImpl.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/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/ApplyPatchToolParam.java","src/main/java/com/azure/ai/projects/models/ApproximateLocation.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/AutoCodeInterpreterToolParam.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/CodeInterpreterTool.java","src/main/java/com/azure/ai/projects/models/ComputerEnvironment.java","src/main/java/com/azure/ai/projects/models/ComputerUsePreviewTool.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/ContainerAutoParam.java","src/main/java/com/azure/ai/projects/models/ContainerMemoryLimit.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyAllowlistParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyDisabledParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyDomainSecretParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyParam.java","src/main/java/com/azure/ai/projects/models/ContainerNetworkPolicyParamType.java","src/main/java/com/azure/ai/projects/models/ContainerSkill.java","src/main/java/com/azure/ai/projects/models/ContainerSkillType.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/CustomGrammarFormatParam.java","src/main/java/com/azure/ai/projects/models/CustomTextFormatParam.java","src/main/java/com/azure/ai/projects/models/CustomToolParam.java","src/main/java/com/azure/ai/projects/models/CustomToolParamFormat.java","src/main/java/com/azure/ai/projects/models/CustomToolParamFormatType.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/DeleteSkillVersionResponse.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/DispatchRoutineResponse.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/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/EvaluationScheduleTaskEvalRun.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/EvaluatorCredentialRequest.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/FileSearchTool.java","src/main/java/com/azure/ai/projects/models/FilesFileDetails.java","src/main/java/com/azure/ai/projects/models/FolderDatasetVersion.java","src/main/java/com/azure/ai/projects/models/FoundryFeaturesOptInKeys.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/FunctionShellToolParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironment.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentContainerReferenceParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentLocalEnvironmentParam.java","src/main/java/com/azure/ai/projects/models/FunctionShellToolParamEnvironmentType.java","src/main/java/com/azure/ai/projects/models/FunctionTool.java","src/main/java/com/azure/ai/projects/models/GitHubIssueOpenedRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/GrammarSyntax.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/HybridSearchOptions.java","src/main/java/com/azure/ai/projects/models/ImageGenActionEnum.java","src/main/java/com/azure/ai/projects/models/ImageGenTool.java","src/main/java/com/azure/ai/projects/models/ImageGenToolBackground.java","src/main/java/com/azure/ai/projects/models/ImageGenToolInputImageMask.java","src/main/java/com/azure/ai/projects/models/ImageGenToolModel.java","src/main/java/com/azure/ai/projects/models/ImageGenToolModeration.java","src/main/java/com/azure/ai/projects/models/ImageGenToolOutputFormat.java","src/main/java/com/azure/ai/projects/models/ImageGenToolQuality.java","src/main/java/com/azure/ai/projects/models/ImageGenToolSize.java","src/main/java/com/azure/ai/projects/models/IndexType.java","src/main/java/com/azure/ai/projects/models/InlineSkillParam.java","src/main/java/com/azure/ai/projects/models/InlineSkillSourceParam.java","src/main/java/com/azure/ai/projects/models/InputFidelity.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/LocalShellToolParam.java","src/main/java/com/azure/ai/projects/models/LocalSkillParam.java","src/main/java/com/azure/ai/projects/models/LoraConfig.java","src/main/java/com/azure/ai/projects/models/MCPTool.java","src/main/java/com/azure/ai/projects/models/MCPToolConnectorId.java","src/main/java/com/azure/ai/projects/models/MCPToolFilter.java","src/main/java/com/azure/ai/projects/models/MCPToolRequireApproval.java","src/main/java/com/azure/ai/projects/models/ManagedAzureAISearchIndex.java","src/main/java/com/azure/ai/projects/models/ModelCredentialRequest.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/ModelPendingUploadRequest.java","src/main/java/com/azure/ai/projects/models/ModelPendingUploadResponse.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/RankerVersionType.java","src/main/java/com/azure/ai/projects/models/RankingOptions.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/RoutineRunDiagnostics.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/SearchContextSize.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/Skill.java","src/main/java/com/azure/ai/projects/models/SkillInlineContent.java","src/main/java/com/azure/ai/projects/models/SkillReferenceParam.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/TimerRoutineTrigger.java","src/main/java/com/azure/ai/projects/models/Tool.java","src/main/java/com/azure/ai/projects/models/ToolDescription.java","src/main/java/com/azure/ai/projects/models/ToolType.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/UpdateModelVersionRequest.java","src/main/java/com/azure/ai/projects/models/WebSearchApproximateLocation.java","src/main/java/com/azure/ai/projects/models/WebSearchPreviewTool.java","src/main/java/com/azure/ai/projects/models/WebSearchTool.java","src/main/java/com/azure/ai/projects/models/WebSearchToolFilters.java","src/main/java/com/azure/ai/projects/models/WebSearchToolSearchContextSize.java","src/main/java/com/azure/ai/projects/models/WeeklyRecurrenceSchedule.java","src/main/java/com/azure/ai/projects/models/package-info.java","src/main/java/com/azure/ai/projects/package-info.java","src/main/java/module-info.java"]} \ No newline at end of file diff --git a/sdk/ai/azure-ai-projects/tsp-location.yaml b/sdk/ai/azure-ai-projects/tsp-location.yaml index a4ab88e9aeab..c440da7d267f 100644 --- a/sdk/ai/azure-ai-projects/tsp-location.yaml +++ b/sdk/ai/azure-ai-projects/tsp-location.yaml @@ -1,4 +1,4 @@ directory: specification/ai-foundry/data-plane/Foundry -commit: 8d41b329aa3b400034815b2facbff1e281fd9dba +commit: dadc76074e03777ad2200f27b32950b079f4c5f5 repo: Azure/azure-rest-api-specs entrypointFile: client.java.tsp From ba3065959ebbc95c5c336dcb2f457204a822cf9d Mon Sep 17 00:00:00 2001 From: kaylieee Date: Tue, 26 May 2026 15:24:45 -0700 Subject: [PATCH 2/2] add toolbox customizations --- .../src/main/java/AgentsCustomizations.java | 16 +++ .../azure/ai/agents/ToolboxesAsyncClient.java | 106 ++++++++---------- .../com/azure/ai/agents/ToolboxesClient.java | 75 +++++++++---- .../models/FoundryFeaturesOptInKeys.java | 19 ++-- 4 files changed, 122 insertions(+), 94 deletions(-) diff --git a/sdk/ai/azure-ai-agents/customizations/src/main/java/AgentsCustomizations.java b/sdk/ai/azure-ai-agents/customizations/src/main/java/AgentsCustomizations.java index 592020d63a72..f96d1cfea5aa 100644 --- a/sdk/ai/azure-ai-agents/customizations/src/main/java/AgentsCustomizations.java +++ b/sdk/ai/azure-ai-agents/customizations/src/main/java/AgentsCustomizations.java @@ -15,6 +15,7 @@ public class AgentsCustomizations extends Customization { public void customize(LibraryCustomization libraryCustomization, Logger logger) { renameImageGenToolSize(libraryCustomization, logger); modifyPollingStrategies(libraryCustomization, logger); + addToolboxesV1PreviewEnumValue(libraryCustomization, logger); } private void renameImageGenToolSize(LibraryCustomization customization, Logger logger) { @@ -53,4 +54,19 @@ private void modifyPollingStrategies(LibraryCustomization customization, Logger clazz.addMember(StaticJavaParser.parseMethodDeclaration("@Override public PollResponse poll(PollingContext pollingContext, TypeReference pollResponseType) { return AgentsServicePollUtils.remapStatus(super.poll(pollingContext, pollResponseType)); }")); })); } + + private void addToolboxesV1PreviewEnumValue(LibraryCustomization customization, Logger logger) { + customization.getClass("com.azure.ai.agents.models", "FoundryFeaturesOptInKeys") + .customizeAst(ast -> ast.getEnumByName("FoundryFeaturesOptInKeys") + .ifPresent(clazz -> { + // Add TOOLBOXES_V1_PREVIEW enum constant if not already present + boolean alreadyExists = clazz.getEntries().stream() + .anyMatch(entry -> "TOOLBOXES_V1_PREVIEW".equals(entry.getName().getIdentifier())); + if (!alreadyExists) { + clazz.addEnumConstant("TOOLBOXES_V1_PREVIEW") + .addArgument("\"Toolboxes=V1Preview\"") + .setJavadocComment("Toolboxes V1 Preview."); + } + })); + } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java index 91ad274410b8..a8e11d06bd0c 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesAsyncClient.java @@ -6,11 +6,10 @@ import com.azure.ai.agents.implementation.ToolboxesImpl; import com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest; import com.azure.ai.agents.implementation.models.UpdateToolboxRequest; +import com.azure.ai.agents.models.FoundryFeaturesOptInKeys; import com.azure.ai.agents.models.PageOrder; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; -import com.azure.ai.agents.models.ToolboxPolicies; -import com.azure.ai.agents.models.ToolboxSkill; import com.azure.ai.agents.models.ToolboxVersionDetails; import com.azure.core.annotation.Generated; import com.azure.core.annotation.ReturnType; @@ -20,6 +19,7 @@ import com.azure.core.exception.HttpResponseException; import com.azure.core.exception.ResourceModifiedException; import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpHeaderName; import com.azure.core.http.rest.PagedFlux; import com.azure.core.http.rest.PagedResponse; import com.azure.core.http.rest.PagedResponseBase; @@ -28,7 +28,6 @@ import com.azure.core.util.BinaryData; import com.azure.core.util.FluxUtil; import java.util.List; -import java.util.Map; import java.util.stream.Collectors; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -415,11 +414,14 @@ public Mono> deleteToolboxVersionWithResponse(String name, String * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a specific version of a toolbox on successful completion of {@link Mono}. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createToolboxVersion(String name, List tools) { + public Mono createToolboxVersion(String name, List tools, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for createToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } CreateToolboxVersionRequest createToolboxVersionRequestObj = new CreateToolboxVersionRequest(tools); BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions) @@ -439,11 +441,13 @@ public Mono createToolboxVersion(String name, List * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a toolbox that stores reusable tool definitions for agents on successful completion of {@link Mono}. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getToolbox(String name) { + public Mono getToolbox(String name, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for getToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return getToolboxWithResponse(name, requestOptions).flatMap(FluxUtil::toMono) .map(protocolMethodData -> protocolMethodData.toObject(ToolboxDetails.class)); } @@ -469,11 +473,14 @@ public Mono getToolbox(String name) { * @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 listToolboxes(Integer limit, PageOrder order, String after, String before) { + public PagedFlux listToolboxes(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, + PageOrder order, String after, String before) { // Generated convenience method for listToolboxes RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); } @@ -511,11 +518,13 @@ public PagedFlux listToolboxes(Integer limit, PageOrder order, S * @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 listToolboxes() { + public PagedFlux listToolboxes(FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for listToolboxes RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } PagedFlux pagedFluxResponse = listToolboxes(requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { Flux> flux = (continuationTokenParam == null) @@ -553,12 +562,14 @@ public PagedFlux listToolboxes() { * @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 listToolboxVersions(String name, Integer limit, PageOrder order, - String after, String before) { + public PagedFlux listToolboxVersions(String name, FoundryFeaturesOptInKeys foundryFeatures, + Integer limit, PageOrder order, String after, String before) { // Generated convenience method for listToolboxVersions RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); } @@ -599,11 +610,13 @@ public PagedFlux listToolboxVersions(String name, Integer * @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 listToolboxVersions(String name) { + public PagedFlux listToolboxVersions(String name, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for listToolboxVersions RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } PagedFlux pagedFluxResponse = listToolboxVersions(name, requestOptions); return PagedFlux.create(() -> (continuationTokenParam, pageSizeParam) -> { Flux> flux = (continuationTokenParam == null) @@ -633,11 +646,14 @@ public PagedFlux listToolboxVersions(String name) { * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a specific version of a toolbox on successful completion of {@link Mono}. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono getToolboxVersion(String name, String version) { + public Mono getToolboxVersion(String name, String version, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for getToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return getToolboxVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono) .map(protocolMethodData -> protocolMethodData.toObject(ToolboxVersionDetails.class)); } @@ -656,11 +672,14 @@ public Mono getToolboxVersion(String name, String version * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a toolbox that stores reusable tool definitions for agents on successful completion of {@link Mono}. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public Mono updateToolbox(String name, String defaultVersion) { + public Mono updateToolbox(String name, String defaultVersion, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for updateToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } UpdateToolboxRequest updateToolboxRequestObj = new UpdateToolboxRequest(defaultVersion); BinaryData updateToolboxRequest = BinaryData.fromObject(updateToolboxRequestObj); return updateToolboxWithResponse(name, updateToolboxRequest, requestOptions).flatMap(FluxUtil::toMono) @@ -679,11 +698,13 @@ public Mono updateToolbox(String name, String defaultVersion) { * @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 deleteToolbox(String name) { + public Mono deleteToolbox(String name, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for deleteToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return deleteToolboxWithResponse(name, requestOptions).flatMap(FluxUtil::toMono); } @@ -700,46 +721,13 @@ public Mono deleteToolbox(String name) { * @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 deleteToolboxVersion(String name, String version) { + public Mono deleteToolboxVersion(String name, String version, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for deleteToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return deleteToolboxVersionWithResponse(name, version, requestOptions).flatMap(FluxUtil::toMono); } - - /** - * Create a new version of a toolbox. If the toolbox does not exist, it will be created. - * - * @param name The name of the toolbox. If the toolbox does not exist, it will be created. - * @param tools The list of tools to include in this version. - * @param description A human-readable description of the toolbox. - * @param metadata Arbitrary key-value metadata to associate with the toolbox. - * @param skills The list of skill sources to include in this version. A skill reference specifies a skill name and - * optionally a version. If version is omitted, the skill's default version is used. - * @param policies Policy configuration for this toolbox version. - * @throws IllegalArgumentException thrown if parameters fail the validation. - * @throws HttpResponseException thrown if the request is rejected by server. - * @throws ClientAuthenticationException thrown if the request is rejected by server on status code 401. - * @throws ResourceNotFoundException thrown if the request is rejected by server on status code 404. - * @throws ResourceModifiedException thrown if the 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 specific version of a toolbox on successful completion of {@link Mono}. - */ - @Generated - @ServiceMethod(returns = ReturnType.SINGLE) - public Mono createToolboxVersion(String name, List tools, String description, - Map metadata, List skills, ToolboxPolicies policies) { - // Generated convenience method for createToolboxVersionWithResponse - RequestOptions requestOptions = new RequestOptions(); - CreateToolboxVersionRequest createToolboxVersionRequestObj - = new CreateToolboxVersionRequest(tools).setDescription(description) - .setMetadata(metadata) - .setSkills(skills) - .setPolicies(policies); - BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); - return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions) - .flatMap(FluxUtil::toMono) - .map(protocolMethodData -> protocolMethodData.toObject(ToolboxVersionDetails.class)); - } } diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java index 33045706bd65..9ddb3b8fe77d 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/ToolboxesClient.java @@ -6,6 +6,7 @@ import com.azure.ai.agents.implementation.ToolboxesImpl; import com.azure.ai.agents.implementation.models.CreateToolboxVersionRequest; import com.azure.ai.agents.implementation.models.UpdateToolboxRequest; +import com.azure.ai.agents.models.FoundryFeaturesOptInKeys; import com.azure.ai.agents.models.PageOrder; import com.azure.ai.agents.models.Tool; import com.azure.ai.agents.models.ToolboxDetails; @@ -20,6 +21,7 @@ import com.azure.core.exception.HttpResponseException; import com.azure.core.exception.ResourceModifiedException; import com.azure.core.exception.ResourceNotFoundException; +import com.azure.core.http.HttpHeaderName; import com.azure.core.http.rest.PagedIterable; import com.azure.core.http.rest.RequestOptions; import com.azure.core.http.rest.Response; @@ -405,11 +407,14 @@ public Response deleteToolboxVersionWithResponse(String name, String versi * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a specific version of a toolbox. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public ToolboxVersionDetails createToolboxVersion(String name, List tools) { + public ToolboxVersionDetails createToolboxVersion(String name, List tools, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for createToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } CreateToolboxVersionRequest createToolboxVersionRequestObj = new CreateToolboxVersionRequest(tools); BinaryData createToolboxVersionRequest = BinaryData.fromObject(createToolboxVersionRequestObj); return createToolboxVersionWithResponse(name, createToolboxVersionRequest, requestOptions).getValue() @@ -428,11 +433,13 @@ public ToolboxVersionDetails createToolboxVersion(String name, List tools) * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a toolbox that stores reusable tool definitions for agents. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public ToolboxDetails getToolbox(String name) { + public ToolboxDetails getToolbox(String name, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for getToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return getToolboxWithResponse(name, requestOptions).getValue().toObject(ToolboxDetails.class); } @@ -457,11 +464,14 @@ public ToolboxDetails getToolbox(String name) { * @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 listToolboxes(Integer limit, PageOrder order, String after, String before) { + public PagedIterable listToolboxes(FoundryFeaturesOptInKeys foundryFeatures, Integer limit, + PageOrder order, String after, String before) { // Generated convenience method for listToolboxes RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); } @@ -488,11 +498,13 @@ public PagedIterable listToolboxes(Integer limit, PageOrder orde * @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 listToolboxes() { + public PagedIterable listToolboxes(FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for listToolboxes RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return serviceClient.listToolboxes(requestOptions) .mapPage(bodyItemValue -> bodyItemValue.toObject(ToolboxDetails.class)); } @@ -519,12 +531,14 @@ public PagedIterable listToolboxes() { * @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 listToolboxVersions(String name, Integer limit, PageOrder order, - String after, String before) { + public PagedIterable listToolboxVersions(String name, + FoundryFeaturesOptInKeys foundryFeatures, Integer limit, PageOrder order, String after, String before) { // Generated convenience method for listToolboxVersions RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } if (limit != null) { requestOptions.addQueryParam("limit", String.valueOf(limit), false); } @@ -553,11 +567,14 @@ public PagedIterable listToolboxVersions(String name, Int * @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 listToolboxVersions(String name) { + public PagedIterable listToolboxVersions(String name, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for listToolboxVersions RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return serviceClient.listToolboxVersions(name, requestOptions) .mapPage(bodyItemValue -> bodyItemValue.toObject(ToolboxVersionDetails.class)); } @@ -575,11 +592,14 @@ public PagedIterable listToolboxVersions(String name) { * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a specific version of a toolbox. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public ToolboxVersionDetails getToolboxVersion(String name, String version) { + public ToolboxVersionDetails getToolboxVersion(String name, String version, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for getToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } return getToolboxVersionWithResponse(name, version, requestOptions).getValue() .toObject(ToolboxVersionDetails.class); } @@ -598,11 +618,13 @@ public ToolboxVersionDetails getToolboxVersion(String name, String version) { * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a toolbox that stores reusable tool definitions for agents. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) - public ToolboxDetails updateToolbox(String name, String defaultVersion) { + public ToolboxDetails updateToolbox(String name, String defaultVersion, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for updateToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } UpdateToolboxRequest updateToolboxRequestObj = new UpdateToolboxRequest(defaultVersion); BinaryData updateToolboxRequest = BinaryData.fromObject(updateToolboxRequestObj); return updateToolboxWithResponse(name, updateToolboxRequest, requestOptions).getValue() @@ -620,11 +642,13 @@ public ToolboxDetails updateToolbox(String name, String defaultVersion) { * @throws ResourceModifiedException thrown if 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 deleteToolbox(String name) { + public void deleteToolbox(String name, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for deleteToolboxWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } deleteToolboxWithResponse(name, requestOptions).getValue(); } @@ -640,11 +664,13 @@ public void deleteToolbox(String name) { * @throws ResourceModifiedException thrown if 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 deleteToolboxVersion(String name, String version) { + public void deleteToolboxVersion(String name, String version, FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for deleteToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } deleteToolboxVersionWithResponse(name, version, requestOptions).getValue(); } @@ -666,12 +692,15 @@ public void deleteToolboxVersion(String name, String version) { * @throws RuntimeException all other wrapped checked exceptions if the request fails to be sent. * @return a specific version of a toolbox. */ - @Generated @ServiceMethod(returns = ReturnType.SINGLE) public ToolboxVersionDetails createToolboxVersion(String name, List tools, String description, - Map metadata, List skills, ToolboxPolicies policies) { + Map metadata, List skills, ToolboxPolicies policies, + FoundryFeaturesOptInKeys foundryFeatures) { // Generated convenience method for createToolboxVersionWithResponse RequestOptions requestOptions = new RequestOptions(); + if (foundryFeatures != null) { + requestOptions.setHeader(HttpHeaderName.fromString("Foundry-Features"), foundryFeatures.toString()); + } CreateToolboxVersionRequest createToolboxVersionRequestObj = new CreateToolboxVersionRequest(tools).setDescription(description) .setMetadata(metadata) diff --git a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FoundryFeaturesOptInKeys.java b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FoundryFeaturesOptInKeys.java index dcad86fa586d..fcef76f83730 100644 --- a/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FoundryFeaturesOptInKeys.java +++ b/sdk/ai/azure-ai-agents/src/main/java/com/azure/ai/agents/models/FoundryFeaturesOptInKeys.java @@ -1,62 +1,57 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // Code generated by Microsoft (R) TypeSpec Code Generator. - package com.azure.ai.agents.models; /** * Defines values for FoundryFeaturesOptInKeys. */ public enum FoundryFeaturesOptInKeys { + /** * Enum value Evaluations=V1Preview. */ EVALUATIONS_V1_PREVIEW("Evaluations=V1Preview"), - /** * Enum value Schedules=V1Preview. */ SCHEDULES_V1_PREVIEW("Schedules=V1Preview"), - /** * Enum value RedTeams=V1Preview. */ RED_TEAMS_V1_PREVIEW("RedTeams=V1Preview"), - /** * Enum value Insights=V1Preview. */ INSIGHTS_V1_PREVIEW("Insights=V1Preview"), - /** * Enum value MemoryStores=V1Preview. */ MEMORY_STORES_V1_PREVIEW("MemoryStores=V1Preview"), - /** * Enum value Routines=V1Preview. */ ROUTINES_V1_PREVIEW("Routines=V1Preview"), - /** * Enum value Skills=V1Preview. */ SKILLS_V1_PREVIEW("Skills=V1Preview"), - /** * Enum value DataGenerationJobs=V1Preview. */ DATA_GENERATION_JOBS_V1_PREVIEW("DataGenerationJobs=V1Preview"), - /** * Enum value Models=V1Preview. */ MODELS_V1_PREVIEW("Models=V1Preview"), - /** * Enum value AgentsOptimization=V1Preview. */ - AGENTS_OPTIMIZATION_V1_PREVIEW("AgentsOptimization=V1Preview"); + AGENTS_OPTIMIZATION_V1_PREVIEW("AgentsOptimization=V1Preview"), + /** + * Toolboxes V1 Preview. + */ + TOOLBOXES_V1_PREVIEW("Toolboxes=V1Preview"); /** * The actual serialized value for a FoundryFeaturesOptInKeys instance. @@ -69,7 +64,7 @@ public enum FoundryFeaturesOptInKeys { /** * Parses a serialized value to a FoundryFeaturesOptInKeys instance. - * + * * @param value the serialized value to parse. * @return the parsed FoundryFeaturesOptInKeys object, or null if unable to parse. */
Query Parameters