From 32759f9eb1cc88dc106b8828e84d47d3abc8c09d Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Thu, 12 Mar 2026 07:45:31 -0700 Subject: [PATCH] refactor: Replacing use of deprecated Runner constructor and Runner.runAsync methods PiperOrigin-RevId: 882585695 --- .../adk/models/langchain4j/RunLoop.java | 2 +- .../springai/SpringAIIntegrationTest.java | 21 +++++++++++-------- .../google/adk/models/springai/TestUtils.java | 16 +++++++++----- .../google/adk/web/service/RunnerService.java | 15 ++++++------- 4 files changed, 32 insertions(+), 22 deletions(-) diff --git a/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/RunLoop.java b/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/RunLoop.java index 04a2aa585..2dca5c49c 100644 --- a/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/RunLoop.java +++ b/contrib/langchain4j/src/test/java/com/google/adk/models/langchain4j/RunLoop.java @@ -53,7 +53,7 @@ public static List runLoop(BaseAgent agent, boolean streaming, Object... allEvents.addAll( runner .runAsync( - session, + session.sessionKey(), messageContent, RunConfig.builder() .setStreamingMode( diff --git a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/SpringAIIntegrationTest.java b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/SpringAIIntegrationTest.java index 6843c8eaa..328df0415 100644 --- a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/SpringAIIntegrationTest.java +++ b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/SpringAIIntegrationTest.java @@ -18,6 +18,7 @@ import static org.junit.jupiter.api.Assertions.*; import com.google.adk.agents.LlmAgent; +import com.google.adk.agents.RunConfig; import com.google.adk.events.Event; import com.google.adk.models.springai.integrations.tools.WeatherTool; import com.google.adk.runner.InMemoryRunner; @@ -73,14 +74,15 @@ public ChatResponse call(Prompt prompt) { // when Runner runner = new InMemoryRunner(agent); - Session session = runner.sessionService().createSession("test-app", "test-user").blockingGet(); + Session session = + runner.sessionService().createSession(agent.name(), "test-user").blockingGet(); Content userMessage = Content.builder().role("user").parts(List.of(Part.fromText("What is a qubit?"))).build(); List events = runner - .runAsync(session, userMessage, com.google.adk.agents.RunConfig.builder().build()) + .runAsync(session.sessionKey(), userMessage, RunConfig.builder().build()) .toList() .blockingGet(); @@ -149,7 +151,8 @@ public ChatResponse call(Prompt prompt) { // when Runner runner = new InMemoryRunner(agent); - Session session = runner.sessionService().createSession("test-app", "test-user").blockingGet(); + Session session = + runner.sessionService().createSession(agent.name(), "test-user").blockingGet(); Content userMessage = Content.builder() @@ -159,7 +162,7 @@ public ChatResponse call(Prompt prompt) { List events = runner - .runAsync(session, userMessage, com.google.adk.agents.RunConfig.builder().build()) + .runAsync(session.userId(), session.id(), userMessage, RunConfig.builder().build()) .toList() .blockingGet(); @@ -217,7 +220,8 @@ public Flux stream(Prompt prompt) { // when Runner runner = new InMemoryRunner(agent); - Session session = runner.sessionService().createSession("test-app", "test-user").blockingGet(); + Session session = + runner.sessionService().createSession(agent.name(), "test-user").blockingGet(); Content userMessage = Content.builder() @@ -228,11 +232,10 @@ public Flux stream(Prompt prompt) { List events = runner .runAsync( - session, + session.userId(), + session.id(), userMessage, - com.google.adk.agents.RunConfig.builder() - .setStreamingMode(com.google.adk.agents.RunConfig.StreamingMode.SSE) - .build()) + RunConfig.builder().setStreamingMode(RunConfig.StreamingMode.SSE).build()) .toList() .blockingGet(); diff --git a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/TestUtils.java b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/TestUtils.java index f18ded055..c23e68eae 100644 --- a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/TestUtils.java +++ b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/TestUtils.java @@ -46,7 +46,7 @@ public static List askAgent(BaseAgent agent, boolean streaming, Object... allEvents.addAll( runner .runAsync( - session, + session.sessionKey(), messageContent, RunConfig.builder() .setStreamingMode( @@ -67,13 +67,17 @@ public static List askBlockingAgent(BaseAgent agent, Object... messages) } Runner runner = new InMemoryRunner(agent); - Session session = runner.sessionService().createSession("test-app", "test-user").blockingGet(); + Session session = + runner.sessionService().createSession(agent.name(), "test-user").blockingGet(); List events = new ArrayList<>(); for (Content content : contents) { List batchEvents = - runner.runAsync(session, content, RunConfig.builder().build()).toList().blockingGet(); + runner + .runAsync(session.userId(), session.id(), content, RunConfig.builder().build()) + .toList() + .blockingGet(); events.addAll(batchEvents); } @@ -88,7 +92,8 @@ public static List askAgentStreaming(BaseAgent agent, Object... messages) } Runner runner = new InMemoryRunner(agent); - Session session = runner.sessionService().createSession("test-app", "test-user").blockingGet(); + Session session = + runner.sessionService().createSession(agent.name(), "test-user").blockingGet(); List events = new ArrayList<>(); @@ -96,7 +101,8 @@ public static List askAgentStreaming(BaseAgent agent, Object... messages) List batchEvents = runner .runAsync( - session, + session.userId(), + session.id(), content, RunConfig.builder().setStreamingMode(RunConfig.StreamingMode.SSE).build()) .toList() diff --git a/dev/src/main/java/com/google/adk/web/service/RunnerService.java b/dev/src/main/java/com/google/adk/web/service/RunnerService.java index 7297af833..480c68472 100644 --- a/dev/src/main/java/com/google/adk/web/service/RunnerService.java +++ b/dev/src/main/java/com/google/adk/web/service/RunnerService.java @@ -78,13 +78,14 @@ public Runner getRunner(String appName) { "RunnerService: Creating Runner for appName: {}, using agent definition: {}", appName, agent.name()); - return new Runner( - agent, - appName, - this.artifactService, - this.sessionService, - this.memoryService, - this.extraPlugins); + return Runner.builder() + .agent(agent) + .appName(appName) + .artifactService(this.artifactService) + .sessionService(this.sessionService) + .memoryService(this.memoryService) + .plugins(this.extraPlugins) + .build(); } catch (java.util.NoSuchElementException e) { log.error( "Agent/App named '{}' not found in registry. Available apps: {}",