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 java.util.ArrayList; import java.util.Arrays; import java.util.List; 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; /** * 智能体资产可信信息 */ @Schema(name = "AgentAssetInfo", description = "智能体资产可信信息") @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 AgentAssetInfo implements Serializable { private static final long serialVersionUID = 1L; private @Nullable String capabilityCategory; private @Nullable String slotCompatibility; private @Nullable String inputOutputContract; @Valid private List toolAuthorizations = new ArrayList<>(); private @Nullable String outboundScope; private @Nullable Boolean containsPrivatePromptSummary; private @Nullable String trialLimitation; private @Nullable Boolean cannotReplaceSystemProtection; public AgentAssetInfo capabilityCategory(@Nullable String capabilityCategory) { this.capabilityCategory = capabilityCategory; return this; } /** * 能力类别 * @return capabilityCategory */ @Schema(name = "capabilityCategory", description = "能力类别", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("capabilityCategory") public @Nullable String getCapabilityCategory() { return capabilityCategory; } @JsonProperty("capabilityCategory") public void setCapabilityCategory(@Nullable String capabilityCategory) { this.capabilityCategory = capabilityCategory; } public AgentAssetInfo slotCompatibility(@Nullable String slotCompatibility) { this.slotCompatibility = slotCompatibility; return this; } /** * 开放槽位兼容性 * @return slotCompatibility */ @Schema(name = "slotCompatibility", description = "开放槽位兼容性", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("slotCompatibility") public @Nullable String getSlotCompatibility() { return slotCompatibility; } @JsonProperty("slotCompatibility") public void setSlotCompatibility(@Nullable String slotCompatibility) { this.slotCompatibility = slotCompatibility; } public AgentAssetInfo inputOutputContract(@Nullable String inputOutputContract) { this.inputOutputContract = inputOutputContract; return this; } /** * 输入输出合同摘要 * @return inputOutputContract */ @Schema(name = "inputOutputContract", description = "输入输出合同摘要", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("inputOutputContract") public @Nullable String getInputOutputContract() { return inputOutputContract; } @JsonProperty("inputOutputContract") public void setInputOutputContract(@Nullable String inputOutputContract) { this.inputOutputContract = inputOutputContract; } public AgentAssetInfo toolAuthorizations(List toolAuthorizations) { this.toolAuthorizations = toolAuthorizations; return this; } public AgentAssetInfo addToolAuthorizationsItem(String toolAuthorizationsItem) { if (this.toolAuthorizations == null) { this.toolAuthorizations = new ArrayList<>(); } this.toolAuthorizations.add(toolAuthorizationsItem); return this; } /** * 可使用工具列表 * @return toolAuthorizations */ @Schema(name = "toolAuthorizations", description = "可使用工具列表", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("toolAuthorizations") public List getToolAuthorizations() { return toolAuthorizations; } @JsonProperty("toolAuthorizations") public void setToolAuthorizations(List toolAuthorizations) { this.toolAuthorizations = toolAuthorizations; } public AgentAssetInfo outboundScope(@Nullable String outboundScope) { this.outboundScope = outboundScope; return this; } /** * 外发范围说明 * @return outboundScope */ @Schema(name = "outboundScope", description = "外发范围说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("outboundScope") public @Nullable String getOutboundScope() { return outboundScope; } @JsonProperty("outboundScope") public void setOutboundScope(@Nullable String outboundScope) { this.outboundScope = outboundScope; } public AgentAssetInfo containsPrivatePromptSummary(@Nullable Boolean containsPrivatePromptSummary) { this.containsPrivatePromptSummary = containsPrivatePromptSummary; return this; } /** * 是否含私有 Prompt 摘要 * @return containsPrivatePromptSummary */ @Schema(name = "containsPrivatePromptSummary", description = "是否含私有 Prompt 摘要", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("containsPrivatePromptSummary") public @Nullable Boolean getContainsPrivatePromptSummary() { return containsPrivatePromptSummary; } @JsonProperty("containsPrivatePromptSummary") public void setContainsPrivatePromptSummary(@Nullable Boolean containsPrivatePromptSummary) { this.containsPrivatePromptSummary = containsPrivatePromptSummary; } public AgentAssetInfo trialLimitation(@Nullable String trialLimitation) { this.trialLimitation = trialLimitation; return this; } /** * 试用限制说明 * @return trialLimitation */ @Schema(name = "trialLimitation", description = "试用限制说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("trialLimitation") public @Nullable String getTrialLimitation() { return trialLimitation; } @JsonProperty("trialLimitation") public void setTrialLimitation(@Nullable String trialLimitation) { this.trialLimitation = trialLimitation; } public AgentAssetInfo cannotReplaceSystemProtection(@Nullable Boolean cannotReplaceSystemProtection) { this.cannotReplaceSystemProtection = cannotReplaceSystemProtection; return this; } /** * 不可替换系统保护节点说明 * @return cannotReplaceSystemProtection */ @Schema(name = "cannotReplaceSystemProtection", description = "不可替换系统保护节点说明", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @JsonProperty("cannotReplaceSystemProtection") public @Nullable Boolean getCannotReplaceSystemProtection() { return cannotReplaceSystemProtection; } @JsonProperty("cannotReplaceSystemProtection") public void setCannotReplaceSystemProtection(@Nullable Boolean cannotReplaceSystemProtection) { this.cannotReplaceSystemProtection = cannotReplaceSystemProtection; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } AgentAssetInfo agentAssetInfo = (AgentAssetInfo) o; return Objects.equals(this.capabilityCategory, agentAssetInfo.capabilityCategory) && Objects.equals(this.slotCompatibility, agentAssetInfo.slotCompatibility) && Objects.equals(this.inputOutputContract, agentAssetInfo.inputOutputContract) && Objects.equals(this.toolAuthorizations, agentAssetInfo.toolAuthorizations) && Objects.equals(this.outboundScope, agentAssetInfo.outboundScope) && Objects.equals(this.containsPrivatePromptSummary, agentAssetInfo.containsPrivatePromptSummary) && Objects.equals(this.trialLimitation, agentAssetInfo.trialLimitation) && Objects.equals(this.cannotReplaceSystemProtection, agentAssetInfo.cannotReplaceSystemProtection); } @Override public int hashCode() { return Objects.hash(capabilityCategory, slotCompatibility, inputOutputContract, toolAuthorizations, outboundScope, containsPrivatePromptSummary, trialLimitation, cannotReplaceSystemProtection); } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class AgentAssetInfo {\n"); sb.append(" capabilityCategory: ").append(toIndentedString(capabilityCategory)).append("\n"); sb.append(" slotCompatibility: ").append(toIndentedString(slotCompatibility)).append("\n"); sb.append(" inputOutputContract: ").append(toIndentedString(inputOutputContract)).append("\n"); sb.append(" toolAuthorizations: ").append(toIndentedString(toolAuthorizations)).append("\n"); sb.append(" outboundScope: ").append(toIndentedString(outboundScope)).append("\n"); sb.append(" containsPrivatePromptSummary: ").append(toIndentedString(containsPrivatePromptSummary)).append("\n"); sb.append(" trialLimitation: ").append(toIndentedString(trialLimitation)).append("\n"); sb.append(" cannotReplaceSystemProtection: ").append(toIndentedString(cannotReplaceSystemProtection)).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 "); } }