From 122678cc09131ee57dca2714bc94b039c371729b Mon Sep 17 00:00:00 2001 From: Seth Troisi Date: Wed, 11 Jun 2025 13:40:44 -0700 Subject: [PATCH] clean chat history before /resume (#949) --- packages/cli/src/ui/hooks/slashCommandProcessor.ts | 13 +++++++++++-- packages/core/src/core/geminiChat.ts | 7 +++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index 8e2f2bd2..478a62a3 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -561,12 +561,21 @@ Add any other context about the problem here. return; } const chat = await config?.getGeminiClient()?.getChat(); + if (!chat) { + addMessage({ + type: MessageType.ERROR, + content: 'No chat client available to resume conversation.', + timestamp: new Date(), + }); + return; + } clearItems(); - let i = 0; + chat.clearHistory(); const rolemap: { [key: string]: MessageType } = { user: MessageType.USER, model: MessageType.GEMINI, }; + let i = 0; for (const item of conversation) { i += 1; const text = @@ -589,7 +598,7 @@ Add any other context about the problem here. } as HistoryItemWithoutId, i, ); - chat?.addHistory(item); + chat.addHistory(item); } console.clear(); refreshStatic(); diff --git a/packages/core/src/core/geminiChat.ts b/packages/core/src/core/geminiChat.ts index d15f9d1a..3bba1805 100644 --- a/packages/core/src/core/geminiChat.ts +++ b/packages/core/src/core/geminiChat.ts @@ -289,6 +289,13 @@ export class GeminiChat { return structuredClone(history); } + /** + * Clears the chat history. + */ + clearHistory(): void { + this.history = []; + } + /** * Adds a new entry to the chat history. *