From 961c69751a7f1b6dfd8c1cfc6e771051ae3d82a7 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Thu, 29 Jan 2026 10:07:29 -0800 Subject: [PATCH] refactor: Runner and App now use `? extends Plugin` PiperOrigin-RevId: 862786641 --- core/src/main/java/com/google/adk/apps/App.java | 12 ++++++------ .../com/google/adk/plugins/PluginManager.java | 15 ++++----------- .../com/google/adk/runner/InMemoryRunner.java | 4 ++-- .../main/java/com/google/adk/runner/Runner.java | 14 +++++++------- 4 files changed, 19 insertions(+), 26 deletions(-) diff --git a/core/src/main/java/com/google/adk/apps/App.java b/core/src/main/java/com/google/adk/apps/App.java index 3b1f0613..5be72bb5 100644 --- a/core/src/main/java/com/google/adk/apps/App.java +++ b/core/src/main/java/com/google/adk/apps/App.java @@ -17,7 +17,7 @@ package com.google.adk.apps; import com.google.adk.agents.BaseAgent; -import com.google.adk.plugins.BasePlugin; +import com.google.adk.plugins.Plugin; import com.google.adk.summarizer.EventsCompactionConfig; import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; @@ -38,14 +38,14 @@ public class App { private final String name; private final BaseAgent rootAgent; - private final ImmutableList plugins; + private final ImmutableList plugins; @Nullable private final EventsCompactionConfig eventsCompactionConfig; @Nullable private final ResumabilityConfig resumabilityConfig; private App( String name, BaseAgent rootAgent, - List plugins, + List plugins, @Nullable EventsCompactionConfig eventsCompactionConfig, @Nullable ResumabilityConfig resumabilityConfig) { this.name = name; @@ -63,7 +63,7 @@ public BaseAgent rootAgent() { return rootAgent; } - public ImmutableList plugins() { + public ImmutableList plugins() { return plugins; } @@ -81,7 +81,7 @@ public ResumabilityConfig resumabilityConfig() { public static class Builder { private String name; private BaseAgent rootAgent; - private List plugins = ImmutableList.of(); + private List plugins = ImmutableList.of(); @Nullable private EventsCompactionConfig eventsCompactionConfig; @Nullable private ResumabilityConfig resumabilityConfig; @@ -98,7 +98,7 @@ public Builder rootAgent(BaseAgent rootAgent) { } @CanIgnoreReturnValue - public Builder plugins(List plugins) { + public Builder plugins(List plugins) { this.plugins = plugins; return this; } diff --git a/core/src/main/java/com/google/adk/plugins/PluginManager.java b/core/src/main/java/com/google/adk/plugins/PluginManager.java index 76452af6..ec496f52 100644 --- a/core/src/main/java/com/google/adk/plugins/PluginManager.java +++ b/core/src/main/java/com/google/adk/plugins/PluginManager.java @@ -41,16 +41,14 @@ *

The PluginManager is an internal class that orchestrates the invocation of plugin callbacks at * key points in the SDK's execution lifecycle. */ -public class PluginManager implements Plugin { +public class PluginManager extends BasePlugin { private static final Logger logger = LoggerFactory.getLogger(PluginManager.class); - private final List plugins; + private final List plugins = new ArrayList<>(); public PluginManager(List plugins) { - this.plugins = new ArrayList<>(); + super("PluginManager"); if (plugins != null) { - for (var plugin : plugins) { - this.registerPlugin(plugin); - } + plugins.forEach(this::registerPlugin); } } @@ -58,11 +56,6 @@ public PluginManager() { this(null); } - @Override - public String getName() { - return "PluginManager"; - } - /** * Registers a new plugin. * diff --git a/core/src/main/java/com/google/adk/runner/InMemoryRunner.java b/core/src/main/java/com/google/adk/runner/InMemoryRunner.java index 793f24c3..58741003 100644 --- a/core/src/main/java/com/google/adk/runner/InMemoryRunner.java +++ b/core/src/main/java/com/google/adk/runner/InMemoryRunner.java @@ -19,7 +19,7 @@ import com.google.adk.agents.BaseAgent; import com.google.adk.artifacts.InMemoryArtifactService; import com.google.adk.memory.InMemoryMemoryService; -import com.google.adk.plugins.BasePlugin; +import com.google.adk.plugins.Plugin; import com.google.adk.sessions.InMemorySessionService; import com.google.common.collect.ImmutableList; import java.util.List; @@ -37,7 +37,7 @@ public InMemoryRunner(BaseAgent agent, String appName) { this(agent, appName, ImmutableList.of()); } - public InMemoryRunner(BaseAgent agent, String appName, List plugins) { + public InMemoryRunner(BaseAgent agent, String appName, List plugins) { super( agent, appName, diff --git a/core/src/main/java/com/google/adk/runner/Runner.java b/core/src/main/java/com/google/adk/runner/Runner.java index 66bb5860..51696f1a 100644 --- a/core/src/main/java/com/google/adk/runner/Runner.java +++ b/core/src/main/java/com/google/adk/runner/Runner.java @@ -30,7 +30,7 @@ import com.google.adk.events.EventActions; import com.google.adk.memory.BaseMemoryService; import com.google.adk.models.Model; -import com.google.adk.plugins.BasePlugin; +import com.google.adk.plugins.Plugin; import com.google.adk.plugins.PluginManager; import com.google.adk.sessions.BaseSessionService; import com.google.adk.sessions.InMemorySessionService; @@ -84,7 +84,7 @@ public static class Builder { private BaseArtifactService artifactService = new InMemoryArtifactService(); private BaseSessionService sessionService = new InMemorySessionService(); @Nullable private BaseMemoryService memoryService = null; - private List plugins = ImmutableList.of(); + private List plugins = ImmutableList.of(); @CanIgnoreReturnValue public Builder app(App app) { @@ -126,7 +126,7 @@ public Builder memoryService(BaseMemoryService memoryService) { } @CanIgnoreReturnValue - public Builder plugins(List plugins) { + public Builder plugins(List plugins) { Preconditions.checkState(this.app == null, "plugins() cannot be called when app is set."); this.plugins = plugins; return this; @@ -135,7 +135,7 @@ public Builder plugins(List plugins) { public Runner build() { BaseAgent buildAgent; String buildAppName; - List buildPlugins; + List buildPlugins; ResumabilityConfig buildResumabilityConfig; EventsCompactionConfig buildEventsCompactionConfig; @@ -224,7 +224,7 @@ public Runner( BaseArtifactService artifactService, BaseSessionService sessionService, @Nullable BaseMemoryService memoryService, - List plugins) { + List plugins) { this( agent, appName, @@ -247,7 +247,7 @@ public Runner( BaseArtifactService artifactService, BaseSessionService sessionService, @Nullable BaseMemoryService memoryService, - List plugins, + List plugins, ResumabilityConfig resumabilityConfig) { this( agent, @@ -272,7 +272,7 @@ protected Runner( BaseArtifactService artifactService, BaseSessionService sessionService, @Nullable BaseMemoryService memoryService, - List plugins, + List plugins, ResumabilityConfig resumabilityConfig, @Nullable EventsCompactionConfig eventsCompactionConfig) { this.agent = agent;