Skip to content

Commit 6e79ecc

Browse files
committed
fix: Safely handle empty model in GoogleSearchTool request processor
1 parent 4225b07 commit 6e79ecc

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

core/src/main/java/com/google/adk/tools/GoogleSearchTool.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public Completable processLlmRequest(
6161
ImmutableList.Builder<Tool> updatedToolsBuilder = ImmutableList.builder();
6262
updatedToolsBuilder.addAll(existingTools);
6363

64-
String model = llmRequestBuilder.build().model().get();
64+
String model = llmRequestBuilder.build().model().orElse(null);
6565
if (model != null && (model.startsWith("gemini-2") || model.startsWith("gemini-3"))) {
6666

6767
updatedToolsBuilder.add(Tool.builder().googleSearch(GoogleSearch.builder().build()).build());

core/src/test/java/com/google/adk/tools/BaseToolTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,16 @@ public void runAsync_withClassAndObjectMapper_convertsArguments() throws Excepti
356356
testObserver.assertValue(expected);
357357
}
358358

359+
@Test
360+
public void testProcessLlmRequest_WithNoModel_DoesNotThrowsException() {
361+
GoogleSearchTool tool = GoogleSearchTool.INSTANCE;
362+
LlmRequest.Builder requestBuilder = LlmRequest.builder();
363+
364+
tool.processLlmRequest(requestBuilder, null);
365+
366+
assertNotNull(requestBuilder);
367+
}
368+
359369
public record TestToolArgs(int i, String s) {}
360370

361371
@Test

0 commit comments

Comments
 (0)