diff --git a/core/src/main/java/com/google/adk/codeexecutors/VertexAiCodeExecutor.java b/core/src/main/java/com/google/adk/codeexecutors/VertexAiCodeExecutor.java index 5268edf39..af2219d18 100644 --- a/core/src/main/java/com/google/adk/codeexecutors/VertexAiCodeExecutor.java +++ b/core/src/main/java/com/google/adk/codeexecutors/VertexAiCodeExecutor.java @@ -36,7 +36,7 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Optional; +import org.jspecify.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -140,7 +140,7 @@ public CodeExecutionResult executeCode( executeCodeInterpreter( getCodeWithImports(codeExecutionInput.code()), codeExecutionInput.inputFiles(), - codeExecutionInput.executionId()); + codeExecutionInput.executionId().orElse(null)); // Save output file as artifacts. List savedFiles = new ArrayList<>(); @@ -173,7 +173,7 @@ public CodeExecutionResult executeCode( } private Map executeCodeInterpreter( - String code, List inputFiles, Optional sessionId) { + String code, List inputFiles, @Nullable String sessionId) { ExtensionExecutionServiceClient codeInterpreterExtension = getCodeInterpreterExtension(); if (codeInterpreterExtension == null) { logger.warn("Vertex AI Code Interpreter execution is not available. Returning empty result."); @@ -196,8 +196,9 @@ private Map executeCodeInterpreter( paramsBuilder.putFields( "files", Value.newBuilder().setListValue(listBuilder.build()).build()); } - sessionId.ifPresent( - s -> paramsBuilder.putFields("session_id", Value.newBuilder().setStringValue(s).build())); + if (sessionId != null) { + paramsBuilder.putFields("session_id", Value.newBuilder().setStringValue(sessionId).build()); + } ExecuteExtensionRequest request = ExecuteExtensionRequest.newBuilder()