mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-10 19:57:52 +02:00
release(checkpoint-postgres): 3.0.1 (#6568)
This commit is contained in:
@@ -1205,15 +1205,44 @@ def _get_vector_type_ops(store: BasePostgresStore) -> str:
|
||||
|
||||
|
||||
def _get_index_params(store: Any) -> tuple[str, dict[str, Any]]:
|
||||
"""Get the index type and configuration based on config."""
|
||||
"""Get a sanitized index type and configuration based on config.
|
||||
|
||||
Only allow known-safe kinds and integer parameters to avoid SQL injection
|
||||
when constructing DDL strings for index creation.
|
||||
"""
|
||||
if not store.index_config:
|
||||
return "hnsw", {}
|
||||
|
||||
config = cast(PostgresIndexConfig, store.index_config)
|
||||
index_config = config.get("ann_index_config", _DEFAULT_ANN_CONFIG).copy()
|
||||
kind = index_config.pop("kind", "hnsw")
|
||||
index_config.pop("vector_type", None)
|
||||
return kind, index_config
|
||||
raw = config.get("ann_index_config", _DEFAULT_ANN_CONFIG).copy()
|
||||
|
||||
kind = str(raw.pop("kind", "hnsw"))
|
||||
if kind not in ("hnsw", "ivfflat", "flat"):
|
||||
raise ValueError(
|
||||
f"Invalid index kind for pgvector: {kind}. Expected 'hnsw', 'ivfflat', or 'flat'."
|
||||
)
|
||||
|
||||
raw.pop("vector_type", None)
|
||||
|
||||
if kind == "hnsw":
|
||||
allowed_keys = {"m", "ef_construction"}
|
||||
else: # ivfflat/flat
|
||||
allowed_keys = {"lists", "nlist"}
|
||||
|
||||
sanitized: dict[str, int] = {}
|
||||
for k, v in list(raw.items()):
|
||||
if k not in allowed_keys:
|
||||
continue
|
||||
key = "lists" if k == "nlist" else k
|
||||
try:
|
||||
ivalue = int(v) # type: ignore[call-overload]
|
||||
except Exception as e:
|
||||
raise ValueError(f"Invalid index parameter value for {k}: {v}") from e
|
||||
if ivalue <= 0:
|
||||
continue
|
||||
sanitized[key] = ivalue
|
||||
|
||||
return kind, sanitized
|
||||
|
||||
|
||||
def _namespace_to_text(
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "langgraph-checkpoint-postgres"
|
||||
version = "3.0.1"
|
||||
version = "3.0.2"
|
||||
description = "Library with a Postgres implementation of LangGraph checkpoint saver."
|
||||
authors = []
|
||||
requires-python = ">=3.10"
|
||||
|
||||
Generated
+564
-416
File diff suppressed because it is too large
Load Diff
Generated
+2
-2
@@ -1,5 +1,5 @@
|
||||
version = 1
|
||||
revision = 2
|
||||
revision = 3
|
||||
requires-python = ">=3.10"
|
||||
resolution-markers = [
|
||||
"python_full_version >= '3.14'",
|
||||
@@ -1572,7 +1572,7 @@ test = [
|
||||
|
||||
[[package]]
|
||||
name = "langgraph-checkpoint-postgres"
|
||||
version = "3.0.1"
|
||||
version = "3.0.2"
|
||||
source = { editable = "../checkpoint-postgres" }
|
||||
dependencies = [
|
||||
{ name = "langgraph-checkpoint" },
|
||||
|
||||
Generated
+2
-2
@@ -1,5 +1,5 @@
|
||||
version = 1
|
||||
revision = 2
|
||||
revision = 3
|
||||
requires-python = ">=3.10"
|
||||
|
||||
[[package]]
|
||||
@@ -402,7 +402,7 @@ test = [
|
||||
|
||||
[[package]]
|
||||
name = "langgraph-checkpoint-postgres"
|
||||
version = "3.0.1"
|
||||
version = "3.0.2"
|
||||
source = { editable = "../checkpoint-postgres" }
|
||||
dependencies = [
|
||||
{ name = "langgraph-checkpoint" },
|
||||
|
||||
Reference in New Issue
Block a user