Merged
Conversation
- Removed duplicate session endpoints from api.py in favor of v1 API structure - Kept vectorstore adapter approach in long_term_memory.py over direct Redis operations - Used feature branch version of uv.lock for latest dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Configure agent-memory-client as workspace member - Fix ULID field generation in LenientMemoryRecord model - Note: Some tests need updating for new MemoryRecord API structure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Collaborator
Author
|
@claude Resolve these conflicts. |
Contributor
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
- Resolved ULID import conflicts in models and client files - Fixed README.md merge conflict preserving vector store backends doc - Resolved pyproject.toml dependency conflicts - Fixed test file conflicts and cleaned up malformed merge resolutions - Preserved all vector store adapter functionality and interface - Tests passing, vector store factory working correctly 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR refactors how long‐term memories are stored and retrieved by introducing a pluggable VectorStoreAdapter interface that decouples the memory server from a single Redis implementation. Key changes include:
- Introducing generic and Redis-specific vector store adapters (LangChainVectorStoreAdapter and RedisVectorStoreAdapter) that wrap underlying LangChain VectorStore instances.
- Refactoring core long-term memory functions (index, search, deduplication, compaction) to delegate operations to the adapter.
- Updating tests, configuration, documentation, and related client code to align with the new abstraction layer.
Reviewed Changes
Copilot reviewed 22 out of 23 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/* | Updated tests to use adapter-based memory indexing and search |
| agent_memory_server/vectorstore_adapter.py | New VectorStoreAdapter interface and implementations |
| agent_memory_server/vectorstore_factory.py | Factory functions for creating backend-specific VectorStore adapters |
| agent_memory_server/long_term_memory.py | Refactored functions (index, search, deduplication) to use the adapter |
| docs/* and README.md | Updated documentation for vector store backends and configuration |
| Other files (models, api, extraction, config, etc.) | Consistent changes including ULID usage, dependency updates, and refactoring |
Comments suppressed due to low confidence (2)
agent_memory_server/api.py:448
- The redis client parameter is still being obtained in this endpoint even though adapter methods no longer require it. Consider removing obsolete redis parameters from API calls to simplify the interface and reduce confusion.
"""
agent_memory_server/extraction.py:323
- [nitpick] Consider adding an update method to the VectorStoreAdapter so that both write and update operations can be performed uniformly through the adapter instead of mixing direct Redis calls with adapter-based operations.
)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Move vector search over long-term memories into a new
VectorStoreAdapterinterface instead of only including a concrete Redis implementation. Satisfies the new interface with a generic adapter supporting LangChainVectorStoreinstances. Then satisfies the same interface with the langchain-redisRedisVectorStore, making Redis the default long-term storage layer.