001package com.box.sdkgen.schemas.aistudioagentbasicgentoolresponse;
002
003import com.box.sdkgen.schemas.aiagentlongtexttooltextgen.AiAgentLongTextToolTextGenEmbeddingsField;
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.box.sdkgen.schemas.aistudioagentbasicgentool.AiStudioAgentBasicGenTool;
010import com.fasterxml.jackson.annotation.JsonFilter;
011import java.util.List;
012import java.util.Objects;
013
014/** AI agent basic tool used to generate text. */
015@JsonFilter("nullablePropertyFilter")
016public class AiStudioAgentBasicGenToolResponse extends AiStudioAgentBasicGenTool {
017
018  /** Warnings concerning tool. */
019  protected List<String> warnings;
020
021  public AiStudioAgentBasicGenToolResponse() {
022    super();
023  }
024
025  protected AiStudioAgentBasicGenToolResponse(Builder builder) {
026    super(builder);
027    this.warnings = builder.warnings;
028    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
029  }
030
031  public List<String> getWarnings() {
032    return warnings;
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    AiStudioAgentBasicGenToolResponse casted = (AiStudioAgentBasicGenToolResponse) 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(embeddings, casted.embeddings)
050        && Objects.equals(contentTemplate, casted.contentTemplate)
051        && Objects.equals(isCustomInstructionsIncluded, casted.isCustomInstructionsIncluded)
052        && Objects.equals(warnings, casted.warnings);
053  }
054
055  @Override
056  public int hashCode() {
057    return Objects.hash(
058        model,
059        numTokensForCompletion,
060        llmEndpointParams,
061        systemMessage,
062        promptTemplate,
063        embeddings,
064        contentTemplate,
065        isCustomInstructionsIncluded,
066        warnings);
067  }
068
069  @Override
070  public String toString() {
071    return "AiStudioAgentBasicGenToolResponse{"
072        + "model='"
073        + model
074        + '\''
075        + ", "
076        + "numTokensForCompletion='"
077        + numTokensForCompletion
078        + '\''
079        + ", "
080        + "llmEndpointParams='"
081        + llmEndpointParams
082        + '\''
083        + ", "
084        + "systemMessage='"
085        + systemMessage
086        + '\''
087        + ", "
088        + "promptTemplate='"
089        + promptTemplate
090        + '\''
091        + ", "
092        + "embeddings='"
093        + embeddings
094        + '\''
095        + ", "
096        + "contentTemplate='"
097        + contentTemplate
098        + '\''
099        + ", "
100        + "isCustomInstructionsIncluded='"
101        + isCustomInstructionsIncluded
102        + '\''
103        + ", "
104        + "warnings='"
105        + warnings
106        + '\''
107        + "}";
108  }
109
110  public static class Builder extends AiStudioAgentBasicGenTool.Builder {
111
112    protected List<String> warnings;
113
114    public Builder warnings(List<String> warnings) {
115      this.warnings = warnings;
116      return this;
117    }
118
119    @Override
120    public Builder model(String model) {
121      this.model = model;
122      return this;
123    }
124
125    @Override
126    public Builder numTokensForCompletion(Long numTokensForCompletion) {
127      this.numTokensForCompletion = numTokensForCompletion;
128      return this;
129    }
130
131    @Override
132    public Builder llmEndpointParams(AiLlmEndpointParamsOpenAi llmEndpointParams) {
133      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
134      return this;
135    }
136
137    @Override
138    public Builder llmEndpointParams(AiLlmEndpointParamsGoogle llmEndpointParams) {
139      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
140      return this;
141    }
142
143    @Override
144    public Builder llmEndpointParams(AiLlmEndpointParamsAws llmEndpointParams) {
145      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
146      return this;
147    }
148
149    @Override
150    public Builder llmEndpointParams(AiLlmEndpointParamsIbm llmEndpointParams) {
151      this.llmEndpointParams = new AiLlmEndpointParams(llmEndpointParams);
152      return this;
153    }
154
155    @Override
156    public Builder llmEndpointParams(AiLlmEndpointParams llmEndpointParams) {
157      this.llmEndpointParams = llmEndpointParams;
158      return this;
159    }
160
161    @Override
162    public Builder systemMessage(String systemMessage) {
163      this.systemMessage = systemMessage;
164      return this;
165    }
166
167    @Override
168    public Builder promptTemplate(String promptTemplate) {
169      this.promptTemplate = promptTemplate;
170      return this;
171    }
172
173    @Override
174    public Builder embeddings(AiAgentLongTextToolTextGenEmbeddingsField embeddings) {
175      this.embeddings = embeddings;
176      return this;
177    }
178
179    @Override
180    public Builder contentTemplate(String contentTemplate) {
181      this.contentTemplate = contentTemplate;
182      return this;
183    }
184
185    @Override
186    public Builder isCustomInstructionsIncluded(Boolean isCustomInstructionsIncluded) {
187      this.isCustomInstructionsIncluded = isCustomInstructionsIncluded;
188      return this;
189    }
190
191    public AiStudioAgentBasicGenToolResponse build() {
192      return new AiStudioAgentBasicGenToolResponse(this);
193    }
194  }
195}