From 7a72d255d8effec1396170306cc6be57f598a6d8 Mon Sep 17 00:00:00 2001 From: Abhi <43648792+abhipatel12@users.noreply.github.com> Date: Wed, 11 Jun 2025 16:40:31 -0400 Subject: feat: Add exit UI w/ stats (#924) --- packages/cli/src/ui/hooks/slashCommandProcessor.ts | 23 ++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) (limited to 'packages/cli/src/ui/hooks/slashCommandProcessor.ts') diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index 3699b4e9..8e2f2bd2 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -97,6 +97,12 @@ export const useSlashCommandProcessor = ( lastTurnStats: message.lastTurnStats, duration: message.duration, }; + } else if (message.type === MessageType.QUIT) { + historyItemContent = { + type: 'quit', + stats: message.stats, + duration: message.duration, + }; } else { historyItemContent = { type: message.type as @@ -594,8 +600,20 @@ Add any other context about the problem here. altName: 'exit', description: 'exit the cli', action: async (_mainCommand, _subCommand, _args) => { - onDebugMessage('Quitting. Good-bye.'); - process.exit(0); + const now = new Date(); + const { sessionStartTime, cumulative } = session.stats; + const wallDuration = now.getTime() - sessionStartTime.getTime(); + + addMessage({ + type: MessageType.QUIT, + stats: cumulative, + duration: formatDuration(wallDuration), + timestamp: new Date(), + }); + + setTimeout(() => { + process.exit(0); + }, 100); }, }, ]; @@ -721,6 +739,7 @@ Add any other context about the problem here. session, gitService, loadHistory, + addItem, ]); const handleSlashCommand = useCallback( -- cgit v1.2.3