package com.muse.dto; import java.net.URI; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonValue; import java.util.UUID; import org.springframework.lang.Nullable; import java.io.Serializable; import java.time.OffsetDateTime; import jakarta.validation.Valid; import jakarta.validation.constraints.*; import io.swagger.v3.oas.annotations.media.Schema; import java.util.*; import jakarta.annotation.Generated; /** * AgentTestResult */ @Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2026-05-24T16:47:40.290595+08:00[Asia/Shanghai]", comments = "Generator version: 7.22.0") public class AgentTestResult implements Serializable { private static final long serialVersionUID = 1L; private String trialSessionId; private @Nullable Object outputPreview; private Boolean usageCharged; /** * 输出实际落点 */ public enum OutputDestinationEnum { PREVIEW_ONLY("preview_only"), SHADOW_CANDIDATE("shadow_candidate"); private final String value; OutputDestinationEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static OutputDestinationEnum fromValue(String value) { for (OutputDestinationEnum b : OutputDestinationEnum.values()) { if (b.value.equals(value)) { return b; } } throw new IllegalArgumentException("Unexpected value '" + value + "'"); } } private OutputDestinationEnum outputDestination; private @Nullable UUID suggestionId; private @Nullable UUID jobId; public AgentTestResult() { super(); } /** * Constructor with only required parameters */ public AgentTestResult(String trialSessionId, Boolean usageCharged, OutputDestinationEnum outputDestination) { this.trialSessionId = trialSessionId; this.usageCharged = usageCharged; this.outputDestination = outputDestination; } public AgentTestResult trialSessionId(String trialSessionId) { this.trialSessionId = trialSessionId; return this; } /** * 本次试用会话 ID,用于关联后续查询和审计 * @return trialSessionId */ @NotNull @Schema(name = "trialSessionId", description = "本次试用会话 ID,用于关联后续查询和审计", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("trialSessionId") public String getTrialSessionId() { return trialSessionId; } @JsonProperty("trialSessionId") public void setTrialSessionId(String trialSessionId) { this.trialSessionId = trialSessionId; } public AgentTestResult outputPreview(@Nullable Object outputPreview) { this.outputPreview = outputPreview; return this; } /** * 智能体输出预览内容 * @return outputPreview */ @Schema(name = "outputPreview", description = "智能体输出预览内容", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("outputPreview") public @Nullable Object getOutputPreview() { return outputPreview; } @JsonProperty("outputPreview") public void setOutputPreview(@Nullable Object outputPreview) { this.outputPreview = outputPreview; } public AgentTestResult usageCharged(Boolean usageCharged) { this.usageCharged = usageCharged; return this; } /** * 本次试用是否实际计费 * @return usageCharged */ @NotNull @Schema(name = "usageCharged", description = "本次试用是否实际计费", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("usageCharged") public Boolean getUsageCharged() { return usageCharged; } @JsonProperty("usageCharged") public void setUsageCharged(Boolean usageCharged) { this.usageCharged = usageCharged; } public AgentTestResult outputDestination(OutputDestinationEnum outputDestination) { this.outputDestination = outputDestination; return this; } /** * 输出实际落点 * @return outputDestination */ @NotNull @Schema(name = "outputDestination", description = "输出实际落点", requiredMode = Schema.RequiredMode.REQUIRED) @JsonProperty("outputDestination") public OutputDestinationEnum getOutputDestination() { return outputDestination; } @JsonProperty("outputDestination") public void setOutputDestination(OutputDestinationEnum outputDestination) { this.outputDestination = outputDestination; } public AgentTestResult suggestionId(@Nullable UUID suggestionId) { this.suggestionId = suggestionId; return this; } /** * outputDestination=shadow_candidate 时关联的候选 ID * @return suggestionId */ @Valid @Schema(name = "suggestionId", description = "outputDestination=shadow_candidate 时关联的候选 ID", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("suggestionId") public @Nullable UUID getSuggestionId() { return suggestionId; } @JsonProperty("suggestionId") public void setSuggestionId(@Nullable UUID suggestionId) { this.suggestionId = suggestionId; } public AgentTestResult jobId(@Nullable UUID jobId) { this.jobId = jobId; return this; } /** * 若异步执行,返回任务 ID 供轮询 * @return jobId */ @Valid @Schema(name = "jobId", description = "若异步执行,返回任务 ID 供轮询", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("jobId") public @Nullable UUID getJobId() { return jobId; } @JsonProperty("jobId") public void setJobId(@Nullable UUID jobId) { this.jobId = jobId; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AgentTestResult agentTestResult = (AgentTestResult) o; return Objects.equals(this.trialSessionId, agentTestResult.trialSessionId) && Objects.equals(this.outputPreview, agentTestResult.outputPreview) && Objects.equals(this.usageCharged, agentTestResult.usageCharged) && Objects.equals(this.outputDestination, agentTestResult.outputDestination) && Objects.equals(this.suggestionId, agentTestResult.suggestionId) && Objects.equals(this.jobId, agentTestResult.jobId); } @Override public int hashCode() { return Objects.hash(trialSessionId, outputPreview, usageCharged, outputDestination, suggestionId, jobId); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AgentTestResult {\n"); sb.append(" trialSessionId: ").append(toIndentedString(trialSessionId)).append("\n"); sb.append(" outputPreview: ").append(toIndentedString(outputPreview)).append("\n"); sb.append(" usageCharged: ").append(toIndentedString(usageCharged)).append("\n"); sb.append(" outputDestination: ").append(toIndentedString(outputDestination)).append("\n"); sb.append(" suggestionId: ").append(toIndentedString(suggestionId)).append("\n"); sb.append(" jobId: ").append(toIndentedString(jobId)).append("\n"); sb.append("}"); return sb.toString(); } /** * Convert the given object to string with each line indented by 4 spaces * (except the first line). */ private String toIndentedString(@Nullable Object o) { return o == null ? "null" : o.toString().replace("\n", "\n "); } }