File tree Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Expand file tree Collapse file tree 3 files changed +22
-1
lines changed Original file line number Diff line number Diff line change 2
2
3
3
## Next
4
4
5
+ ### Fixed
6
+
7
+ - Fixed a bug where Session nodes were duplicated.
8
+
5
9
## 1.8.0
6
10
7
11
### Added
Original file line number Diff line number Diff line change 26
26
)
27
27
28
28
CREATE_SESSION_NODE_QUERY = (
29
- "MERGE (s:`{node_label}` {{id:$session_id, createdAt: datetime()}})"
29
+ "MERGE (s:`{node_label}` {{id:$session_id}}) "
30
+ "ON CREATE SET s.createdAt=datetime() "
31
+ "ON MATCH SET s.updatedAt=datetime() "
30
32
)
31
33
32
34
DELETE_SESSION_AND_MESSAGES_QUERY = (
Original file line number Diff line number Diff line change @@ -136,3 +136,18 @@ def test_neo4j_message_window_size(driver: neo4j.Driver) -> None:
136
136
== "I'd be happy to help you find the perfect car."
137
137
)
138
138
assert message_history .messages [0 ]["role" ] == "assistant"
139
+
140
+
141
+ def test_neo4j_message_history_session_id_unique (driver : neo4j .Driver ) -> None :
142
+ driver .execute_query (query_ = "MATCH (n) DETACH DELETE n;" )
143
+ Neo4jMessageHistory (session_id = "123" , driver = driver )
144
+ Neo4jMessageHistory (session_id = "123" , driver = driver )
145
+
146
+ results = driver .execute_query (
147
+ query_ = "MATCH (s:`Session`) WHERE s.id = '123' RETURN s"
148
+ )
149
+ records = results .records
150
+ assert len (records ) == 1
151
+ session = records [0 ]["s" ]
152
+ assert session .get ("createdAt" ) is not None
153
+ assert session .get ("updatedAt" ) is not None
You can’t perform that action at this time.
0 commit comments