File tree Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Expand file tree Collapse file tree 1 file changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -72,7 +72,10 @@ def get_chatlas_state(
7272 async def get_state () -> Jsonifiable :
7373
7474 turns : list [Turn [Any ]] = client .get_turns ()
75- return [turn .model_dump (mode = "json" ) for turn in turns ]
75+ return {
76+ "version" : 1 ,
77+ "turns" : [turn .model_dump (mode = "json" ) for turn in turns ],
78+ }
7679
7780 return get_state
7881
@@ -86,10 +89,20 @@ def set_chatlas_state(
8689
8790 async def set_state (value : Jsonifiable ) -> None :
8891
89- if not isinstance (value , list ):
92+ if not isinstance (value , dict ):
93+ raise ValueError ("Chatlas bookmark value was not a dictionary" )
94+
95+ version = value .get ("version" )
96+ if version != 1 :
97+ raise ValueError (f"Unsupported Chatlas bookmark version: { version } " )
98+ turns_arr = value .get ("turns" )
99+
100+ if not isinstance (turns_arr , list ):
90101 raise ValueError ("Chatlas bookmark value was not a list of objects" )
91102
92- turns : list [Turn [Any ]] = [Turn .model_validate (turn_obj ) for turn_obj in value ]
103+ turns : list [Turn [Any ]] = [
104+ Turn .model_validate (turn_obj ) for turn_obj in turns_arr
105+ ]
93106 client .set_turns (turns ) # pyright: ignore[reportUnknownMemberType]
94107
95108 return set_state
You can’t perform that action at this time.
0 commit comments