Skip to content

Commit a3ac436

Browse files
tilgalascopybara-github
authored andcommitted
feat!: remove Optional parameters from LlmResponse.Builder's methods
PiperOrigin-RevId: 878941018
1 parent acffdb9 commit a3ac436

4 files changed

Lines changed: 10 additions & 43 deletions

File tree

core/src/main/java/com/google/adk/flows/llmflows/CodeExecution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ private static Flowable<Event> runPostProcessor(
303303
}
304304
String codeStr = codeStrOptional.get();
305305
responseContent = responseContentBuilder.build();
306-
llmResponseBuilder.content(Optional.empty());
306+
llmResponseBuilder.content((Content) null);
307307

308308
Event codeEvent =
309309
Event.builder()

core/src/main/java/com/google/adk/models/GeminiLlmConnection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@ private static LlmResponse createServerContentResponse(LiveServerContent serverC
191191
return builder
192192
.partial(serverContent.turnComplete().map(completed -> !completed).orElse(false))
193193
.turnComplete(serverContent.turnComplete().orElse(false))
194-
.interrupted(serverContent.interrupted())
194+
.interrupted(serverContent.interrupted().orElse(null))
195195
.build();
196196
}
197197

core/src/main/java/com/google/adk/models/LlmResponse.java

Lines changed: 5 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -128,74 +128,51 @@ static LlmResponse.Builder jacksonBuilder() {
128128
}
129129

130130
@JsonProperty("content")
131-
public abstract Builder content(Content content);
132-
133-
public abstract Builder content(Optional<Content> content);
131+
public abstract Builder content(@Nullable Content content);
134132

135133
@JsonProperty("interrupted")
136134
public abstract Builder interrupted(@Nullable Boolean interrupted);
137135

138-
public abstract Builder interrupted(Optional<Boolean> interrupted);
139-
140136
@JsonProperty("groundingMetadata")
141137
public abstract Builder groundingMetadata(@Nullable GroundingMetadata groundingMetadata);
142138

143-
public abstract Builder groundingMetadata(Optional<GroundingMetadata> groundingMetadata);
144-
145139
@JsonProperty("customMetadata")
146140
public abstract Builder customMetadata(@Nullable List<CustomMetadata> customMetadata);
147141

148142
@JsonProperty("partial")
149143
public abstract Builder partial(@Nullable Boolean partial);
150144

151-
public abstract Builder partial(Optional<Boolean> partial);
152-
153145
@JsonProperty("turnComplete")
154146
public abstract Builder turnComplete(@Nullable Boolean turnComplete);
155147

156-
public abstract Builder turnComplete(Optional<Boolean> turnComplete);
157-
158148
@JsonProperty("errorCode")
159149
public abstract Builder errorCode(@Nullable FinishReason errorCode);
160150

161-
public abstract Builder errorCode(Optional<FinishReason> errorCode);
162-
163151
@JsonProperty("finishReason")
164152
public abstract Builder finishReason(@Nullable FinishReason finishReason);
165153

166-
public abstract Builder finishReason(Optional<FinishReason> finishReason);
167-
168154
@JsonProperty("avgLogprobs")
169155
public abstract Builder avgLogprobs(@Nullable Double avgLogprobs);
170156

171-
public abstract Builder avgLogprobs(Optional<Double> avgLogprobs);
172-
173157
@JsonProperty("errorMessage")
174158
public abstract Builder errorMessage(@Nullable String errorMessage);
175159

176-
public abstract Builder errorMessage(Optional<String> errorMessage);
177-
178160
@JsonProperty("usageMetadata")
179161
public abstract Builder usageMetadata(
180162
@Nullable GenerateContentResponseUsageMetadata usageMetadata);
181163

182-
public abstract Builder usageMetadata(
183-
Optional<GenerateContentResponseUsageMetadata> usageMetadata);
184-
185164
@JsonProperty("modelVersion")
186165
public abstract Builder modelVersion(@Nullable String modelVersion);
187166

188-
public abstract Builder modelVersion(Optional<String> modelVersion);
189-
190167
@CanIgnoreReturnValue
191168
public final Builder response(GenerateContentResponse response) {
192169
Optional<List<Candidate>> candidatesOpt = response.candidates();
193170
if (candidatesOpt.isPresent() && !candidatesOpt.get().isEmpty()) {
194171
Candidate candidate = candidatesOpt.get().get(0);
195-
this.finishReason(candidate.finishReason());
172+
this.finishReason(candidate.finishReason().orElse(null));
196173
if (candidate.content().isPresent()) {
197174
this.content(candidate.content().get());
198-
this.groundingMetadata(candidate.groundingMetadata());
175+
this.groundingMetadata(candidate.groundingMetadata().orElse(null));
199176
} else {
200177
candidate.finishReason().ifPresent(this::errorCode);
201178
candidate.finishMessage().ifPresent(this::errorMessage);
@@ -214,8 +191,8 @@ public final Builder response(GenerateContentResponse response) {
214191
this.errorMessage("Unknown error.");
215192
}
216193
}
217-
this.usageMetadata(response.usageMetadata());
218-
this.modelVersion(response.modelVersion());
194+
this.usageMetadata(response.usageMetadata().orElse(null));
195+
this.modelVersion(response.modelVersion().orElse(null));
219196
return this;
220197
}
221198

core/src/test/java/com/google/adk/models/LlmResponseTest.java

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import com.google.genai.types.FunctionCall;
2929
import com.google.genai.types.GenerateContentResponseUsageMetadata;
3030
import com.google.genai.types.Part;
31-
import java.util.Optional;
3231
import org.junit.Before;
3332
import org.junit.Test;
3433
import org.junit.runner.RunWith;
@@ -74,8 +73,8 @@ public void testSerializationAndDeserialization_allFieldsPresent()
7473
.partial(true)
7574
.turnComplete(false)
7675
.errorCode(new FinishReason("ERR_123"))
77-
.errorMessage(Optional.of("An error occurred."))
78-
.interrupted(Optional.of(true))
76+
.errorMessage("An error occurred.")
77+
.interrupted(true)
7978
.usageMetadata(usageMetadata)
8079
.build();
8180

@@ -113,16 +112,7 @@ public void testSerializationAndDeserialization_optionalFieldsEmpty()
113112
throws JsonProcessingException {
114113
Content sampleContent = createSampleFunctionCallContent("tool_abc");
115114
LlmResponse originalResponse =
116-
LlmResponse.builder()
117-
.content(sampleContent)
118-
.groundingMetadata(Optional.empty())
119-
.partial(Optional.empty())
120-
.turnComplete(false)
121-
.errorCode(Optional.empty())
122-
.errorMessage(Optional.empty())
123-
.interrupted(Optional.empty())
124-
.usageMetadata(Optional.empty())
125-
.build();
115+
LlmResponse.builder().content(sampleContent).turnComplete(false).build();
126116

127117
String json = originalResponse.toJson();
128118
assertThat(json).isNotNull();

0 commit comments

Comments
 (0)