diff --git a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
index 587452225db..1685a8a5d3a 100644
--- a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-cassandra/pom.xml
@@ -25,7 +25,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-cassandra
+ spring-ai-model-chat-memory-repository-cassandra
${project.parent.version}
diff --git a/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 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
index dbc2c767dc1..404306723da 100644
--- a/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
+++ 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
@@ -18,8 +18,8 @@
import com.datastax.oss.driver.api.core.CqlSession;
-import org.springframework.ai.chat.memory.cassandra.CassandraChatMemoryRepositoryConfig;
-import org.springframework.ai.chat.memory.cassandra.CassandraChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.cassandra.CassandraChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.cassandra.CassandraChatMemoryRepository;
import org.springframework.ai.model.chat.memory.autoconfigure.ChatMemoryAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration;
diff --git a/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 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
index 15b778f95cd..45c629f4f42 100644
--- a/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
+++ 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
@@ -21,7 +21,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.ai.chat.memory.cassandra.CassandraChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.cassandra.CassandraChatMemoryRepositoryConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.lang.Nullable;
diff --git a/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 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
index af898108c87..90f41f86e7f 100644
--- a/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
+++ 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
@@ -26,7 +26,7 @@
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
-import org.springframework.ai.chat.memory.cassandra.CassandraChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.cassandra.CassandraChatMemoryRepository;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.MessageType;
import org.springframework.ai.chat.messages.UserMessage;
diff --git a/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 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
index e14c55be625..5138f11f133 100644
--- a/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
+++ 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
@@ -20,7 +20,7 @@
import org.junit.jupiter.api.Test;
-import org.springframework.ai.chat.memory.cassandra.CassandraChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.cassandra.CassandraChatMemoryRepositoryConfig;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
index abccac328f3..60335dbabff 100644
--- a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-jdbc/pom.xml
@@ -25,7 +25,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-jdbc
+ spring-ai-model-chat-memory-repository-jdbc
${project.parent.version}
diff --git a/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 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
index 0d2ae5c7dd0..6db6e034423 100644
--- a/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
+++ 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
@@ -18,8 +18,8 @@
import javax.sql.DataSource;
-import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryDialect;
-import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepositoryDialect;
+import org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepository;
import org.springframework.ai.model.chat.memory.autoconfigure.ChatMemoryAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
@@ -45,7 +45,7 @@ public class JdbcChatMemoryRepositoryAutoConfiguration {
@Bean
@ConditionalOnMissingBean
JdbcChatMemoryRepository jdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
- JdbcChatMemoryDialect dialect = JdbcChatMemoryDialect.from(dataSource);
+ JdbcChatMemoryRepositoryDialect dialect = JdbcChatMemoryRepositoryDialect.from(dataSource);
return JdbcChatMemoryRepository.builder().jdbcTemplate(jdbcTemplate).dialect(dialect).build();
}
diff --git a/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 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
index d7e9ddb7b64..9ff1697a447 100644
--- a/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
+++ 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
@@ -30,7 +30,7 @@ public class JdbcChatMemoryRepositoryProperties {
public static final String CONFIG_PREFIX = "spring.ai.chat.memory.repository.jdbc";
- private static final String DEFAULT_SCHEMA_LOCATION = "classpath:org/springframework/ai/chat/memory/jdbc/schema-@@platform@@.sql";
+ private static final String DEFAULT_SCHEMA_LOCATION = "classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-@@platform@@.sql";
/**
* Whether to initialize the schema on startup. Values: embedded, always, never.
@@ -40,7 +40,7 @@ public class JdbcChatMemoryRepositoryProperties {
/**
* Locations of schema (DDL) scripts. Supports comma-separated list. Default is
- * classpath:org/springframework/ai/chat/memory/jdbc/schema-@@platform@@.sql
+ * classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-@@platform@@.sql
*/
private String schema = DEFAULT_SCHEMA_LOCATION;
diff --git a/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 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/JdbcChatMemoryRepositoryHsqldbAutoConfigurationIT.java
similarity index 94%
rename from 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
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/JdbcChatMemoryRepositoryHsqldbAutoConfigurationIT.java
index cadfeb96bb6..1572ddd6944 100644
--- a/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
+++ 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/JdbcChatMemoryRepositoryHsqldbAutoConfigurationIT.java
@@ -22,6 +22,7 @@
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepository;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.UserMessage;
@@ -39,7 +40,7 @@
import static org.assertj.core.api.Assertions.fail;
@RunWith(SpringRunner.class)
-@SpringBootTest(classes = JdbcChatMemoryHsqldbAutoConfigurationIT.TestConfig.class,
+@SpringBootTest(classes = JdbcChatMemoryRepositoryHsqldbAutoConfigurationIT.TestConfig.class,
properties = { "spring.datasource.url=jdbc:hsqldb:mem:chat_memory_auto_configuration_test;DB_CLOSE_DELAY=-1",
"spring.datasource.username=sa", "spring.datasource.password=",
"spring.datasource.driver-class-name=org.hsqldb.jdbcDriver",
@@ -54,7 +55,7 @@
org.springframework.boot.autoconfigure.jdbc.JdbcTemplateAutoConfiguration.class,
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration.class,
SqlInitializationAutoConfiguration.class })
-public class JdbcChatMemoryHsqldbAutoConfigurationIT {
+public class JdbcChatMemoryRepositoryHsqldbAutoConfigurationIT {
@Autowired
private ApplicationContext context;
@@ -130,7 +131,7 @@ public void useAutoConfiguredChatMemoryWithJdbc() {
try {
java.util.Enumeration resources = Thread.currentThread()
.getContextClassLoader()
- .getResources("org/springframework/ai/chat/memory/jdbc/schema-hsqldb.sql");
+ .getResources("org/springframework/ai/chat/memory/repository/jdbc/schema-hsqldb.sql");
System.out.println("--- schema-hsqldb.sql resources found on classpath ---");
while (resources.hasMoreElements()) {
System.out.println(resources.nextElement());
@@ -157,7 +158,7 @@ public void useAutoConfiguredChatMemoryWithJdbc() {
// Now test the ChatMemory functionality
assertThat(context.getBean(org.springframework.ai.chat.memory.ChatMemory.class)).isNotNull();
- assertThat(context.getBean(org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryRepository.class)).isNotNull();
+ assertThat(context.getBean(JdbcChatMemoryRepository.class)).isNotNull();
var chatMemory = context.getBean(org.springframework.ai.chat.memory.ChatMemory.class);
var conversationId = java.util.UUID.randomUUID().toString();
diff --git a/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 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/JdbcChatMemoryRepositoryPostgresqlAutoConfigurationIT.java
similarity index 97%
rename from 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
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/JdbcChatMemoryRepositoryPostgresqlAutoConfigurationIT.java
index 2b97bbce75b..b7bce37f637 100644
--- a/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
+++ 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/JdbcChatMemoryRepositoryPostgresqlAutoConfigurationIT.java
@@ -22,7 +22,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.ai.chat.memory.ChatMemory;
-import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepository;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.UserMessage;
@@ -40,7 +40,7 @@
* @author Linar Abzaltdinov
* @author Yanming Zhou
*/
-class JdbcChatMemoryPostgresqlAutoConfigurationIT {
+class JdbcChatMemoryRepositoryPostgresqlAutoConfigurationIT {
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
.withConfiguration(AutoConfigurations.of(JdbcChatMemoryRepositoryAutoConfiguration.class,
diff --git a/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 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
index d4d175fb746..03542a87d98 100644
--- a/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
+++ 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
@@ -62,7 +62,7 @@ void getSettings_shouldHaveSchemaLocations() {
new JdbcChatMemoryRepositoryProperties());
assertThat(settings.getSchemaLocations())
- .containsOnly("classpath:org/springframework/ai/chat/memory/jdbc/schema-postgresql.sql");
+ .containsOnly("classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-postgresql.sql");
});
}
diff --git a/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 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/JdbcChatMemoryRepositorySqlServerAutoConfigurationIT.java
similarity index 97%
rename from 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
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/JdbcChatMemoryRepositorySqlServerAutoConfigurationIT.java
index 72064374a1a..7638d65917a 100644
--- a/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
+++ 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/JdbcChatMemoryRepositorySqlServerAutoConfigurationIT.java
@@ -10,7 +10,7 @@
import org.junit.jupiter.api.Test;
import org.springframework.ai.chat.memory.ChatMemory;
-import org.springframework.ai.chat.memory.jdbc.JdbcChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepository;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.UserMessage;
@@ -27,7 +27,7 @@
import static org.assertj.core.api.Assertions.assertThat;
@Testcontainers
-class JdbcChatMemorySqlServerAutoConfigurationIT {
+class JdbcChatMemoryRepositorySqlServerAutoConfigurationIT {
static final DockerImageName DEFAULT_IMAGE_NAME = DockerImageName
.parse("mcr.microsoft.com/mssql/server:2022-latest");
diff --git a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
index c38ae7cc540..694de5ea771 100644
--- a/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
+++ b/auto-configurations/models/chat/memory/repository/spring-ai-autoconfigure-model-chat-memory-repository-neo4j/pom.xml
@@ -25,7 +25,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-neo4j
+ spring-ai-model-chat-memory-repository-neo4j
${project.parent.version}
diff --git a/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 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
index 10a902fa9f3..85a09532611 100644
--- a/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
+++ 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
@@ -18,8 +18,8 @@
import org.neo4j.driver.Driver;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepositoryConfig;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepository;
import org.springframework.ai.model.chat.memory.autoconfigure.ChatMemoryAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
diff --git a/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 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
index 43719b4044e..f58f8b75b94 100644
--- a/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
+++ 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
@@ -16,7 +16,7 @@
package org.springframework.ai.model.chat.memory.repository.neo4j.autoconfigure;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepositoryConfig;
import org.springframework.boot.context.properties.ConfigurationProperties;
/**
diff --git a/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 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
index 251cd371eb0..4245c3aa6c1 100644
--- a/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
+++ 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
@@ -18,7 +18,7 @@
import org.junit.jupiter.api.Test;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepositoryConfig;
import static org.assertj.core.api.Assertions.assertThat;
diff --git a/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 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
index 9c9aec6d2b9..172ddefa671 100644
--- a/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
+++ 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
@@ -25,13 +25,13 @@
import org.junit.jupiter.api.Test;
import org.springframework.ai.chat.memory.ChatMemoryRepository;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepository;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepository;
import org.testcontainers.containers.Neo4jContainer;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.utility.DockerImageName;
-import org.springframework.ai.chat.memory.neo4j.Neo4jChatMemoryRepositoryConfig;
+import org.springframework.ai.chat.memory.repository.neo4j.Neo4jChatMemoryRepositoryConfig;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.messages.Message;
import org.springframework.ai.chat.messages.SystemMessage;
diff --git a/memory/spring-ai-model-chat-memory-cassandra/pom.xml b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/pom.xml
similarity index 90%
rename from memory/spring-ai-model-chat-memory-cassandra/pom.xml
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/pom.xml
index fc6c500b6c8..9769db0a227 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/pom.xml
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/pom.xml
@@ -23,12 +23,12 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../pom.xml
+ ../../../pom.xml
- spring-ai-model-chat-memory-cassandra
- Spring AI Apache Cassandra Chat Memory
- Spring AI Apache Cassandra Chat Memory implementation
+ spring-ai-model-chat-memory-repository-cassandra
+ Spring AI Apache Cassandra Chat Memory Repository
+ Spring AI Apache Cassandra Chat Memory Repository implementation
https://github.com/spring-projects/spring-ai
diff --git a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepository.java b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepository.java
similarity index 99%
rename from memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepository.java
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepository.java
index 58c2ec26cce..6c4984eb5e1 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepository.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepository.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.cassandra;
+package org.springframework.ai.chat.memory.repository.cassandra;
import java.time.Instant;
import java.util.ArrayList;
diff --git a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryConfig.java b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryConfig.java
similarity index 99%
rename from memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryConfig.java
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryConfig.java
index 3d232726613..939e41fec89 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryConfig.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryConfig.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.cassandra;
+package org.springframework.ai.chat.memory.repository.cassandra;
import java.net.InetSocketAddress;
import java.time.Duration;
diff --git a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/SchemaUtil.java b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/SchemaUtil.java
similarity index 96%
rename from memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/SchemaUtil.java
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/SchemaUtil.java
index eeb1f5a15ed..de25d96738c 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/src/main/java/org/springframework/ai/chat/memory/cassandra/SchemaUtil.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/main/java/org/springframework/ai/chat/memory/repository/cassandra/SchemaUtil.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.cassandra;
+package org.springframework.ai.chat.memory.repository.cassandra;
import java.time.Duration;
diff --git a/memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryIT.java b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryIT.java
similarity index 99%
rename from memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryIT.java
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryIT.java
index 0bf52898553..67c00c79958 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraChatMemoryRepositoryIT.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraChatMemoryRepositoryIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.cassandra;
+package org.springframework.ai.chat.memory.repository.cassandra;
import java.time.Duration;
import java.util.List;
diff --git a/memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraImage.java b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraImage.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraImage.java
rename to memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraImage.java
index ec3c7660464..742d8cc70f0 100644
--- a/memory/spring-ai-model-chat-memory-cassandra/src/test/java/org/springframework/ai/chat/memory/cassandra/CassandraImage.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-cassandra/src/test/java/org/springframework/ai/chat/memory/repository/cassandra/CassandraImage.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.cassandra;
+package org.springframework.ai.chat.memory.repository.cassandra;
import org.testcontainers.utility.DockerImageName;
diff --git a/memory/spring-ai-model-chat-memory-jdbc/README.md b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/README.md
similarity index 100%
rename from memory/spring-ai-model-chat-memory-jdbc/README.md
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/README.md
diff --git a/memory/spring-ai-model-chat-memory-jdbc/pom.xml b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/pom.xml
similarity index 96%
rename from memory/spring-ai-model-chat-memory-jdbc/pom.xml
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/pom.xml
index a2e86e527a7..4f8364433e9 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/pom.xml
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/pom.xml
@@ -23,10 +23,10 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../pom.xml
+ ../../../pom.xml
- spring-ai-model-chat-memory-jdbc
+ spring-ai-model-chat-memory-repository-jdbc
Spring AI JDBC Chat Memory
Spring AI JDBC Chat Memory implementation
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/HsqldbChatMemoryDialect.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/HsqldbChatMemoryRepositoryDialect.java
similarity index 89%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/HsqldbChatMemoryDialect.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/HsqldbChatMemoryRepositoryDialect.java
index 39e9770f640..c833e3fff4b 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/HsqldbChatMemoryDialect.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/HsqldbChatMemoryRepositoryDialect.java
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
/**
* HSQLDB-specific SQL dialect for chat memory repository.
*/
-public class HsqldbChatMemoryDialect implements JdbcChatMemoryDialect {
+public class HsqldbChatMemoryRepositoryDialect implements JdbcChatMemoryRepositoryDialect {
@Override
public String getSelectMessagesSql() {
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepository.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java
similarity index 95%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepository.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java
index 3fbbd3ffb5b..85d8c1c3265 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepository.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepository.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
@@ -51,9 +51,9 @@ public class JdbcChatMemoryRepository implements ChatMemoryRepository {
private final JdbcTemplate jdbcTemplate;
- private final JdbcChatMemoryDialect dialect;
+ private final JdbcChatMemoryRepositoryDialect dialect;
- private JdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, JdbcChatMemoryDialect dialect) {
+ private JdbcChatMemoryRepository(JdbcTemplate jdbcTemplate, JdbcChatMemoryRepositoryDialect dialect) {
Assert.notNull(jdbcTemplate, "jdbcTemplate cannot be null");
Assert.notNull(dialect, "dialect cannot be null");
this.jdbcTemplate = jdbcTemplate;
@@ -146,7 +146,7 @@ public static class Builder {
private JdbcTemplate jdbcTemplate;
- private JdbcChatMemoryDialect dialect;
+ private JdbcChatMemoryRepositoryDialect dialect;
private Builder() {
}
@@ -156,7 +156,7 @@ public Builder jdbcTemplate(JdbcTemplate jdbcTemplate) {
return this;
}
- public Builder dialect(JdbcChatMemoryDialect dialect) {
+ public Builder dialect(JdbcChatMemoryRepositoryDialect dialect) {
this.dialect = dialect;
return this;
}
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryDialect.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryDialect.java
similarity index 76%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryDialect.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryDialect.java
index a186dd595b7..98533498da4 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryDialect.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryDialect.java
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
import javax.sql.DataSource;
/**
* Abstraction for database-specific SQL for chat memory repository.
*/
-public interface JdbcChatMemoryDialect {
+public interface JdbcChatMemoryRepositoryDialect {
/**
* Returns the SQL to fetch messages for a conversation, ordered by timestamp, with
@@ -51,25 +51,25 @@ public interface JdbcChatMemoryDialect {
/**
* Detects the dialect from the DataSource or JDBC URL.
*/
- static JdbcChatMemoryDialect from(DataSource dataSource) {
+ static JdbcChatMemoryRepositoryDialect from(DataSource dataSource) {
// Simple detection (could be improved)
try {
String url = dataSource.getConnection().getMetaData().getURL().toLowerCase();
if (url.contains("postgresql"))
- return new PostgresChatMemoryDialect();
+ return new PostgresChatMemoryRepositoryDialect();
if (url.contains("mysql"))
- return new MysqlChatMemoryDialect();
+ return new MysqlChatMemoryRepositoryDialect();
if (url.contains("mariadb"))
- return new MysqlChatMemoryDialect();
+ return new MysqlChatMemoryRepositoryDialect();
if (url.contains("sqlserver"))
- return new SqlServerChatMemoryDialect();
+ return new SqlServerChatMemoryRepositoryDialect();
if (url.contains("hsqldb"))
- return new HsqldbChatMemoryDialect();
+ return new HsqldbChatMemoryRepositoryDialect();
// Add more as needed
}
catch (Exception ignored) {
}
- return new PostgresChatMemoryDialect(); // default
+ return new PostgresChatMemoryRepositoryDialect(); // default
}
}
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/MysqlChatMemoryDialect.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/MysqlChatMemoryRepositoryDialect.java
similarity index 89%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/MysqlChatMemoryDialect.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/MysqlChatMemoryRepositoryDialect.java
index 8bc7d2c21d9..a41fd76ee97 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/MysqlChatMemoryDialect.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/MysqlChatMemoryRepositoryDialect.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
/**
* Dialect for MySQL.
@@ -22,7 +22,7 @@
* @author Mark Pollack
* @since 1.0.0
*/
-public class MysqlChatMemoryDialect implements JdbcChatMemoryDialect {
+public class MysqlChatMemoryRepositoryDialect implements JdbcChatMemoryRepositoryDialect {
@Override
public String getSelectMessagesSql() {
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/PostgresChatMemoryDialect.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/PostgresChatMemoryRepositoryDialect.java
similarity index 89%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/PostgresChatMemoryDialect.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/PostgresChatMemoryRepositoryDialect.java
index 424eb1aedf1..b22d298be6f 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/PostgresChatMemoryDialect.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/PostgresChatMemoryRepositoryDialect.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
/**
* Dialect for Postgres.
@@ -22,7 +22,7 @@
* @author Mark Pollack
* @since 1.0.0
*/
-public class PostgresChatMemoryDialect implements JdbcChatMemoryDialect {
+public class PostgresChatMemoryRepositoryDialect implements JdbcChatMemoryRepositoryDialect {
@Override
public String getSelectMessagesSql() {
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/SqlServerChatMemoryDialect.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/SqlServerChatMemoryRepositoryDialect.java
similarity index 89%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/SqlServerChatMemoryDialect.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/SqlServerChatMemoryRepositoryDialect.java
index 48704a5f1ea..c4555de0886 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/SqlServerChatMemoryDialect.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/SqlServerChatMemoryRepositoryDialect.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
/**
* Dialect for SQL Server.
@@ -22,7 +22,7 @@
* @author Mark Pollack
* @since 1.0.0
*/
-public class SqlServerChatMemoryDialect implements JdbcChatMemoryDialect {
+public class SqlServerChatMemoryRepositoryDialect implements JdbcChatMemoryRepositoryDialect {
@Override
public String getSelectMessagesSql() {
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java
similarity index 92%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java
index 3ce817185e2..1aaa35bfdb9 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHints.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc.aot.hint;
+package org.springframework.ai.chat.memory.repository.jdbc.aot.hint;
import javax.sql.DataSource;
@@ -34,7 +34,7 @@ public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
hints.reflection()
.registerType(DataSource.class, hint -> hint.withMembers(MemberCategory.INVOKE_DECLARED_METHODS));
- hints.resources().registerPattern("org/springframework/ai/chat/memory/jdbc/schema-*.sql");
+ hints.resources().registerPattern("org/springframework/ai/chat/memory/repository/jdbc/schema-*.sql");
}
}
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/package-info.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/package-info.java
similarity index 92%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/package-info.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/package-info.java
index a26f200dec1..17be305edc9 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/java/org/springframework/ai/chat/memory/jdbc/package-info.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/java/org/springframework/ai/chat/memory/repository/jdbc/package-info.java
@@ -16,7 +16,7 @@
@NonNullApi
@NonNullFields
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
import org.springframework.lang.NonNullApi;
import org.springframework.lang.NonNullFields;
diff --git a/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/META-INF/spring/aot.factories b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/META-INF/spring/aot.factories
new file mode 100644
index 00000000000..36fa0475c74
--- /dev/null
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/META-INF/spring/aot.factories
@@ -0,0 +1,2 @@
+org.springframework.aot.hint.RuntimeHintsRegistrar=\
+org.springframework.ai.chat.memory.repository.jdbc.aot.hint.JdbcChatMemoryRepositoryRuntimeHints
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-hsqldb.sql b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-hsqldb.sql
similarity index 100%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-hsqldb.sql
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-hsqldb.sql
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-mariadb.sql b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-mariadb.sql
similarity index 100%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-mariadb.sql
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-mariadb.sql
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-postgresql.sql b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-postgresql.sql
similarity index 100%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-postgresql.sql
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-postgresql.sql
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-sqlserver.sql b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-sqlserver.sql
similarity index 100%
rename from memory/spring-ai-model-chat-memory-jdbc/src/main/resources/org/springframework/ai/chat/memory/jdbc/schema-sqlserver.sql
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/main/resources/org/springframework/ai/chat/memory/repository/jdbc/schema-sqlserver.sql
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java
similarity index 92%
rename from memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java
index 5e5abc6ac41..6e8b0a84c4a 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/JdbcChatMemoryRepositoryPostgresqlIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc;
+package org.springframework.ai.chat.memory.repository.jdbc;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
@@ -40,6 +40,8 @@
import java.util.List;
import java.util.UUID;
+import javax.sql.DataSource;
+
import static org.assertj.core.api.Assertions.assertThat;
/**
@@ -50,7 +52,7 @@
*/
@SpringBootTest(classes = JdbcChatMemoryRepositoryPostgresqlIT.TestConfiguration.class)
@TestPropertySource(properties = "spring.datasource.url=jdbc:tc:postgresql:17:///")
-@Sql(scripts = "classpath:org/springframework/ai/chat/memory/jdbc/schema-postgresql.sql")
+@Sql(scripts = "classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-postgresql.sql")
class JdbcChatMemoryRepositoryPostgresqlIT {
@Autowired
@@ -77,7 +79,7 @@ void saveMessagesSingleMessage(String content, MessageType messageType) {
chatMemoryRepository.saveAll(conversationId, List.of(message));
- var query = "SELECT conversation_id, content, type, \"timestamp\" FROM ai_chat_memory WHERE conversation_id = ?";
+ var query = "SELECT conversation_id, content, type, \"timestamp\" FROM SPRING_AI_CHAT_MEMORY WHERE conversation_id = ?";
var result = jdbcTemplate.queryForMap(query, conversationId);
assertThat(result.size()).isEqualTo(4);
@@ -96,7 +98,7 @@ void saveMessagesMultipleMessages() {
chatMemoryRepository.saveAll(conversationId, messages);
- var query = "SELECT conversation_id, content, type, \"timestamp\" FROM ai_chat_memory WHERE conversation_id = ?";
+ var query = "SELECT conversation_id, content, type, \"timestamp\" FROM SPRING_AI_CHAT_MEMORY WHERE conversation_id = ?";
var results = jdbcTemplate.queryForList(query, conversationId);
assertThat(results.size()).isEqualTo(messages.size());
@@ -148,7 +150,7 @@ void deleteMessagesByConversationId() {
chatMemoryRepository.deleteByConversationId(conversationId);
- var count = jdbcTemplate.queryForObject("SELECT COUNT(*) FROM ai_chat_memory WHERE conversation_id = ?",
+ var count = jdbcTemplate.queryForObject("SELECT COUNT(*) FROM SPRING_AI_CHAT_MEMORY WHERE conversation_id = ?",
Integer.class, conversationId);
assertThat(count).isZero();
@@ -159,8 +161,11 @@ void deleteMessagesByConversationId() {
static class TestConfiguration {
@Bean
- ChatMemoryRepository chatMemoryRepository(JdbcTemplate jdbcTemplate) {
- return JdbcChatMemoryRepository.builder().jdbcTemplate(jdbcTemplate).build();
+ ChatMemoryRepository chatMemoryRepository(JdbcTemplate jdbcTemplate, DataSource dataSource) {
+ return JdbcChatMemoryRepository.builder()
+ .jdbcTemplate(jdbcTemplate)
+ .dialect(JdbcChatMemoryRepositoryDialect.from(dataSource))
+ .build();
}
}
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java
rename to memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java
index d507c712eda..fe9e5e9c11c 100644
--- a/memory/spring-ai-model-chat-memory-jdbc/src/test/java/org/springframework/ai/chat/memory/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-jdbc/src/test/java/org/springframework/ai/chat/memory/repository/jdbc/aot/hint/JdbcChatMemoryRepositoryRuntimeHintsTest.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.jdbc.aot.hint;
+package org.springframework.ai.chat.memory.repository.jdbc.aot.hint;
import java.io.IOException;
import java.util.Arrays;
@@ -60,7 +60,7 @@ void jdbcSchemasHasHints(String schemaFileName) {
this.jdbcChatMemoryRepositoryRuntimeHints.registerHints(this.hints, getClass().getClassLoader());
var predicate = RuntimeHintsPredicates.resource()
- .forResource("org/springframework/ai/chat/memory/jdbc/" + schemaFileName);
+ .forResource("org/springframework/ai/chat/memory/repository/jdbc/" + schemaFileName);
assertThat(predicate).accepts(this.hints);
}
@@ -74,7 +74,7 @@ void dataSourceHasHints() {
private static Stream getSchemaFileNames() throws IOException {
var resources = new PathMatchingResourcePatternResolver()
- .getResources("classpath*:org/springframework/ai/chat/memory/jdbc/schema-*.sql");
+ .getResources("classpath*:org/springframework/ai/chat/memory/repository/jdbc/schema-*.sql");
return Arrays.stream(resources).map(Resource::getFilename);
}
diff --git a/memory/spring-ai-model-chat-memory-neo4j/pom.xml b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/pom.xml
similarity index 92%
rename from memory/spring-ai-model-chat-memory-neo4j/pom.xml
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/pom.xml
index 47e370364e2..f8fad872344 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/pom.xml
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/pom.xml
@@ -23,12 +23,12 @@
org.springframework.ai
spring-ai-parent
1.0.0-SNAPSHOT
- ../../pom.xml
+ ../../../pom.xml
- spring-ai-model-chat-memory-neo4j
- Spring AI Neo4j Chat Memory
- Spring AI Neo4j Chat Memory implementation
+ spring-ai-model-chat-memory-repository-neo4j
+ Spring AI Neo4j Chat Memory Repository
+ Spring AI Neo4j Chat Memory Repository implementation
https://github.com/spring-projects/spring-ai
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MediaAttributes.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MediaAttributes.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MediaAttributes.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MediaAttributes.java
index 126e8247cab..03e84022ec1 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MediaAttributes.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MediaAttributes.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
/**
* @author Enrico Rampazzo
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MessageAttributes.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MessageAttributes.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MessageAttributes.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MessageAttributes.java
index a20b6c19964..f34d5c8083c 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/MessageAttributes.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/MessageAttributes.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
/**
* @author Enrico Rampazzo
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepository.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepository.java
similarity index 99%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepository.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepository.java
index 6260a42a364..e922dd121be 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepository.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepository.java
@@ -1,4 +1,4 @@
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
import org.neo4j.driver.Session;
import org.neo4j.driver.Transaction;
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryConfig.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryConfig.java
similarity index 98%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryConfig.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryConfig.java
index 273af4a7261..98be326c53a 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryConfig.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryConfig.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
import org.neo4j.driver.Driver;
import org.slf4j.Logger;
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolCallAttributes.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolCallAttributes.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolCallAttributes.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolCallAttributes.java
index f71cf8f76e5..3407d04ac6c 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolCallAttributes.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolCallAttributes.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
/*
* @author Enrico Rampazzo
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolResponseAttributes.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolResponseAttributes.java
similarity index 93%
rename from memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolResponseAttributes.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolResponseAttributes.java
index b725aa795df..df9192e5697 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/main/java/org/springframework/ai/chat/memory/neo4j/ToolResponseAttributes.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/main/java/org/springframework/ai/chat/memory/repository/neo4j/ToolResponseAttributes.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
/*
* @author Enrico Rampazzo
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4JChatMemoryRepositoryConfigIT.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4JChatMemoryRepositoryConfigIT.java
similarity index 97%
rename from memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4JChatMemoryRepositoryConfigIT.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4JChatMemoryRepositoryConfigIT.java
index 3a50d07a2ad..6a8f01b9f2a 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4JChatMemoryRepositoryConfigIT.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4JChatMemoryRepositoryConfigIT.java
@@ -1,4 +1,4 @@
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.BeforeAll;
diff --git a/memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryIT.java b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryIT.java
similarity index 99%
rename from memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryIT.java
rename to memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryIT.java
index 1de9ca070b6..a9f0e28b2e1 100644
--- a/memory/spring-ai-model-chat-memory-neo4j/src/test/java/org/springframework/ai/chat/memory/neo4j/Neo4jChatMemoryRepositoryIT.java
+++ b/memory/repository/spring-ai-model-chat-memory-repository-neo4j/src/test/java/org/springframework/ai/chat/memory/repository/neo4j/Neo4jChatMemoryRepositoryIT.java
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package org.springframework.ai.chat.memory.neo4j;
+package org.springframework.ai.chat.memory.repository.neo4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
diff --git a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/META-INF/spring/aot.factories b/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/META-INF/spring/aot.factories
deleted file mode 100644
index 7169645c1e9..00000000000
--- a/memory/spring-ai-model-chat-memory-jdbc/src/main/resources/META-INF/spring/aot.factories
+++ /dev/null
@@ -1,2 +0,0 @@
-org.springframework.aot.hint.RuntimeHintsRegistrar=\
-org.springframework.ai.chat.memory.jdbc.aot.hint.JdbcChatMemoryRepositoryRuntimeHints
diff --git a/pom.xml b/pom.xml
index 41bde06302f..599bf8b4237 100644
--- a/pom.xml
+++ b/pom.xml
@@ -41,9 +41,9 @@
spring-ai-rag
advisors/spring-ai-advisors-vector-store
- memory/spring-ai-model-chat-memory-cassandra
- memory/spring-ai-model-chat-memory-jdbc
- memory/spring-ai-model-chat-memory-neo4j
+ memory/repository/spring-ai-model-chat-memory-repository-cassandra
+ memory/repository/spring-ai-model-chat-memory-repository-jdbc
+ memory/repository/spring-ai-model-chat-memory-repository-neo4j
@@ -169,7 +169,7 @@
models/spring-ai-ollama
models/spring-ai-openai
models/spring-ai-postgresml
- models/spring-ai-stability-ai
+ models/spring-ai-stability-ai
models/spring-ai-transformers
models/spring-ai-vertex-ai-embedding
models/spring-ai-vertex-ai-gemini
diff --git a/spring-ai-bom/pom.xml b/spring-ai-bom/pom.xml
index 66875160c06..38f3c6b86be 100644
--- a/spring-ai-bom/pom.xml
+++ b/spring-ai-bom/pom.xml
@@ -206,19 +206,19 @@
org.springframework.ai
- spring-ai-model-chat-memory-cassandra
+ spring-ai-model-chat-memory-repository-cassandra
${project.version}
org.springframework.ai
- spring-ai-model-chat-memory-jdbc
+ spring-ai-model-chat-memory-repository-jdbc
${project.version}
org.springframework.ai
- spring-ai-model-chat-memory-neo4j
+ spring-ai-model-chat-memory-repository-neo4j
${project.version}
diff --git a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chat-memory.adoc b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chat-memory.adoc
index 893f350cf1a..959db0f2813 100644
--- a/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chat-memory.adoc
+++ b/spring-ai-docs/src/main/antora/modules/ROOT/pages/api/chat-memory.adoc
@@ -105,7 +105,7 @@ ChatMemory chatMemory = MessageWindowChatMemory.builder()
.build();
----
-If you'd rather create the `JdbcChatMemoryRepository` manually, you can do so by providing a `JdbcTemplate` instance and optionally a custom `JdbcChatMemoryDialect`:
+If you'd rather create the `JdbcChatMemoryRepository` manually, you can do so by providing a `JdbcTemplate` instance and optionally a custom `JdbcChatMemoryRepositoryDialect`:
[source,java]
----
@@ -129,7 +129,7 @@ Spring AI supports multiple relational databases via a dialect abstraction. The
- SQL Server
- HSQLDB
-The correct dialect is auto-detected from the JDBC URL. You can extend support for other databases by implementing the `JdbcChatMemoryDialect` interface.
+The correct dialect is auto-detected from the JDBC URL. You can extend support for other databases by implementing the `JdbcChatMemoryRepositoryDialect` interface.
==== Configuration Properties
@@ -137,7 +137,7 @@ The correct dialect is auto-detected from the JDBC URL. You can extend support f
|===
|Property | Description | Default Value
| `spring.ai.chat.memory.repository.jdbc.initialize-schema` | Controls when to initialize the schema. Values: `embedded` (default), `always`, `never`. | `embedded`
-| `spring.ai.chat.memory.repository.jdbc.schema` | Location of the schema script to use for initialization. Supports `classpath:` URLs and platform placeholders. | `classpath:org/springframework/ai/chat/memory/jdbc/schema-@@platform@@.sql`
+| `spring.ai.chat.memory.repository.jdbc.schema` | Location of the schema script to use for initialization. Supports `classpath:` URLs and platform placeholders. | `classpath:org/springframework/ai/chat/memory/repository/jdbc/schema-@@platform@@.sql`
|===
==== Schema Initialization
@@ -162,7 +162,7 @@ spring.ai.chat.memory.repository.jdbc.schema=classpath:/custom/path/schema-mysql
==== Extending Dialects
-To add support for a new database, implement the `JdbcChatMemoryDialect` interface and provide SQL for selecting, inserting, and deleting messages. You can then pass your custom dialect to the repository builder.
+To add support for a new database, implement the `JdbcChatMemoryRepositoryDialect` interface and provide SQL for selecting, inserting, and deleting messages. You can then pass your custom dialect to the repository builder.
[source,java]
----
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 b275bd51f76..ddb45c9d729 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
@@ -60,9 +60,19 @@ Hopefully Watson will reappear in a future version of Spring AI
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-model-chat-memory-jdbc` -> `spring-ai-model-chat-memory-repository-jdbc`
- `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`).
+
+- `spring-ai-model-chat-memory-cassandra` -> `spring-ai-model-chat-memory-repository-cassandra`
+- `spring-ai-autoconfigure-model-chat-memory-cassandra` → `spring-ai-autoconfigure-model-chat-memory-repository-cassandra`
+- `spring-ai-starter-model-chat-memory-cassandra` → `spring-ai-starter-model-chat-memory-repository-cassandra`
+
+- `spring-ai-model-chat-memory-neo4j` -> `spring-ai-model-chat-memory-repository-neo4j`
+- `spring-ai-autoconfigure-model-chat-memory-neo4j` → `spring-ai-autoconfigure-model-chat-memory-repository-neo4j`
+- `spring-ai-starter-model-chat-memory-neo4j` → `spring-ai-starter-model-chat-memory-repository-neo4j`
+
+- Java packages now use `.repository.` (e.g., `org.springframework.ai.chat.memory.repository.jdbc.JdbcChatMemoryRepository` and `org.springframework.ai.model.chat.memory.repository.jdbc.autoconfigure.JdbcChatMemoryRepositoryAutoConfiguration`).
- Main autoconfiguration classes are now named `JdbcChatMemoryRepositoryAutoConfiguration`, `CassandraChatMemoryRepositoryAutoConfiguration`, etc.
**Migration Required:**
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
index 75588a6999e..381083d99c6 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-cassandra/pom.xml
@@ -56,7 +56,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-cassandra
+ spring-ai-model-chat-memory-repository-cassandra
${project.parent.version}
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
index d4564f91819..040e1cfa87e 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-jdbc/pom.xml
@@ -56,7 +56,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-jdbc
+ spring-ai-model-chat-memory-repository-jdbc
${project.parent.version}
diff --git a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
index 172792dfada..112f51f8fea 100644
--- a/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
+++ b/spring-ai-spring-boot-starters/spring-ai-starter-model-chat-memory-repository-neo4j/pom.xml
@@ -56,7 +56,7 @@
org.springframework.ai
- spring-ai-model-chat-memory-neo4j
+ spring-ai-model-chat-memory-repository-neo4j
${project.parent.version}