From d67ac8816af0815bc8da52e6b723d14c089b0695 Mon Sep 17 00:00:00 2001 From: Google Team Member Date: Thu, 19 Feb 2026 13:07:04 -0800 Subject: [PATCH] refactor: Remove Optional parameter type from canonicalTools PiperOrigin-RevId: 872530538 --- .../java/com/google/adk/agents/LlmAgent.java | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/core/src/main/java/com/google/adk/agents/LlmAgent.java b/core/src/main/java/com/google/adk/agents/LlmAgent.java index 1893fb162..0d28e730d 100644 --- a/core/src/main/java/com/google/adk/agents/LlmAgent.java +++ b/core/src/main/java/com/google/adk/agents/LlmAgent.java @@ -758,18 +758,25 @@ public Single> canonicalGlobalInstruction(ReadonlyCon /** * Constructs the list of tools for this agent based on the {@link #tools} field. * - *

This method is only for use by Agent Development Kit. + * @return The resolved list of tools as a {@link Single} wrapped list of {@link BaseTool}. + */ + public Flowable canonicalTools() { + return canonicalTools(null); + } + + /** + * Constructs the list of tools for this agent based on the {@link #tools} field. * * @param context The context to retrieve the session state. * @return The resolved list of tools as a {@link Single} wrapped list of {@link BaseTool}. */ - public Flowable canonicalTools(Optional context) { + public Flowable canonicalTools(@Nullable ReadonlyContext context) { List> toolFlowables = new ArrayList<>(); for (Object toolOrToolset : toolsUnion) { if (toolOrToolset instanceof BaseTool baseTool) { toolFlowables.add(Flowable.just(baseTool)); } else if (toolOrToolset instanceof BaseToolset baseToolset) { - toolFlowables.add(baseToolset.getTools(context.orElse(null))); + toolFlowables.add(baseToolset.getTools(context)); } else { throw new IllegalArgumentException( "Object in tools list is not of a supported type: " @@ -779,16 +786,6 @@ public Flowable canonicalTools(Optional context) { return Flowable.concat(toolFlowables); } - /** Overload of canonicalTools that defaults to an empty context. */ - public Flowable canonicalTools() { - return canonicalTools(Optional.empty()); - } - - /** Convenience overload of canonicalTools that accepts a non-optional ReadonlyContext. */ - public Flowable canonicalTools(ReadonlyContext context) { - return canonicalTools(Optional.ofNullable(context)); - } - public Instruction instruction() { return instruction; }