diff --git a/contrib/spring-ai/pom.xml b/contrib/spring-ai/pom.xml
index e079d8cc9..988239fb4 100644
--- a/contrib/spring-ai/pom.xml
+++ b/contrib/spring-ai/pom.xml
@@ -29,7 +29,7 @@
Spring AI integration for the Agent Development Kit.
- 2.0.0-M3
+ 2.0.0
1.21.3
@@ -124,21 +124,11 @@
spring-ai-anthropic
test
-
- org.springframework.ai
- spring-ai-vertex-ai-gemini
- test
-
org.springframework.ai
spring-ai-google-genai
test
-
- org.springframework.ai
- spring-ai-azure-openai
- test
-
org.springframework.ai
spring-ai-ollama
diff --git a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/GeminiApiIntegrationTest.java b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/GeminiApiIntegrationTest.java
index 5414cdf99..b6438f365 100644
--- a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/GeminiApiIntegrationTest.java
+++ b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/GeminiApiIntegrationTest.java
@@ -62,7 +62,7 @@ void testSimpleAgentWithRealGeminiApi() throws InterruptedException {
GoogleGenAiChatOptions options = GoogleGenAiChatOptions.builder().model(GEMINI_MODEL).build();
GoogleGenAiChatModel geminiModel =
- GoogleGenAiChatModel.builder().genAiClient(genAiClient).defaultOptions(options).build();
+ GoogleGenAiChatModel.builder().genAiClient(genAiClient).options(options).build();
// Wrap with SpringAI
SpringAI springAI = new SpringAI(geminiModel, GEMINI_MODEL);
@@ -104,7 +104,7 @@ void testStreamingWithRealGeminiApi() throws InterruptedException {
GoogleGenAiChatOptions options = GoogleGenAiChatOptions.builder().model(GEMINI_MODEL).build();
GoogleGenAiChatModel geminiModel =
- GoogleGenAiChatModel.builder().genAiClient(genAiClient).defaultOptions(options).build();
+ GoogleGenAiChatModel.builder().genAiClient(genAiClient).options(options).build();
SpringAI springAI = new SpringAI(geminiModel, GEMINI_MODEL);
@@ -149,7 +149,7 @@ void testAgentWithToolsAndRealApi() {
GoogleGenAiChatOptions options = GoogleGenAiChatOptions.builder().model(GEMINI_MODEL).build();
GoogleGenAiChatModel geminiModel =
- GoogleGenAiChatModel.builder().genAiClient(genAiClient).defaultOptions(options).build();
+ GoogleGenAiChatModel.builder().genAiClient(genAiClient).options(options).build();
LlmAgent agent =
LlmAgent.builder()
@@ -193,7 +193,7 @@ void testDirectComparisonNonStreamingVsStreaming() throws InterruptedException {
GoogleGenAiChatOptions options = GoogleGenAiChatOptions.builder().model(GEMINI_MODEL).build();
GoogleGenAiChatModel geminiModel =
- GoogleGenAiChatModel.builder().genAiClient(genAiClient).defaultOptions(options).build();
+ GoogleGenAiChatModel.builder().genAiClient(genAiClient).options(options).build();
SpringAI springAI = new SpringAI(geminiModel, GEMINI_MODEL);
@@ -298,7 +298,7 @@ void testConfigurationOptions() {
Client.builder().apiKey(System.getenv("GOOGLE_API_KEY")).vertexAI(false).build();
GoogleGenAiChatModel geminiModel =
- GoogleGenAiChatModel.builder().genAiClient(genAiClient).defaultOptions(options).build();
+ GoogleGenAiChatModel.builder().genAiClient(genAiClient).options(options).build();
SpringAI springAI = new SpringAI(geminiModel, GEMINI_MODEL);
diff --git a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/OpenAiApiIntegrationTest.java b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/OpenAiApiIntegrationTest.java
index eb956f828..4fa3a4943 100644
--- a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/OpenAiApiIntegrationTest.java
+++ b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/integrations/OpenAiApiIntegrationTest.java
@@ -34,7 +34,6 @@
import org.junit.jupiter.api.condition.EnabledIfEnvironmentVariable;
import org.springframework.ai.openai.OpenAiChatModel;
import org.springframework.ai.openai.OpenAiChatOptions;
-import org.springframework.ai.openai.api.OpenAiApi;
/**
* Integration tests with real OpenAI API.
@@ -50,8 +49,14 @@ class OpenAiApiIntegrationTest {
@Test
void testSimpleAgentWithRealOpenAiApi() {
// Create OpenAI model using Spring AI's builder pattern
- OpenAiApi openAiApi = OpenAiApi.builder().apiKey(System.getenv("OPENAI_API_KEY")).build();
- OpenAiChatModel openAiModel = OpenAiChatModel.builder().openAiApi(openAiApi).build();
+ OpenAiChatModel openAiModel =
+ OpenAiChatModel.builder()
+ .options(
+ OpenAiChatOptions.builder()
+ .apiKey(System.getenv("OPENAI_API_KEY"))
+ .model(GPT_MODEL)
+ .build())
+ .build();
// Wrap with SpringAI
SpringAI springAI = new SpringAI(openAiModel, GPT_MODEL);
@@ -84,8 +89,14 @@ void testSimpleAgentWithRealOpenAiApi() {
@Test
void testStreamingWithRealOpenAiApi() {
- OpenAiApi openAiApi = OpenAiApi.builder().apiKey(System.getenv("OPENAI_API_KEY")).build();
- OpenAiChatModel openAiModel = OpenAiChatModel.builder().openAiApi(openAiApi).build();
+ OpenAiChatModel openAiModel =
+ OpenAiChatModel.builder()
+ .options(
+ OpenAiChatOptions.builder()
+ .apiKey(System.getenv("OPENAI_API_KEY"))
+ .model(GPT_MODEL)
+ .build())
+ .build();
SpringAI springAI = new SpringAI(openAiModel, GPT_MODEL);
@@ -124,8 +135,14 @@ void testStreamingWithRealOpenAiApi() {
@Test
void testAgentWithToolsAndRealApi() {
- OpenAiApi openAiApi = OpenAiApi.builder().apiKey(System.getenv("OPENAI_API_KEY")).build();
- OpenAiChatModel openAiModel = OpenAiChatModel.builder().openAiApi(openAiApi).build();
+ OpenAiChatModel openAiModel =
+ OpenAiChatModel.builder()
+ .options(
+ OpenAiChatOptions.builder()
+ .apiKey(System.getenv("OPENAI_API_KEY"))
+ .model(GPT_MODEL)
+ .build())
+ .build();
LlmAgent agent =
LlmAgent.builder()
@@ -164,11 +181,14 @@ void testAgentWithToolsAndRealApi() {
void testConfigurationOptions() {
// Test with custom configuration
OpenAiChatOptions options =
- OpenAiChatOptions.builder().model(GPT_MODEL).temperature(0.7).maxTokens(100).build();
+ OpenAiChatOptions.builder()
+ .apiKey(System.getenv("OPENAI_API_KEY"))
+ .model(GPT_MODEL)
+ .temperature(0.7)
+ .maxTokens(100)
+ .build();
- OpenAiApi openAiApi = OpenAiApi.builder().apiKey(System.getenv("OPENAI_API_KEY")).build();
- OpenAiChatModel openAiModel =
- OpenAiChatModel.builder().openAiApi(openAiApi).defaultOptions(options).build();
+ OpenAiChatModel openAiModel = OpenAiChatModel.builder().options(options).build();
SpringAI springAI = new SpringAI(openAiModel, GPT_MODEL);
diff --git a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/ollama/LocalModelIntegrationTest.java b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/ollama/LocalModelIntegrationTest.java
index ab3d0f903..1c8e020be 100644
--- a/contrib/spring-ai/src/test/java/com/google/adk/models/springai/ollama/LocalModelIntegrationTest.java
+++ b/contrib/spring-ai/src/test/java/com/google/adk/models/springai/ollama/LocalModelIntegrationTest.java
@@ -51,7 +51,7 @@ static void setUpBeforeClass() {
OllamaChatOptions.builder().model(ollamaContainer.getModelName()).build();
OllamaChatModel chatModel =
- OllamaChatModel.builder().ollamaApi(ollamaApi).defaultOptions(options).build();
+ OllamaChatModel.builder().ollamaApi(ollamaApi).options(options).build();
springAI = new SpringAI(chatModel, ollamaContainer.getModelName());
}
diff --git a/dev/pom.xml b/dev/pom.xml
index fb5443981..f0f0c3bff 100644
--- a/dev/pom.xml
+++ b/dev/pom.xml
@@ -81,10 +81,6 @@
guru.nidi
graphviz-java
-
- org.eclipse.jdt
- ecj
-
io.opentelemetry
opentelemetry-sdk-common
diff --git a/pom.xml b/pom.xml
index 5cb8d5987..c06a75880 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,6 @@
5.3.2
3.7.0
0.18.1
- 3.41.0
3.9.0
1.12.2
2.0.17
@@ -264,11 +263,6 @@
graphviz-java
${graphviz.version}
-
- org.eclipse.jdt
- ecj
- ${ecj.version}
-
org.apache.maven
maven-plugin-api
@@ -328,6 +322,14 @@
${java.version}
${maven.compiler.release}
true
+
+ false
com.google.auto.value