import streamlit as st class ChatMemory: def __init__(self): self.chat_log = [] self.data_store = {} def add_user(self, text): self.chat_log.append(("User ", text)) def add_pair(self, user, agent): self.chat_log.append(("User ", user)) self.chat_log.append(("Agent", agent)) def display(self): for role, text in self.chat_log: if role == "User ": st.markdown(f"**👤 {text}**") else: st.markdown(f"> {text}") def store_df(self, filename, df_dict): self.data_store[filename] = df_dict def get_df(self, filename): return self.data_store.get(filename) def get_last_file(self): return list(self.data_store.keys())[-1] if self.data_store else None def has_data(self): return len(self.data_store) > 0 def update_df(self, filename, key, value): if filename in self.data_store: self.data_store[filename][key] = value