From 5e61934d5a091c4a9299f169cc05e8329776fc9f Mon Sep 17 00:00:00 2001
From: Alex Yang <himself65@outlook.com>
Date: Thu, 2 May 2024 19:55:41 -0500
Subject: [PATCH] fix: remove clone object in `CallbackManager.dispatchEvent`
 (#802)

---
 .changeset/six-needles-poke.md                 | 5 +++++
 packages/core/src/callbacks/CallbackManager.ts | 7 +++++--
 2 files changed, 10 insertions(+), 2 deletions(-)
 create mode 100644 .changeset/six-needles-poke.md

diff --git a/.changeset/six-needles-poke.md b/.changeset/six-needles-poke.md
new file mode 100644
index 000000000..c72332611
--- /dev/null
+++ b/.changeset/six-needles-poke.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+fix: remove clone object in `CallbackManager.dispatchEvent`
diff --git a/packages/core/src/callbacks/CallbackManager.ts b/packages/core/src/callbacks/CallbackManager.ts
index 4646e5254..b7a8eb33d 100644
--- a/packages/core/src/callbacks/CallbackManager.ts
+++ b/packages/core/src/callbacks/CallbackManager.ts
@@ -212,10 +212,13 @@ export class CallbackManager implements CallbackManagerMethods {
     if (!handlers) {
       return;
     }
-    const clone = structuredClone(detail);
     queueMicrotask(() => {
       handlers.forEach((handler) =>
-        handler(LlamaIndexCustomEvent.fromEvent(event, clone)),
+        handler(
+          LlamaIndexCustomEvent.fromEvent(event, {
+            ...detail,
+          }),
+        ),
       );
     });
   }
-- 
GitLab