Skip to content

Commit fad91b1

Browse files
committed
🔧 fix codebox history backend
1 parent ffba5c3 commit fad91b1

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

codeinterpreterapi/chat_history.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)