feat(checkpoint-postgres): add extended methods and conformance tests

Implements adelete_for_runs, acopy_thread, aprune (and sync counterparts)
for AsyncPostgresSaver and PostgresSaver. Adds conformance test harness
using langgraph-checkpoint-conformance as an editable dev dependency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
William Fu-Hinthorn
2026-02-21 03:52:22 +00:00
committed by William FH
co-authored by Claude Opus 4.6
parent b0f14649e0
commit 8563948e70
7 changed files with 413 additions and 0 deletions
+31
View File
@@ -304,6 +304,33 @@ test = [
{ name = "redis" },
]
[[package]]
name = "langgraph-checkpoint-conformance"
version = "0.0.1"
source = { editable = "../checkpoint-conformance" }
dependencies = [
{ name = "langgraph-checkpoint" },
]
[package.metadata]
requires-dist = [{ name = "langgraph-checkpoint", specifier = ">=2.0.0" }]
[package.metadata.requires-dev]
dev = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
{ name = "ruff" },
{ name = "ty" },
]
lint = [
{ name = "ruff" },
{ name = "ty" },
]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
]
[[package]]
name = "langgraph-checkpoint-postgres"
version = "3.0.4"
@@ -320,6 +347,7 @@ dev = [
{ name = "anyio" },
{ name = "codespell" },
{ name = "langgraph-checkpoint" },
{ name = "langgraph-checkpoint-conformance" },
{ name = "mypy" },
{ name = "psycopg", extra = ["binary"] },
{ name = "pytest" },
@@ -336,6 +364,7 @@ lint = [
test = [
{ name = "anyio" },
{ name = "langgraph-checkpoint" },
{ name = "langgraph-checkpoint-conformance" },
{ name = "psycopg", extra = ["binary"] },
{ name = "pytest" },
{ name = "pytest-asyncio" },
@@ -356,6 +385,7 @@ dev = [
{ name = "anyio" },
{ name = "codespell" },
{ name = "langgraph-checkpoint", editable = "../checkpoint" },
{ name = "langgraph-checkpoint-conformance", editable = "../checkpoint-conformance" },
{ name = "mypy" },
{ name = "psycopg", extras = ["binary"] },
{ name = "pytest" },
@@ -372,6 +402,7 @@ lint = [
test = [
{ name = "anyio" },
{ name = "langgraph-checkpoint", editable = "../checkpoint" },
{ name = "langgraph-checkpoint-conformance", editable = "../checkpoint-conformance" },
{ name = "psycopg", extras = ["binary"] },
{ name = "pytest" },
{ name = "pytest-asyncio" },