diff --git a/core/src/main/java/com/google/adk/tools/GoogleSearchTool.java b/core/src/main/java/com/google/adk/tools/GoogleSearchTool.java index b4f298c21..c34f8fbb2 100644 --- a/core/src/main/java/com/google/adk/tools/GoogleSearchTool.java +++ b/core/src/main/java/com/google/adk/tools/GoogleSearchTool.java @@ -61,7 +61,7 @@ public Completable processLlmRequest( ImmutableList.Builder updatedToolsBuilder = ImmutableList.builder(); updatedToolsBuilder.addAll(existingTools); - String model = llmRequestBuilder.build().model().get(); + String model = llmRequestBuilder.build().model().orElse(null); if (model != null && (model.startsWith("gemini-2") || model.startsWith("gemini-3"))) { updatedToolsBuilder.add(Tool.builder().googleSearch(GoogleSearch.builder().build()).build()); diff --git a/core/src/test/java/com/google/adk/tools/BaseToolTest.java b/core/src/test/java/com/google/adk/tools/BaseToolTest.java index 90e57ee60..40865cc41 100644 --- a/core/src/test/java/com/google/adk/tools/BaseToolTest.java +++ b/core/src/test/java/com/google/adk/tools/BaseToolTest.java @@ -356,6 +356,16 @@ public void runAsync_withClassAndObjectMapper_convertsArguments() throws Excepti testObserver.assertValue(expected); } + @Test + public void testProcessLlmRequest_WithNoModel_DoesNotThrowsException() { + GoogleSearchTool tool = GoogleSearchTool.INSTANCE; + LlmRequest.Builder requestBuilder = LlmRequest.builder(); + + tool.processLlmRequest(requestBuilder, null); + + assertNotNull(requestBuilder); + } + public record TestToolArgs(int i, String s) {} @Test