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}