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