Hi everyone,
We’re building a custom Aerospike-backed Store for Langgraph memory/checkpointing, and we’re trying to clarify the expected behavior of put.
Right now, put is used both when:
- Creating a new record
- Updating an existing record
But in our use case, updates may need different behaviors:
- Replace the entire value
- Append/merge into the existing value
Since the BaseStore interface doesn’t specify how updates should be interpreted, I have two questions:
- Is put intended to always be a full replace?
- If we want to support both “append“ and “replace“, is the recommended approach to implement helper methods (read–modify–write) on top of the store, rather than extending the put semantics?
Aerospike supports efficient partial updates, so we’re trying to understand what the cleanest abstraction is while staying consistent with LangGraph’s store design.
Any guidance or examples from existing custom stores would be really helpful.
Thanks!
Jagrut