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,16 @@
# MessageWindowChatMemory, maxMessages = 4 and 5
maxMessages = 4. One system message, then one user+assistant turn at a time:
after turn 1: S:SYS-1 | U:u1 | A:a1
after turn 2: S:SYS-1 | U:u2 | A:a2
after turn 3: S:SYS-1 | U:u3 | A:a3
after turn 4: S:SYS-1 | U:u4 | A:a4
A second, different system message arrives:
after SYS-2: U:u4 | A:a4 | S:SYS-2
maxMessages = 5 (odd), no system message:
after turn 1: U:u1 | A:a1
after turn 2: U:u1 | A:a1 | U:u2 | A:a2
after turn 3: U:u2 | A:a2 | U:u3 | A:a3
after turn 4: U:u3 | A:a3 | U:u4 | A:a4