@@ -16,16 +16,17 @@ class CodeBoxChatMessageHistory(BaseChatMessageHistory):
1616 def __init__ (self , codebox : CodeBox ):
1717 self .codebox = codebox
1818
19- name , content = "history.json" , b"{}"
20- if (loop := asyncio .get_event_loop ()).is_running ():
21- loop .create_task (self .codebox .aupload (name , content ))
22- else :
23- self .codebox .upload (name , content )
19+ if "history.json" not in [f .name for f in self .codebox .list_files ()]:
20+ name , content = "history.json" , b"{}"
21+ if (loop := asyncio .get_event_loop ()).is_running ():
22+ loop .create_task (self .codebox .aupload (name , content ))
23+ else :
24+ self .codebox .upload (name , content )
2425
2526 @property
2627 def messages (self ) -> List [BaseMessage ]: # type: ignore
2728 """Retrieve the messages from the codebox"""
28- return (
29+ msgs = (
2930 messages_from_dict (json .loads (file_content .decode ("utf-8" )))
3031 if (
3132 file_content := (
@@ -36,19 +37,24 @@ def messages(self) -> List[BaseMessage]: # type: ignore
3637 )
3738 else []
3839 )
40+ return msgs
3941
4042 def add_message (self , message : BaseMessage ) -> None :
4143 """Append the message to the record in the local file"""
44+ print ("Current messages: " , self .messages )
4245 messages = messages_to_dict (self .messages )
46+ print ("Adding message: " , message )
4347 messages .append (messages_to_dict ([message ])[0 ])
4448 name , content = "history.json" , json .dumps (messages ).encode ("utf-8" )
4549 if (loop := asyncio .get_event_loop ()).is_running ():
4650 loop .create_task (self .codebox .aupload (name , content ))
4751 else :
4852 self .codebox .upload (name , content )
53+ print ("New messages: " , self .messages )
4954
5055 def clear (self ) -> None :
5156 """Clear session memory from the local file"""
57+ print ("Clearing history CLEARING HISTORY" )
5258 code = "import os; os.remove('history.json')"
5359 if (loop := asyncio .get_event_loop ()).is_running ():
5460 loop .create_task (self .codebox .arun (code ))
0 commit comments