From 68dee414a9066c0c34f366d659d3f8a230c601bf Mon Sep 17 00:00:00 2001 From: Daniel Abitbul Date: Wed, 5 Feb 2025 13:25:36 +0000 Subject: [PATCH] make chat creation sync to ensure session not created if we have error with chat (due lack of credits or something else) --- src/createAgentManager.ts | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/createAgentManager.ts b/src/createAgentManager.ts index 413b1a8..d979761 100644 --- a/src/createAgentManager.ts +++ b/src/createAgentManager.ts @@ -122,12 +122,8 @@ function initializeStreamAndChat( outerReject(error); }; - let chatPromise; - if (!chat && options.mode !== ChatMode.DirectPlayback) { - chatPromise = newChat(agent.id, agentsApi, analytics, options.mode, options.persistentChat).catch(e => { - reject(e); - }); + chat = await newChat(agent.id, agentsApi, analytics, options.mode, options.persistentChat); } const streamingManager = await createStreamingManager( @@ -141,9 +137,6 @@ function initializeStreamAndChat( ...options.callbacks, onConnectionStateChange: async state => { if (state === ConnectionState.Connected) { - if (chatPromise) { - chat = await chatPromise; - } if (streamingManager) { options.callbacks.onConnectionStateChange?.(state); resolve({ chat, streamingManager }); @@ -390,7 +383,7 @@ export async function createAgentManager(agent: string, options: AgentManagerOpt items.streamingManager = streamingManager; items.socketManager = socketManager; items.chat = chat; - + firstConnection = false; changeMode(chat?.chat_mode ?? options.mode ?? ChatMode.Functional);