diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index b5e08518..6ad0ceb3 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -2,6 +2,10 @@
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+#
+# Grouping strategy: related dependencies that are released and upgraded
+# together are bundled into a single PR to cut review noise. Anything that
+# does not match a group still gets its own PR (Dependabot's default).
version: 2
updates:
@@ -10,16 +14,50 @@ updates:
- "**/*"
schedule:
interval: "monthly"
+ open-pull-requests-limit: 15
groups:
+ # AWS SDK for Java artifacts are versioned in lockstep.
awssdk:
patterns:
- "software.amazon.awssdk:*"
- open-pull-requests-limit: 15
+ # Spring Boot, Spring Framework, Spring AI and the Spring-adjacent
+ # ecosystem move together on coordinated release trains. Bundling them
+ # keeps a Boot/Spring AI upgrade to a single reviewable PR per module.
+ spring:
+ patterns:
+ - "org.springframework:*"
+ - "org.springframework.*:*"
+ - "org.springaicommunity:*"
+ - "io.awspring.cloud:*"
+ # Build-time Maven plugins.
+ maven-plugins:
+ patterns:
+ - "org.apache.maven.plugins:*"
+ - "org.graalvm.buildtools:*"
+ - "io.spring.javaformat:*"
+ - "com.googlecode.maven-download-plugin:*"
+ # Test tooling.
+ testing:
+ patterns:
+ - "org.testcontainers:*"
+ - "*testcontainers*"
+ - "com.microsoft.playwright:*"
+ # Kubernetes Java client artifacts release together.
+ kubernetes:
+ patterns:
+ - "io.kubernetes:*"
- package-ecosystem: docker
directories:
- "**/*"
schedule:
interval: "monthly"
+ groups:
+ docker-images:
+ patterns:
+ - "*"
+ update-types:
+ - "minor"
+ - "patch"
- package-ecosystem: pip
directory: "/infra/scripts/setup/thread-dump-lambda"
schedule:
@@ -37,3 +75,7 @@ updates:
directory: "/"
schedule:
interval: "monthly"
+ groups:
+ github-actions:
+ patterns:
+ - "*"
diff --git a/apps/ai-jvm-analyzer/pom.xml b/apps/ai-jvm-analyzer/pom.xml
index b204a1c4..266c951d 100644
--- a/apps/ai-jvm-analyzer/pom.xml
+++ b/apps/ai-jvm-analyzer/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example.ai
@@ -21,7 +21,7 @@
25
UTF-8
UTF-8
- 1.1.7
+ 2.0.0
diff --git a/apps/ai-jvm-analyzer/src/main/java/com/example/ai/jvmanalyzer/GitHubSourceCodeTool.java b/apps/ai-jvm-analyzer/src/main/java/com/example/ai/jvmanalyzer/GitHubSourceCodeTool.java
index 9ec792cb..58eda963 100644
--- a/apps/ai-jvm-analyzer/src/main/java/com/example/ai/jvmanalyzer/GitHubSourceCodeTool.java
+++ b/apps/ai-jvm-analyzer/src/main/java/com/example/ai/jvmanalyzer/GitHubSourceCodeTool.java
@@ -1,6 +1,6 @@
package com.example.ai.jvmanalyzer;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ai.tool.annotation.Tool;
diff --git a/apps/aiagent-agentcore/aiagent/pom.xml b/apps/aiagent-agentcore/aiagent/pom.xml
index acb9cc07..ba2b66ba 100644
--- a/apps/aiagent-agentcore/aiagent/pom.xml
+++ b/apps/aiagent-agentcore/aiagent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -16,7 +16,7 @@
25
- 2.0.0-M6
+ 2.0.0
@@ -59,7 +59,7 @@
org.springframework.ai
- spring-ai-advisors-vector-store
+ spring-ai-vector-store-advisor
diff --git a/apps/aiagent-agentcore/backoffice/trip/pom.xml b/apps/aiagent-agentcore/backoffice/trip/pom.xml
index 36c370a4..16b89817 100644
--- a/apps/aiagent-agentcore/backoffice/trip/pom.xml
+++ b/apps/aiagent-agentcore/backoffice/trip/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
diff --git a/apps/aiagent/pom.xml b/apps/aiagent/pom.xml
index 37f3512c..8a914296 100644
--- a/apps/aiagent/pom.xml
+++ b/apps/aiagent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 2.0.0-RC2
+ 2.0.0
diff --git a/apps/java-spring-ai-agents/aiagent/pom.xml b/apps/java-spring-ai-agents/aiagent/pom.xml
index d995c00b..b817ad23 100644
--- a/apps/java-spring-ai-agents/aiagent/pom.xml
+++ b/apps/java-spring-ai-agents/aiagent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
diff --git a/apps/java-spring-ai-agents/backoffice/tools/pom.xml b/apps/java-spring-ai-agents/backoffice/tools/pom.xml
index e5df4a14..6021ac28 100644
--- a/apps/java-spring-ai-agents/backoffice/tools/pom.xml
+++ b/apps/java-spring-ai-agents/backoffice/tools/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
diff --git a/apps/java-spring-ai-agents/backoffice/trip/pom.xml b/apps/java-spring-ai-agents/backoffice/trip/pom.xml
index 36c370a4..16b89817 100644
--- a/apps/java-spring-ai-agents/backoffice/trip/pom.xml
+++ b/apps/java-spring-ai-agents/backoffice/trip/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
diff --git a/apps/perf-analyzer/pom.xml b/apps/perf-analyzer/pom.xml
index 038e58bb..70b7a9c0 100644
--- a/apps/perf-analyzer/pom.xml
+++ b/apps/perf-analyzer/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
@@ -19,7 +19,7 @@
25
25
UTF-8
- 2.0.0-M6
+ 2.0.0
2.46.6
26.0.0
diff --git a/apps/perf-collector/pom.xml b/apps/perf-collector/pom.xml
index 1405fbef..4ee948f0 100644
--- a/apps/perf-collector/pom.xml
+++ b/apps/perf-collector/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
diff --git a/apps/unicorn-spring-ai-agent/pom.xml b/apps/unicorn-spring-ai-agent/pom.xml
index 7566d02b..95e465db 100644
--- a/apps/unicorn-spring-ai-agent/pom.xml
+++ b/apps/unicorn-spring-ai-agent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.unicorn
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
@@ -66,7 +66,7 @@
org.springframework.ai
- spring-ai-advisors-vector-store
+ spring-ai-vector-store-advisor
org.springframework.ai
diff --git a/apps/unicorn-store-spring/pom.xml b/apps/unicorn-store-spring/pom.xml
index ded98662..68d058af 100644
--- a/apps/unicorn-store-spring/pom.xml
+++ b/apps/unicorn-store-spring/pom.xml
@@ -4,7 +4,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.unicorn
diff --git a/samples/quality-assurance/ai-agent/pom.xml b/samples/quality-assurance/ai-agent/pom.xml
index 4e3603e0..2d2dbed6 100644
--- a/samples/quality-assurance/ai-agent/pom.xml
+++ b/samples/quality-assurance/ai-agent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 2.0.0-M6
+ 2.0.0
0.0.3
2.0.5
diff --git a/samples/quality-assurance/ai-agent/src/test/java/com/example/ai/agent/service/ChatClientEvaluatorTest.java b/samples/quality-assurance/ai-agent/src/test/java/com/example/ai/agent/service/ChatClientEvaluatorTest.java
index 93eaa8b0..cdd1a8cf 100644
--- a/samples/quality-assurance/ai-agent/src/test/java/com/example/ai/agent/service/ChatClientEvaluatorTest.java
+++ b/samples/quality-assurance/ai-agent/src/test/java/com/example/ai/agent/service/ChatClientEvaluatorTest.java
@@ -54,7 +54,7 @@ public void setup() {
OllamaApi ollamaApi = OllamaApi.builder().baseUrl(endpoint).build();
evaluationModel = OllamaChatModel.builder()
.ollamaApi(ollamaApi)
- .defaultOptions(OllamaChatOptions.builder()
+ .options(OllamaChatOptions.builder()
.model(EVALUATION_MODEL_ID)
.build())
.modelManagementOptions(ModelManagementOptions.builder()
diff --git a/samples/quality-assurance/weather/pom.xml b/samples/quality-assurance/weather/pom.xml
index 9b4827a8..b20b65fd 100644
--- a/samples/quality-assurance/weather/pom.xml
+++ b/samples/quality-assurance/weather/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
diff --git a/samples/quality-assurance/weather/src/main/java/com/example/weather/WeatherTools.java b/samples/quality-assurance/weather/src/main/java/com/example/weather/WeatherTools.java
index b6d245af..066ffd8a 100644
--- a/samples/quality-assurance/weather/src/main/java/com/example/weather/WeatherTools.java
+++ b/samples/quality-assurance/weather/src/main/java/com/example/weather/WeatherTools.java
@@ -2,7 +2,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springaicommunity.mcp.annotation.McpTool;
+import org.springframework.ai.mcp.annotation.McpTool;
import org.springframework.stereotype.Component;
/**
diff --git a/samples/quality-assurance/weather/src/test/java/com/example/weather/McpToolsIntegrationTest.java b/samples/quality-assurance/weather/src/test/java/com/example/weather/McpToolsIntegrationTest.java
index 114f206a..0233c269 100644
--- a/samples/quality-assurance/weather/src/test/java/com/example/weather/McpToolsIntegrationTest.java
+++ b/samples/quality-assurance/weather/src/test/java/com/example/weather/McpToolsIntegrationTest.java
@@ -1,6 +1,6 @@
package com.example.weather;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import tools.jackson.databind.ObjectMapper;
import io.modelcontextprotocol.client.McpClient;
import io.modelcontextprotocol.client.McpSyncClient;
import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport;
diff --git a/samples/security/apikey/ai-agent/pom.xml b/samples/security/apikey/ai-agent/pom.xml
index 40193969..f4813d63 100644
--- a/samples/security/apikey/ai-agent/pom.xml
+++ b/samples/security/apikey/ai-agent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
0.0.3
diff --git a/samples/security/apikey/weather/pom.xml b/samples/security/apikey/weather/pom.xml
index 7093deb3..cea5dcc3 100644
--- a/samples/security/apikey/weather/pom.xml
+++ b/samples/security/apikey/weather/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
0.1.12
diff --git a/samples/security/apikey/weather/src/main/java/com/example/weather/WeatherTools.java b/samples/security/apikey/weather/src/main/java/com/example/weather/WeatherTools.java
index f07c2f10..e897fe29 100644
--- a/samples/security/apikey/weather/src/main/java/com/example/weather/WeatherTools.java
+++ b/samples/security/apikey/weather/src/main/java/com/example/weather/WeatherTools.java
@@ -2,7 +2,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springaicommunity.mcp.annotation.McpTool;
+import org.springframework.ai.mcp.annotation.McpTool;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Component;
diff --git a/samples/security/oauth/ai-agent/pom.xml b/samples/security/oauth/ai-agent/pom.xml
index d0c402c9..d3008545 100644
--- a/samples/security/oauth/ai-agent/pom.xml
+++ b/samples/security/oauth/ai-agent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
0.1.12
diff --git a/samples/security/oauth/ai-agent/src/main/java/com/example/ai/agent/McpConfiguration.java b/samples/security/oauth/ai-agent/src/main/java/com/example/ai/agent/McpConfiguration.java
index b26e3297..5cbef883 100644
--- a/samples/security/oauth/ai-agent/src/main/java/com/example/ai/agent/McpConfiguration.java
+++ b/samples/security/oauth/ai-agent/src/main/java/com/example/ai/agent/McpConfiguration.java
@@ -1,9 +1,10 @@
package com.example.ai.agent;
+import io.modelcontextprotocol.client.McpClient;
import io.modelcontextprotocol.client.transport.customizer.McpSyncHttpClientRequestCustomizer;
import org.springaicommunity.mcp.security.client.sync.AuthenticationMcpTransportContextProvider;
import org.springaicommunity.mcp.security.client.sync.oauth2.http.client.OAuth2AuthorizationCodeSyncHttpRequestCustomizer;
-import org.springframework.ai.mcp.customizer.McpSyncClientCustomizer;
+import org.springframework.ai.mcp.customizer.McpClientCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager;
@@ -20,7 +21,7 @@ McpSyncHttpClientRequestCustomizer requestCustomizer(OAuth2AuthorizedClientManag
}
@Bean
- McpSyncClientCustomizer syncClientCustomizer() {
+ McpClientCustomizer syncClientCustomizer() {
return (name, syncSpec) -> syncSpec.transportContextProvider(new AuthenticationMcpTransportContextProvider());
}
diff --git a/samples/security/oauth/authorization-server/pom.xml b/samples/security/oauth/authorization-server/pom.xml
index d9a40db2..8c868313 100644
--- a/samples/security/oauth/authorization-server/pom.xml
+++ b/samples/security/oauth/authorization-server/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
org.aws.samples
@@ -14,7 +14,7 @@
25
- 1.1.7
+ 2.0.0
0.1.12
diff --git a/samples/security/oauth/weather/pom.xml b/samples/security/oauth/weather/pom.xml
index 1540f3d4..8af927d3 100644
--- a/samples/security/oauth/weather/pom.xml
+++ b/samples/security/oauth/weather/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.example
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
0.1.12
diff --git a/samples/security/oauth/weather/src/main/java/com/example/weather/WeatherTools.java b/samples/security/oauth/weather/src/main/java/com/example/weather/WeatherTools.java
index f07c2f10..e897fe29 100644
--- a/samples/security/oauth/weather/src/main/java/com/example/weather/WeatherTools.java
+++ b/samples/security/oauth/weather/src/main/java/com/example/weather/WeatherTools.java
@@ -2,7 +2,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springaicommunity.mcp.annotation.McpTool;
+import org.springframework.ai.mcp.annotation.McpTool;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Component;
diff --git a/samples/spring-ai-agent/pom.xml b/samples/spring-ai-agent/pom.xml
index f367a0a5..140d56f6 100644
--- a/samples/spring-ai-agent/pom.xml
+++ b/samples/spring-ai-agent/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.aws.workshop.ai
@@ -28,7 +28,7 @@
25
- 1.1.7
+ 2.0.0
42.7.11
3.4.5
1.21.4
@@ -55,7 +55,7 @@
org.springframework.ai
- spring-ai-advisors-vector-store
+ spring-ai-vector-store-advisor
org.springframework.ai
diff --git a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentController.java b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentController.java
index 6c5dc5cf..4aebf7aa 100644
--- a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentController.java
+++ b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentController.java
@@ -2,7 +2,7 @@
import com.aws.workshop.ai.agent.memory.ExternalChatMemoryRepository;
import org.springframework.ai.chat.client.ChatClient;
-import org.springframework.ai.chat.client.advisor.PromptChatMemoryAdvisor;
+import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.memory.ChatMemory;
import org.springframework.ai.chat.memory.MessageWindowChatMemory;
import org.springframework.ai.chat.prompt.ChatOptions;
@@ -14,7 +14,7 @@
public class ExternalizedMemoryAgentController {
private ChatClient chatClient;
private final ChatClient.Builder chatClientBuilder;
- private final PromptChatMemoryAdvisor promptChatMemoryAdvisor;
+ private final MessageChatMemoryAdvisor promptChatMemoryAdvisor;
public ExternalizedMemoryAgentController(ChatClient chatClient, ChatClient.Builder chatClientBuilder, ExternalChatMemoryRepository externalChatMemoryRepository) {
this.chatClient = chatClient;
@@ -22,7 +22,7 @@ public ExternalizedMemoryAgentController(ChatClient chatClient, ChatClient.Build
MessageWindowChatMemory chatMemory = MessageWindowChatMemory.builder()
.chatMemoryRepository(externalChatMemoryRepository)
.build();
- this.promptChatMemoryAdvisor = PromptChatMemoryAdvisor.builder(chatMemory).build();
+ this.promptChatMemoryAdvisor = MessageChatMemoryAdvisor.builder(chatMemory).build();
}
@PostMapping("/chat")
@@ -49,9 +49,7 @@ public Flux chatStream(@RequestBody String prompt) {
@PostMapping("/model")
public void updateModel(@RequestParam String model) {
- var chatOptions = ChatOptions.builder()
- .model(model).build();
chatClient = chatClientBuilder
- .defaultOptions(chatOptions).build();
+ .defaultOptions(ChatOptions.builder().model(model)).build();
}
}
diff --git a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/MemoryAgentController.java b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/MemoryAgentController.java
index 93f2dcba..36cb6dd4 100644
--- a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/MemoryAgentController.java
+++ b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/MemoryAgentController.java
@@ -1,7 +1,7 @@
package com.aws.workshop.ai.agent.controller;
import org.springframework.ai.chat.client.ChatClient;
-import org.springframework.ai.chat.client.advisor.PromptChatMemoryAdvisor;
+import org.springframework.ai.chat.client.advisor.MessageChatMemoryAdvisor;
import org.springframework.ai.chat.memory.ChatMemory;
import org.springframework.ai.chat.memory.InMemoryChatMemoryRepository;
import org.springframework.ai.chat.memory.MessageWindowChatMemory;
@@ -14,7 +14,7 @@
public class MemoryAgentController {
private ChatClient chatClient;
private final ChatClient.Builder chatClientBuilder;
- private final PromptChatMemoryAdvisor promptChatMemoryAdvisor;
+ private final MessageChatMemoryAdvisor promptChatMemoryAdvisor;
public MemoryAgentController(ChatClient chatClient, ChatClient.Builder chatClientBuilder) {
this.chatClient = chatClient;
@@ -23,7 +23,7 @@ public MemoryAgentController(ChatClient chatClient, ChatClient.Builder chatClien
MessageWindowChatMemory.builder()
.chatMemoryRepository(new InMemoryChatMemoryRepository())
.build();
- this.promptChatMemoryAdvisor = PromptChatMemoryAdvisor.builder(memory).build();
+ this.promptChatMemoryAdvisor = MessageChatMemoryAdvisor.builder(memory).build();
}
@PostMapping("/chat")
@@ -50,9 +50,7 @@ public Flux chatStream(@RequestBody String prompt) {
@PostMapping("/model")
public void updateModel(@RequestParam String model) {
- var chatOptions = ChatOptions.builder()
- .model(model).build();
chatClient = chatClientBuilder
- .defaultOptions(chatOptions).build();
+ .defaultOptions(ChatOptions.builder().model(model)).build();
}
}
\ No newline at end of file
diff --git a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/RagPgVectorAgentController.java b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/RagPgVectorAgentController.java
index cf349085..ecf4adfe 100644
--- a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/RagPgVectorAgentController.java
+++ b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/RagPgVectorAgentController.java
@@ -52,9 +52,7 @@ public Flux chatStream(@RequestBody String prompt) {
@PostMapping("/model")
public void updateModel(@RequestParam String model) {
- ChatOptions chatOptions = ChatOptions.builder()
- .model(model).build();
chatClient = chatClientBuilder
- .defaultOptions(chatOptions).build();
+ .defaultOptions(ChatOptions.builder().model(model)).build();
}
}
diff --git a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/StatelessAgentController.java b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/StatelessAgentController.java
index 774ccc53..3c302831 100644
--- a/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/StatelessAgentController.java
+++ b/samples/spring-ai-agent/src/main/java/com/aws/workshop/ai/agent/controller/StatelessAgentController.java
@@ -41,9 +41,7 @@ public Flux chatStream(@RequestBody String prompt) {
@PostMapping("/model")
public void updateModel(@RequestParam String model) {
- var chatOptions = ChatOptions.builder()
- .model(model).build();
chatClient = chatClientBuilder
- .defaultOptions(chatOptions).build();
+ .defaultOptions(ChatOptions.builder().model(model)).build();
}
}
diff --git a/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentControllerTest.java b/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentControllerTest.java
index 48b9b8c7..87d2b5a2 100644
--- a/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentControllerTest.java
+++ b/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/ExternalizedMemoryAgentControllerTest.java
@@ -85,7 +85,7 @@ void shouldUpdateModel() throws Exception {
// Given
String modelName = "test-model";
- when(chatClientBuilder.defaultOptions(any(ChatOptions.class))).thenReturn(chatClientBuilder);
+ when(chatClientBuilder.defaultOptions(any(ChatOptions.Builder.class))).thenReturn(chatClientBuilder);
when(chatClientBuilder.build()).thenReturn(chatClient);
// When & Then
@@ -94,7 +94,7 @@ void shouldUpdateModel() throws Exception {
.andExpect(status().isOk());
verify(chatClientBuilder).defaultOptions(argThat(options ->
- options.getModel() != null && options.getModel().equals(modelName)));
+ options.build().getModel() != null && options.build().getModel().equals(modelName)));
verify(chatClientBuilder).build();
}
}
diff --git a/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/MemoryAgentControllerTest.java b/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/MemoryAgentControllerTest.java
index c85ca71c..75482edc 100644
--- a/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/MemoryAgentControllerTest.java
+++ b/samples/spring-ai-agent/src/test/java/com/aws/workshop/ai/agent/controller/MemoryAgentControllerTest.java
@@ -84,7 +84,7 @@ void shouldHandleChatStreamRequest() throws Exception {
void shouldUpdateModel() throws Exception {
// Given
String modelName = "test-model";
- when(chatClientBuilder.defaultOptions(any(ChatOptions.class))).thenReturn(chatClientBuilder);
+ when(chatClientBuilder.defaultOptions(any(ChatOptions.Builder.class))).thenReturn(chatClientBuilder);
when(chatClientBuilder.build()).thenReturn(chatClient);
// When & Then
@@ -93,7 +93,7 @@ void shouldUpdateModel() throws Exception {
.andExpect(status().isOk());
verify(chatClientBuilder).defaultOptions(argThat(options ->
- (options.getModel() != null) && options.getModel().equals(modelName)));
+ (options.build().getModel() != null) && options.build().getModel().equals(modelName)));
verify(chatClientBuilder).build();
}
}
diff --git a/samples/spring-ai-simple-chat-client/pom.xml b/samples/spring-ai-simple-chat-client/pom.xml
index bfd68a02..d6d69e41 100644
--- a/samples/spring-ai-simple-chat-client/pom.xml
+++ b/samples/spring-ai-simple-chat-client/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.unicorn
@@ -15,7 +15,7 @@
Simple Bedrock Chat Client for Spring AI
25
- 1.1.7
+ 2.0.0
diff --git a/samples/spring-cloud-function-demo/pom.xml b/samples/spring-cloud-function-demo/pom.xml
index fe7e1c38..1f5f51f7 100644
--- a/samples/spring-cloud-function-demo/pom.xml
+++ b/samples/spring-cloud-function-demo/pom.xml
@@ -4,7 +4,7 @@
org.springframework.boot
spring-boot-starter-parent
- 4.0.6
+ 4.1.0
com.amazonaws.demo
spring-cloud-function-demo