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 22
33## Next
44
5+ ### Fixed
6+
7+ - Fixed a bug where Session nodes were duplicated.
8+
59## 1.8.0
610
711### Added
Original file line number Diff line number Diff line change 2626)
2727
2828CREATE_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() "
3032)
3133
3234DELETE_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:
136136 == "I'd be happy to help you find the perfect car."
137137 )
138138 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