001package com.box.sdkgen.schemas.aistudioagentbasictexttool; 002 003import com.box.sdkgen.schemas.aiagentbasictexttool.AiAgentBasicTextTool; 004import com.box.sdkgen.schemas.aillmendpointparams.AiLlmEndpointParams; 005import com.box.sdkgen.schemas.aillmendpointparamsaws.AiLlmEndpointParamsAws; 006import com.box.sdkgen.schemas.aillmendpointparamsgoogle.AiLlmEndpointParamsGoogle; 007import com.box.sdkgen.schemas.aillmendpointparamsibm.AiLlmEndpointParamsIbm; 008import com.box.sdkgen.schemas.aillmendpointparamsopenai.AiLlmEndpointParamsOpenAi; 009import com.fasterxml.jackson.annotation.JsonFilter; 010import com.fasterxml.jackson.annotation.JsonProperty; 011import java.util.Objects; 012 013/** AI agent processor used to handle basic text. */ 014@JsonFilter("nullablePropertyFilter") 015public class AiStudioAgentBasicTextTool extends AiAgentBasicTextTool { 016 017 /** True if system message contains custom instructions placeholder, false otherwise. */ 018 @JsonProperty("is_custom_instructions_included") 019 protected Boolean isCustomInstructionsIncluded; 020 021 public AiStudioAgentBasicTextTool() { 022 super(); 023 } 024 025 protected AiStudioAgentBasicTextTool(Builder builder) { 026 super(builder); 027 this.isCustomInstructionsIncluded = builder.isCustomInstructionsIncluded; 028 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 029 } 030 031 public Boolean getIsCustomInstructionsIncluded() { 032 return isCustomInstructionsIncluded; 033 } 034 035 @Override 036 public boolean equals(Object o) { 037 if (this == o) { 038 return true; 039 } 040 if (o == null || getClass() != o.getClass()) { 041 return false; 042 } 043 AiStudioAgentBasicTextTool casted = (AiStudioAgentBasicTextTool) o; 044 return Objects.equals(model, casted.model) 045 && Objects.equals(numTokensForCompletion, casted.numTokensForCompletion) 046 && Objects.equals(llmEndpointParams, casted.llmEndpointParams) 047 && Objects.equals(systemMessage, casted.systemMessage) 048 && Objects.equals(promptTemplate, casted.promptTemplate) 049 && Objects.equals(isCustomInstructionsIncluded, casted.isCustomInstructionsIncluded); 050 } 051 052 @Override 053 public int hashCode() { 054 return Objects.hash( 055 model, 056 numTokensForCompletion, 057 llmEndpointParams, 058 systemMessage, 059 promptTemplate, 060 isCustomInstructionsIncluded); 061 } 062 063 @Override 064 public String toString() { 065 return "AiStudioAgentBasicTextTool{" 066 + "model='" 067 + model 068 + '\'' 069 + ", " 070 + "numTokensForCompletion='" 071 + numTokensForCompletion 072 + '\'' 073 + ", " 074 + "llmEndpointParams='" 075 + llmEndpointParams 076 + '\'' 077 + ", " 078 + "systemMessage='" 079 + systemMessage 080 + '\'' 081 + ", " 082 + "promptTemplate='" 083 + promptTemplate 084 + '\'' 085 + ", " 086 + "isCustomInstructionsIncluded='" 087 + isCustomInstructionsIncluded 088 + '\'' 089 + "}"; 090 } 091 092 public static class Builder extends AiAgentBasicTextTool.Builder { 093 094 protected Boolean isCustomInstructionsIncluded; 095 096 public Builder isCustomInstructionsIncluded(Boolean isCustomInstructionsIncluded) { 097 this.isCustomInstructionsIncluded = isCustomInstructionsIncluded; 098 return this; 099 } 100 101 @Override 102 public Builder model(String model) { 103 this.model = model; 104 return this; 105 } 106 107 @Override 108 public Builder numTokensForCompletion(Long numTokensForCompletion) { 109 this.numTokensForCompletion = numTokensForCompletion; 110 return this; 111 } 112 113 @Override 114 public Builder llmEndpointParams(AiLlmEndpointParamsOpenAi llmEndpointParams) { 115 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 116 return this; 117 } 118 119 @Override 120 public Builder llmEndpointParams(AiLlmEndpointParamsGoogle llmEndpointParams) { 121 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 122 return this; 123 } 124 125 @Override 126 public Builder llmEndpointParams(AiLlmEndpointParamsAws llmEndpointParams) { 127 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 128 return this; 129 } 130 131 @Override 132 public Builder llmEndpointParams(AiLlmEndpointParamsIbm llmEndpointParams) { 133 this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams); 134 return this; 135 } 136 137 @Override 138 public Builder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) { 139 this.llmEndpointParams = llmEndpointParams; 140 return this; 141 } 142 143 @Override 144 public Builder systemMessage(String systemMessage) { 145 this.systemMessage = systemMessage; 146 return this; 147 } 148 149 @Override 150 public Builder promptTemplate(String promptTemplate) { 151 this.promptTemplate = promptTemplate; 152 return this; 153 } 154 155 public AiStudioAgentBasicTextTool build() { 156 return new AiStudioAgentBasicTextTool(this); 157 } 158 } 159}