Exclude complex values from checkpoint metadata

This commit is contained in:
Nuno Campos
2025-02-14 17:35:14 -08:00
parent bf7252cadc
commit 9706211aca
9 changed files with 50 additions and 12 deletions
@@ -402,9 +402,13 @@ class SqliteSaver(BaseCheckpointSaver[str]):
**{
k: v
for k, v in config["configurable"].items()
if not k.startswith("__")
if not k.startswith("__") and isinstance(v, (str, int, bool, float))
},
**{
k: v
for k, v in config.get("metadata", {}).items()
if not k.startswith("__") and isinstance(v, (str, int, bool, float))
},
**config.get("metadata", {}),
**metadata,
}
)
@@ -468,9 +468,13 @@ class AsyncSqliteSaver(BaseCheckpointSaver[str]):
**{
k: v
for k, v in config["configurable"].items()
if not k.startswith("__")
if not k.startswith("__") and isinstance(v, (str, int, bool, float))
},
**{
k: v
for k, v in config.get("metadata", {}).items()
if not k.startswith("__") and isinstance(v, (str, int, bool, float))
},
**config.get("metadata", {}),
**metadata,
}
)