Add chat-memory module: MessageWindowChatMemory, JDBC and Redis repositories, per-user conversation IDs

Real PostgreSQL 16 and Redis Stack 7.4; 24 tests write output/01-24. Covers the 20-message
default window with no property, the 36-character conversation_id, tool messages dropped by
JdbcChatMemoryRepository, concurrent add() on one conversation, a 1.x table under the 2.0
repository, the Redis repository silently backing off for a custom ChatMemory, and the
removal of PromptChatMemoryAdvisor.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Ja4jkzrbQ4LQZBNrb5mkZE
This commit is contained in:
Claude
2026-09-24 15:56:47 +00:00
parent c1e36c6c09
commit 823f6fac5b
65 changed files with 2548 additions and 0 deletions
@@ -0,0 +1,21 @@
# PromptChatMemoryAdvisor: Spring AI 1.1.8 vs 2.0.1
$ javac PromptAdvisorFrom1x.java # classpath: spring-ai-client-chat 2.0.1
PromptAdvisorFrom1x.java:3: error: cannot find symbol
import org.springframework.ai.chat.client.advisor.PromptChatMemoryAdvisor;
^
symbol: class PromptChatMemoryAdvisor
location: package org.springframework.ai.chat.client.advisor
PromptAdvisorFrom1x.java:10: error: cannot find symbol
return PromptChatMemoryAdvisor.builder(chatMemory).build();
^
symbol: variable PromptChatMemoryAdvisor
location: class PromptAdvisorFrom1x
2 errors
$ javac PromptAdvisorFrom1x.java # classpath: spring-ai-client-chat 1.1.8 first
PromptAdvisorFrom1x.java:10: warning: [removal] PromptChatMemoryAdvisor in org.springframework.ai.chat.client.advisor has been deprecated and marked for removal
return PromptChatMemoryAdvisor.builder(chatMemory).build();
^
1 warning
compiled: PromptAdvisorFrom1x.class