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
+13
View File
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Regenerates every file under output/. The test suite writes 01-22 and 24 itself through the
# Transcript helper; 23 comes from scripts/capture-1x-compile.sh.
#
# Backing services: scripts/services-up.sh starts PostgreSQL 16, Redis Stack (docker) and a plain
# Redis. Tests that need one that is not listening are SKIPPED with a message, not failed, so the
# in-memory tests (01-07, 20-22, 24) still run without any of them.
set -euo pipefail
cd "$(dirname "$0")/.."
rm -rf target
mvn -q -B test
scripts/capture-1x-compile.sh >/dev/null
ls output