From c69605f4064c85d4d97c81b222b8976dc159aed3 Mon Sep 17 00:00:00 2001
From: Aman Rao <54672230+amanrao23@users.noreply.github.com>
Date: Fri, 15 Nov 2024 03:15:50 +0530
Subject: [PATCH] feat: add async support to BaseChatStore and
 BaseChatStoreMemory (#1483)

Co-authored-by: Alex Yang <himself65@outlook.com>
---
 .changeset/witty-worms-marry.md                         | 5 +++++
 packages/core/src/memory/base.ts                        | 6 +++---
 packages/core/src/storage/chat-store/base-chat-store.ts | 4 +++-
 3 files changed, 11 insertions(+), 4 deletions(-)
 create mode 100644 .changeset/witty-worms-marry.md

diff --git a/.changeset/witty-worms-marry.md b/.changeset/witty-worms-marry.md
new file mode 100644
index 000000000..de775cf96
--- /dev/null
+++ b/.changeset/witty-worms-marry.md
@@ -0,0 +1,5 @@
+---
+"@llamaindex/core": patch
+---
+
+feat: add async support to BaseChatStore and BaseChatStoreMemory
diff --git a/packages/core/src/memory/base.ts b/packages/core/src/memory/base.ts
index ef468e5b9..6e2af2afc 100644
--- a/packages/core/src/memory/base.ts
+++ b/packages/core/src/memory/base.ts
@@ -71,15 +71,15 @@ export abstract class BaseChatStoreMemory<
     return this.chatStore.getMessages(this.chatStoreKey);
   }
 
-  put(messages: ChatMessage<AdditionalMessageOptions>) {
+  put(messages: ChatMessage<AdditionalMessageOptions>): void | Promise<void> {
     this.chatStore.addMessage(this.chatStoreKey, messages);
   }
 
-  set(messages: ChatMessage<AdditionalMessageOptions>[]) {
+  set(messages: ChatMessage<AdditionalMessageOptions>[]): void | Promise<void> {
     this.chatStore.setMessages(this.chatStoreKey, messages);
   }
 
-  reset() {
+  reset(): void | Promise<void> {
     this.chatStore.deleteMessages(this.chatStoreKey);
   }
 }
diff --git a/packages/core/src/storage/chat-store/base-chat-store.ts b/packages/core/src/storage/chat-store/base-chat-store.ts
index 80e6295e8..7cbefdbb9 100644
--- a/packages/core/src/storage/chat-store/base-chat-store.ts
+++ b/packages/core/src/storage/chat-store/base-chat-store.ts
@@ -19,5 +19,7 @@ export abstract class BaseChatStore<
   ): void;
   abstract deleteMessages(key: string): void;
   abstract deleteMessage(key: string, idx: number): void;
-  abstract getKeys(): IterableIterator<string>;
+  abstract getKeys():
+    | IterableIterator<string>
+    | Promise<IterableIterator<string>>;
 }
-- 
GitLab