diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
similarity index 89%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/pom.xml
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
index d6ad7ff70..587452225 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
@@ -7,12 +7,12 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../../../../pom.xml
+ ../../../../../../pom.xml
- spring-ai-autoconfigure-model-chat-memory-cassandra
+ spring-ai-autoconfigure-model-chat-memory-repository-cassandra
jar
- Spring AI Apache Cassandra Chat Memory Auto Configuration
- Spring AI Apache Cassandra Chat Memory Auto Configuration
+ Spring AI Apache Cassandra Chat Memory Repository Auto Configuration
+ Spring AI Apache Cassandra Chat Memory Repository Auto Configuration
https://github.com/spring-projects/spring-ai
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfiguration.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfiguration.java
similarity index 88%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfiguration.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfiguration.java
index 6dad9d11f..5d5abc2e3 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfiguration.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfiguration.java
@@ -29,7 +29,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean;
/**
- * {@link AutoConfiguration Auto-configuration} for {@link CassandraChatMemory}.
+ * {@link AutoConfiguration Auto-configuration} for {@link CassandraChatMemoryRepository}.
*
* @author Mick Semb Wever
* @author Jihoon Kim
@@ -37,12 +37,13 @@ import org.springframework.context.annotation.Bean;
*/
@AutoConfiguration(after = CassandraAutoConfiguration.class, before = ChatMemoryAutoConfiguration.class)
@ConditionalOnClass({ CassandraChatMemoryRepository.class, CqlSession.class })
-@EnableConfigurationProperties(CassandraChatMemoryProperties.class)
-public class CassandraChatMemoryAutoConfiguration {
+@EnableConfigurationProperties(CassandraChatMemoryRepositoryProperties.class)
+public class CassandraChatMemoryRepositoryAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- public CassandraChatMemoryRepository chatMemory(CassandraChatMemoryProperties properties, CqlSession cqlSession) {
+ public CassandraChatMemoryRepository cassandraChatMemoryRepository(
+ CassandraChatMemoryRepositoryProperties properties, CqlSession cqlSession) {
var builder = CassandraChatMemoryConfig.builder().withCqlSession(cqlSession);
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryProperties.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryProperties.java
similarity index 93%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryProperties.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryProperties.java
index 58a54f27e..62998d82c 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryProperties.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryProperties.java
@@ -32,12 +32,12 @@ import org.springframework.lang.Nullable;
* @author Jihoon Kim
* @since 1.0.0
*/
-@ConfigurationProperties(CassandraChatMemoryProperties.CONFIG_PREFIX)
-public class CassandraChatMemoryProperties {
+@ConfigurationProperties(CassandraChatMemoryRepositoryProperties.CONFIG_PREFIX)
+public class CassandraChatMemoryRepositoryProperties {
public static final String CONFIG_PREFIX = "spring.ai.chat.memory.repository.cassandra";
- private static final Logger logger = LoggerFactory.getLogger(CassandraChatMemoryProperties.class);
+ private static final Logger logger = LoggerFactory.getLogger(CassandraChatMemoryRepositoryProperties.class);
private String keyspace = CassandraChatMemoryConfig.DEFAULT_KEYSPACE_NAME;
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
similarity index 91%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index fd63b9319..79e87bb7a 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-org.springframework.ai.model.chat.memory.repository.cassandra.autoconfigure.CassandraChatMemoryAutoConfiguration
+org.springframework.ai.model.chat.memory.repository.cassandra.autoconfigure.CassandraChatMemoryRepositoryAutoConfiguration
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfigurationIT.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfigurationIT.java
similarity index 91%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfigurationIT.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfigurationIT.java
index 22ecdf482..af898108c 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryAutoConfigurationIT.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryAutoConfigurationIT.java
@@ -42,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @since 1.0.0
*/
@Testcontainers
-class CassandraChatMemoryAutoConfigurationIT {
+class CassandraChatMemoryRepositoryAutoConfigurationIT {
static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName.parse("cassandra");
@@ -50,8 +50,8 @@ class CassandraChatMemoryAutoConfigurationIT {
static CassandraContainer cassandraContainer = new CassandraContainer(DEFAULT_IMAGE_NAME.withTag("5.0"));
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
- .withConfiguration(
- AutoConfigurations.of(CassandraChatMemoryAutoConfiguration.class, CassandraAutoConfiguration.class))
+ .withConfiguration(AutoConfigurations.of(CassandraChatMemoryRepositoryAutoConfiguration.class,
+ CassandraAutoConfiguration.class))
.withPropertyValues("spring.ai.chat.memory.cassandra.keyspace=test_autoconfigure");
@Test
@@ -85,7 +85,8 @@ class CassandraChatMemoryAutoConfigurationIT {
assertThat(memory.findByConversationId(sessionId).get(0).getMessageType()).isEqualTo(MessageType.USER);
assertThat(memory.findByConversationId(sessionId).get(0).getText()).isEqualTo("test question");
- CassandraChatMemoryProperties properties = context.getBean(CassandraChatMemoryProperties.class);
+ CassandraChatMemoryRepositoryProperties properties = context
+ .getBean(CassandraChatMemoryRepositoryProperties.class);
assertThat(properties.getTimeToLive()).isEqualTo(getTimeToLive());
});
}
@@ -97,7 +98,8 @@ class CassandraChatMemoryAutoConfigurationIT {
.withPropertyValues("spring.cassandra.localDatacenter=" + cassandraContainer.getLocalDatacenter())
.withPropertyValues("spring.ai.chat.memory.repository.cassandra.time-to-live=" + getTimeToLiveString())
.run(context -> {
- CassandraChatMemoryProperties properties = context.getBean(CassandraChatMemoryProperties.class);
+ CassandraChatMemoryRepositoryProperties properties = context
+ .getBean(CassandraChatMemoryRepositoryProperties.class);
assertThat(properties.getTimeToLive()).isEqualTo(Duration.parse(getTimeToLiveString()));
});
}
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryPropertiesTest.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryPropertiesTest.java
similarity index 92%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryPropertiesTest.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryPropertiesTest.java
index 7f6cab14b..b962ee19f 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryPropertiesTest.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/model/chat/memory/repository/cassandra/autoconfigure/CassandraChatMemoryRepositoryPropertiesTest.java
@@ -29,11 +29,11 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Jihoon Kim
* @since 1.0.0
*/
-class CassandraChatMemoryPropertiesTest {
+class CassandraChatMemoryRepositoryPropertiesTest {
@Test
void defaultValues() {
- var props = new CassandraChatMemoryProperties();
+ var props = new CassandraChatMemoryRepositoryProperties();
assertThat(props.getKeyspace()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_KEYSPACE_NAME);
assertThat(props.getTable()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_TABLE_NAME);
assertThat(props.getAssistantColumn()).isEqualTo(CassandraChatMemoryConfig.DEFAULT_ASSISTANT_COLUMN_NAME);
@@ -44,7 +44,7 @@ class CassandraChatMemoryPropertiesTest {
@Test
void customValues() {
- var props = new CassandraChatMemoryProperties();
+ var props = new CassandraChatMemoryRepositoryProperties();
props.setKeyspace("my_keyspace");
props.setTable("my_table");
props.setAssistantColumn("my_assistant_column");
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
similarity index 90%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/pom.xml
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
index 075b40ae5..abccac328 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
@@ -7,12 +7,12 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../../../../pom.xml
+ ../../../../../../pom.xml
- spring-ai-autoconfigure-model-chat-memory-jdbc
+ spring-ai-autoconfigure-model-chat-memory-repository-jdbc
jar
- Spring AI JDBC Chat Memory Auto Configuration
- Spring JDBC AI Chat Memory Auto Configuration
+ Spring AI JDBC Chat Memory Repository Auto Configuration
+ Spring JDBC AI Chat Memory Repository Auto Configuration
https://github.com/spring-projects/spring-ai
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java
similarity index 91%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java
index 2d0a89403..46cd9077e 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryAutoConfiguration.java
@@ -42,11 +42,9 @@ import org.springframework.jdbc.core.JdbcTemplate;
@EnableConfigurationProperties(JdbcChatMemoryRepositoryProperties.class)
public class JdbcChatMemoryRepositoryAutoConfiguration {
- private static final Logger logger = LoggerFactory.getLogger(JdbcChatMemoryRepositoryAutoConfiguration.class);
-
@Bean
@ConditionalOnMissingBean
- JdbcChatMemoryRepository chatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
+ JdbcChatMemoryRepository jdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
JdbcChatMemoryDialect dialect = JdbcChatMemoryDialect.from(dataSource);
return JdbcChatMemoryRepository.builder().jdbcTemplate(jdbcTemplate).dialect(dialect).build();
}
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryProperties.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryProperties.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryProperties.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryProperties.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializer.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializer.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializer.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializer.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryHsqldbAutoConfigurationIT.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryHsqldbAutoConfigurationIT.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryHsqldbAutoConfigurationIT.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryHsqldbAutoConfigurationIT.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryPostgresqlAutoConfigurationIT.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryPostgresqlAutoConfigurationIT.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryPostgresqlAutoConfigurationIT.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryPostgresqlAutoConfigurationIT.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryPropertiesTests.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryPropertiesTests.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryPropertiesTests.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositoryPropertiesTests.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializerPostgresqlTests.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializerPostgresqlTests.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializerPostgresqlTests.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemoryRepositorySchemaInitializerPostgresqlTests.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemorySqlServerAutoConfigurationIT.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemorySqlServerAutoConfigurationIT.java
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemorySqlServerAutoConfigurationIT.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/model/chat/memory/repository/jdbc/autoconfigure/JdbcChatMemorySqlServerAutoConfigurationIT.java
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/resources/schema.sql b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/resources/schema.sql
similarity index 100%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc/src/test/resources/schema.sql
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/src/test/resources/schema.sql
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
similarity index 90%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/pom.xml
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
index 5fecf13a3..c38ae7cc5 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
@@ -7,12 +7,12 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../../../../pom.xml
+ ../../../../../../pom.xml
- spring-ai-autoconfigure-model-chat-memory-neo4j
+ spring-ai-autoconfigure-model-chat-memory-repository-neo4j
jar
- Spring AI Neo4j Chat Memory Auto Configuration
- Spring Neo4j AI Chat Memory Auto Configuration
+ Spring AI Neo4j Chat Memory Repository Auto Configuration
+ Spring Neo4j AI Chat Memory Repository Auto Configuration
https://github.com/spring-projects/spring-ai
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryAutoConfiguration.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfiguration.java
similarity index 86%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryAutoConfiguration.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfiguration.java
index 3a7f66aae..085dfc231 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryAutoConfiguration.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfiguration.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.model.chat.memory.neo4j.autoconfigure;
+package org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure;
import org.neo4j.driver.Driver;
@@ -36,12 +36,13 @@ import org.springframework.context.annotation.Bean;
*/
@AutoConfiguration(after = Neo4jAutoConfiguration.class, before = ChatMemoryAutoConfiguration.class)
@ConditionalOnClass({ Neo4jChatMemoryRepository.class, Driver.class })
-@EnableConfigurationProperties(Neo4jChatMemoryProperties.class)
-public class Neo4jChatMemoryAutoConfiguration {
+@EnableConfigurationProperties(Neo4jChatMemoryRepositoryProperties.class)
+public class Neo4jChatMemoryRepositoryAutoConfiguration {
@Bean
@ConditionalOnMissingBean
- public Neo4jChatMemoryRepository chatMemoryRepository(Neo4jChatMemoryProperties properties, Driver driver) {
+ public Neo4jChatMemoryRepository neo4jChatMemoryRepository(Neo4jChatMemoryRepositoryProperties properties,
+ Driver driver) {
var builder = Neo4jChatMemoryConfig.builder()
.withMediaLabel(properties.getMediaLabel())
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryProperties.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryProperties.java
similarity index 92%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryProperties.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryProperties.java
index 1a970ef9b..a2518d40f 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryProperties.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryProperties.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.model.chat.memory.neo4j.autoconfigure;
+package org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure;
import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
@@ -24,8 +24,8 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author Enrico Rampazzo
*/
-@ConfigurationProperties(Neo4jChatMemoryProperties.CONFIG_PREFIX)
-public class Neo4jChatMemoryProperties {
+@ConfigurationProperties(Neo4jChatMemoryRepositoryProperties.CONFIG_PREFIX)
+public class Neo4jChatMemoryRepositoryProperties {
public static final String CONFIG_PREFIX = "spring.ai.chat.memory.neo4j";
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
similarity index 84%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 76a1041cd..9437ed379 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -13,4 +13,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-org.springframework.ai.model.chat.memory.neo4j.autoconfigure.Neo4jChatMemoryAutoConfiguration
+org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure.Neo4jChatMemoryRepositoryAutoConfiguration
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryPropertiesTest.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4JChatMemoryRepositoryPropertiesTest.java
similarity index 88%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryPropertiesTest.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4JChatMemoryRepositoryPropertiesTest.java
index 10022c2f6..2fd98bbdb 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryPropertiesTest.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4JChatMemoryRepositoryPropertiesTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.model.chat.memory.neo4j.autoconfigure;
+package org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure;
import org.junit.jupiter.api.Test;
@@ -26,11 +26,11 @@ import static org.assertj.core.api.Assertions.assertThat;
* @author Enrico Rampazzo
* @since 1.0.0
*/
-class Neo4jChatMemoryPropertiesTest {
+class Neo4JChatMemoryRepositoryPropertiesTest {
@Test
void defaultValues() {
- var props = new Neo4jChatMemoryProperties();
+ var props = new Neo4jChatMemoryRepositoryProperties();
assertThat(props.getMediaLabel()).isEqualTo(Neo4jChatMemoryConfig.DEFAULT_MEDIA_LABEL);
assertThat(props.getMessageLabel()).isEqualTo(Neo4jChatMemoryConfig.DEFAULT_MESSAGE_LABEL);
assertThat(props.getMetadataLabel()).isEqualTo(Neo4jChatMemoryConfig.DEFAULT_METADATA_LABEL);
diff --git a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java
similarity index 96%
rename from auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java
rename to auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java
index 5826a0ae9..c9166ae12 100644
--- a/auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j/src/test/java/org/springframework/ai/model/chat/memory/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/model/chat/memory/repository/neo4j/autoconfigure/Neo4jChatMemoryRepositoryAutoConfigurationIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.model.chat.memory.neo4j.autoconfigure;
+package org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure;
import java.net.URI;
import java.nio.charset.StandardCharsets;
@@ -23,7 +23,7 @@ import java.util.Map;
import java.util.UUID;
import org.junit.jupiter.api.Test;
-import org.springframework.ai.chat.memory.ChatMemory;
+
import org.springframework.ai.chat.memory.ChatMemoryRepository;
import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepository;
import org.testcontainers.containers.Neo4jContainer;
@@ -63,8 +63,8 @@ class Neo4jChatMemoryRepositoryAutoConfigurationIT {
.withoutAuthentication()
.withExposedPorts(7474, 7687);
- private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
- .withConfiguration(AutoConfigurations.of(Neo4jChatMemoryAutoConfiguration.class, Neo4jAutoConfiguration.class));
+ private final ApplicationContextRunner contextRunner = new ApplicationContextRunner().withConfiguration(
+ AutoConfigurations.of(Neo4jChatMemoryRepositoryAutoConfiguration.class, Neo4jAutoConfiguration.class));
@Test
void addAndGet() {
diff --git a/pom.xml b/pom.xml
index f2d4af02f..9e510a4cf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -87,9 +87,9 @@
auto-configurations/models/chat/client/spring-ai-autoconfigure-model-chat-client
auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory
- auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-cassandra
- auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-jdbc
- auto-configurations/models/chat/memory/spring-ai-autoconfigure-model-chat-memory-neo4j
+ auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra
+ auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc
+ auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j
auto-configurations/models/chat/observation/spring-ai-autoconfigure-model-chat-observation
@@ -180,9 +180,6 @@
spring-ai-spring-boot-starters/spring-ai-starter-model-azure-openai
spring-ai-spring-boot-starters/spring-ai-starter-model-bedrock
spring-ai-spring-boot-starters/spring-ai-starter-model-bedrock-converse
- spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-cassandra
- spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-jdbc
- spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-neo4j
spring-ai-spring-boot-starters/spring-ai-starter-model-huggingface
spring-ai-spring-boot-starters/spring-ai-starter-model-minimax
spring-ai-spring-boot-starters/spring-ai-starter-model-mistral-ai
@@ -197,6 +194,10 @@
spring-ai-spring-boot-starters/spring-ai-starter-model-zhipuai
spring-ai-spring-boot-starters/spring-ai-starter-model-deepseek
+ spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra
+ spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc
+ spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j
+
spring-ai-spring-boot-starters/spring-ai-starter-mcp-client
spring-ai-spring-boot-starters/spring-ai-starter-mcp-server
spring-ai-spring-boot-starters/spring-ai-starter-mcp-client-webflux
diff --git a/spring-ai-bom/pom.xml b/spring-ai-bom/pom.xml
index ae4bdb03a..66875160c 100644
--- a/spring-ai-bom/pom.xml
+++ b/spring-ai-bom/pom.xml
@@ -481,21 +481,23 @@
${project.version}
+
+
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-cassandra
+ spring-ai-autoconfigure-model-chat-memory-repository-cassandra
${project.version}
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-jdbc
+ spring-ai-autoconfigure-model-chat-memory-repository-jdbc
${project.version}
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-neo4j
+ spring-ai-autoconfigure-model-chat-memory-repository-neo4j
${project.version}
@@ -1017,23 +1019,23 @@
${project.version}
-
+
org.springframework.ai
- spring-ai-starter-model-chat-memory-cassandra
+ spring-ai-starter-model-chat-memory-repository-cassandra
${project.version}
org.springframework.ai
- spring-ai-starter-model-chat-memory-jdbc
+ spring-ai-starter-model-chat-memory-repository-jdbc
${project.version}
org.springframework.ai
- spring-ai-starter-model-chat-memory-neo4j
+ spring-ai-starter-model-chat-memory-repository-neo4j
${project.version}
diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chatclient.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chatclient.adoc
index 32b0b70cb..3fac0560c 100644
--- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chatclient.adoc
+++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chatclient.adoc
@@ -528,43 +528,15 @@ This allows you to tailor the logged information to your specific needs.
TIP: Be cautious about logging sensitive information in production environments.
-== Chat Memory (Deprecated)
-
-IMPORTANT: Refer to the new xref:api/chat-memory.adoc[Chat Memory] documentation for the current features and capabilities.
+== Chat Memory
The interface `ChatMemory` represents a storage for chat conversation history. It provides methods to add messages to a conversation, retrieve messages from a conversation, and clear the conversation history.
-There are currently four implementations: `CassandraChatMemory`, `Neo4jChatMemory`, and `JdbcChatMemory`, which provide storage for chat conversation history in-memory, persisted with `time-to-live` in Cassandra, and persisted without `time-to-live` in Neo4j and Jdbc, respectively.
+There is currently one implementation: `MessageWindowChatMemory`.
-=== CassandraChatMemory
+`MessageWindowChatMemory` is a chat memory implementation that maintains a window of messages up to a specified maximum size (default: 20 messages). When the number of messages exceeds this limit, older messages are evicted, but system messages are preserved. If a new system message is added, all previous system messages are removed from memory. This ensures that the most recent context is always available for the conversation while keeping memory usage bounded.
-To create a `CassandraChatMemory` with `time-to-live`:
-[source,java]
-----
-CassandraChatMemory.create(CassandraChatMemoryConfig.builder().withTimeToLive(Duration.ofDays(1)).build());
-----
+The `MessageWindowChatMemory` is backed by the `ChatMemoryRepository` abstraction which provides storage implementations for the chat conversation history. There are several implementations available, including the `InMemoryChatMemoryRepository`, `JdbcChatMemoryRepository`, `CassandraChatMemoryRepository` and `Neo4jChatMemoryRepository`.
-IMPORTANT: Refer to the new xref:api/chat-memory.adoc#_cassandra_repository[Cassandra Chat Memory Repository] documentation for the current features and capabilities.
-
-=== Neo4jChatMemory
-
-The Neo4j chat memory supports the following configuration parameters:
-
-[cols="2,5,1",stripes=even]
-|===
-|Property | Description | Default Value
-
-| `spring.ai.chat.memory.neo4j.messageLabel` | The label for the nodes that store messages | `Message`
-| `spring.ai.chat.memory.neo4j.sessionLabel` | The label for the nodes that store conversation sessions | `Session`
-| `spring.ai.chat.memory.neo4j.toolCallLabel` | The label for nodes that store tool calls, for example
-in Assistant Messages | `ToolCall`
-| `spring.ai.chat.memory.neo4j.metadataLabel` | The label for the node that store a message metadata | `Metadata`
-| `spring.ai.chat.memory.neo4j.toolResponseLabel` | The label for the nodes that store tool responses | `ToolResponse`
-| `spring.ai.chat.memory.neo4j.mediaLabel` | The label for the nodes that store the media associated to a message | `ToolResponse`
-
-|===
-
-=== JdbcChatMemory
-
-IMPORTANT: Refer to the new xref:api/chat-memory.adoc#_jdbc_repository[JDBC Chat Memory Repository] documentation for the current features and capabilities.
+This implementation is the default for conversation history management in Spring AI. For more details and usage examples, see the xref:api/chat-memory.adoc[Chat Memory] section.
diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc
index ac5d469ec..b275bd51f 100644
--- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc
+++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/upgrade-notes.adoc
@@ -55,6 +55,19 @@ If you were providing custom templates for the following advisors, you'll need t
The Watson AI model was removed as it was based on the older text generation that is considered outdated as there is a new chat generation model available.
Hopefully Watson will reappear in a future version of Spring AI
+==== Chat Memory Repository Module and Autoconfiguration Renaming
+
+In 1.0.0-RC1, the chat memory modules, starters, and autoconfiguration classes for Cassandra, JDBC, and Neo4j have been renamed to include the `repository` suffix for clarity. This impacts artifact IDs, Java package names, and class names. For example:
+
+- Artifact IDs:
+- `spring-ai-autoconfigure-model-chat-memory-jdbc` → `spring-ai-autoconfigure-model-chat-memory-repository-jdbc`
+- `spring-ai-starter-model-chat-memory-jdbc` → `spring-ai-starter-model-chat-memory-repository-jdbc`
+- Java packages now use `.repository.` (e.g., `org.springframework.ai.model.chat.memory.repository.jdbc.autoconfigure`).
+- Main autoconfiguration classes are now named `JdbcChatMemoryRepositoryAutoConfiguration`, `CassandraChatMemoryRepositoryAutoConfiguration`, etc.
+
+**Migration Required:**
+- Update your Maven/Gradle dependencies to use the new artifact IDs.
+- Update any imports, class references, or configuration that used the old package or class names.
[[upgrading-to-1-0-0-m8]]
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-cassandra/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
similarity index 89%
rename from spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-cassandra/pom.xml
rename to spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
index 698974711..75588a699 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-cassandra/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
@@ -23,10 +23,10 @@
1.0.0-SNAPSHOT
../../pom.xml
- spring-ai-starter-model-chat-memory-cassandra
+ spring-ai-starter-model-chat-memory-repository-cassandra
jar
- Spring AI Starter - Cassandra Chat Memory
- Spring AI Cassandra Chat Memory Starter
+ Spring AI Starter - Cassandra Chat Memory Repository
+ Spring AI Cassandra Chat Memory Repository Starter
https://github.com/spring-projects/spring-ai
@@ -50,7 +50,7 @@
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-cassandra
+ spring-ai-autoconfigure-model-chat-memory-repository-cassandra
${project.parent.version}
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-jdbc/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
similarity index 90%
rename from spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-jdbc/pom.xml
rename to spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
index 5f510a087..d4564f918 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-jdbc/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
@@ -23,10 +23,10 @@
1.0.0-SNAPSHOT
../../pom.xml
- spring-ai-starter-model-chat-memory-jdbc
+ spring-ai-starter-model-chat-memory-repository-jdbc
jar
- Spring AI Starter - JDBC Chat Memory
- Spring AI JDBC Chat Memory Starter
+ Spring AI Starter - JDBC Chat Memory Repository
+ Spring AI JDBC Chat Memory Repository Starter
https://github.com/spring-projects/spring-ai
@@ -50,7 +50,7 @@
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-jdbc
+ spring-ai-autoconfigure-model-chat-memory-repository-jdbc
${project.parent.version}
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-neo4j/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
similarity index 90%
rename from spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-neo4j/pom.xml
rename to spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
index 63256cbbc..172792dfa 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-neo4j/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
@@ -23,10 +23,10 @@
1.0.0-SNAPSHOT
../../pom.xml
- spring-ai-starter-model-chat-memory-neo4j
+ spring-ai-starter-model-chat-memory-repository-neo4j
jar
- Spring AI Starter - Neo4j Chat Memory
- Spring AI Neo4j Chat Memory Starter
+ Spring AI Starter - Neo4j Chat Memory Repository
+ Spring AI Neo4j Chat Memory Repository Starter
https://github.com/spring-projects/spring-ai
@@ -50,7 +50,7 @@
org.springframework.ai
- spring-ai-autoconfigure-model-chat-memory-neo4j
+ spring-ai-autoconfigure-model-chat-memory-repository-neo4j
${project.parent.version}