From 93897c6df8483c6559ea5d19eeff7f96e38ea485 Mon Sep 17 00:00:00 2001 From: Andrew Nguonly Date: Fri, 17 May 2024 10:41:20 -0700 Subject: [PATCH 1/3] Enable write ahead log mode in SqliteSaver and AsyncSqliteSaver. --- langgraph/checkpoint/aiosqlite.py | 1 + langgraph/checkpoint/sqlite.py | 1 + 2 files changed, 2 insertions(+) diff --git a/langgraph/checkpoint/aiosqlite.py b/langgraph/checkpoint/aiosqlite.py index 0159645c2..1e9734e7a 100644 --- a/langgraph/checkpoint/aiosqlite.py +++ b/langgraph/checkpoint/aiosqlite.py @@ -191,6 +191,7 @@ class AsyncSqliteSaver(BaseCheckpointSaver, AbstractAsyncContextManager): await self.conn async with self.conn.executescript( """ + PRAGMA journal_mode=WAL; CREATE TABLE IF NOT EXISTS checkpoints ( thread_id TEXT NOT NULL, thread_ts TEXT NOT NULL, diff --git a/langgraph/checkpoint/sqlite.py b/langgraph/checkpoint/sqlite.py index f72a6f58f..23da9a7df 100644 --- a/langgraph/checkpoint/sqlite.py +++ b/langgraph/checkpoint/sqlite.py @@ -159,6 +159,7 @@ class SqliteSaver(BaseCheckpointSaver, AbstractContextManager): self.conn.executescript( """ + PRAGMA journal_mode=WAL; CREATE TABLE IF NOT EXISTS checkpoints ( thread_id TEXT NOT NULL, thread_ts TEXT NOT NULL, From 0e77ad88eff0e3e2f0f1ea857ad131156537f5cc Mon Sep 17 00:00:00 2001 From: Andrew Nguonly Date: Fri, 17 May 2024 10:44:40 -0700 Subject: [PATCH 2/3] Fix typo: LastValue --> EphemeralValue. --- langgraph/channels/ephemeral_value.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langgraph/channels/ephemeral_value.py b/langgraph/channels/ephemeral_value.py index b880f9f2f..27834a3e7 100644 --- a/langgraph/channels/ephemeral_value.py +++ b/langgraph/channels/ephemeral_value.py @@ -54,7 +54,7 @@ class EphemeralValue(Generic[Value], BaseChannel[Value, Value, Value]): finally: return if len(values) != 1 and self.guard: - raise InvalidUpdateError("LastValue can only receive one value per step.") + raise InvalidUpdateError("EphemeralValue can only receive one value per step.") self.value = values[-1] From daa921c1206b2d8625ea65620c3f8af9dd0ff28a Mon Sep 17 00:00:00 2001 From: Andrew Nguonly Date: Fri, 17 May 2024 11:11:04 -0700 Subject: [PATCH 3/3] Fix lint error. --- langgraph/channels/ephemeral_value.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/langgraph/channels/ephemeral_value.py b/langgraph/channels/ephemeral_value.py index 27834a3e7..17a11f552 100644 --- a/langgraph/channels/ephemeral_value.py +++ b/langgraph/channels/ephemeral_value.py @@ -54,7 +54,9 @@ class EphemeralValue(Generic[Value], BaseChannel[Value, Value, Value]): finally: return if len(values) != 1 and self.guard: - raise InvalidUpdateError("EphemeralValue can only receive one value per step.") + raise InvalidUpdateError( + "EphemeralValue can only receive one value per step." + ) self.value = values[-1]