From 83aeaff3fd7b13b59d8f213e64df72b39875df30 Mon Sep 17 00:00:00 2001 From: cpacker Date: Sat, 25 Oct 2025 23:37:41 -0700 Subject: [PATCH] fix: ctrl-c exit + agent dump --- src/cli/App.tsx | 1 + src/cli/components/InputRich.tsx | 3 +-- src/cli/components/SessionStats.tsx | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/cli/App.tsx b/src/cli/App.tsx index 015bee4..b354d93 100644 --- a/src/cli/App.tsx +++ b/src/cli/App.tsx @@ -1094,6 +1094,7 @@ export default function App({ {showExitStats && ( )} diff --git a/src/cli/components/InputRich.tsx b/src/cli/components/InputRich.tsx index 8efc7a7..8c53aff 100644 --- a/src/cli/components/InputRich.tsx +++ b/src/cli/components/InputRich.tsx @@ -86,9 +86,8 @@ export function Input({ useInput((input, key) => { if (input === "c" && key.ctrl) { if (ctrlCPressed) { - // Second CTRL-C - call onExit callback then exit application + // Second CTRL-C - call onExit callback which handles stats and exit if (onExit) onExit(); - process.exit(0); } else { // First CTRL-C - start 1-second timer setCtrlCPressed(true); diff --git a/src/cli/components/SessionStats.tsx b/src/cli/components/SessionStats.tsx index 47a33dd..9679b5b 100644 --- a/src/cli/components/SessionStats.tsx +++ b/src/cli/components/SessionStats.tsx @@ -3,6 +3,7 @@ import type { SessionStatsSnapshot } from "../../agent/stats"; interface SessionStatsProps { stats: SessionStatsSnapshot; + agentId?: string; } function formatDuration(ms: number): string { @@ -16,7 +17,7 @@ function formatNumber(n: number): string { return n.toLocaleString(); } -export function SessionStats({ stats }: SessionStatsProps) { +export function SessionStats({ stats, agentId }: SessionStatsProps) { const wallDuration = formatDuration(stats.totalWallMs); const apiDuration = formatDuration(stats.totalApiMs); @@ -29,6 +30,7 @@ export function SessionStats({ stats }: SessionStatsProps) { {formatNumber(stats.usage.promptTokens)} input,{" "} {formatNumber(stats.usage.completionTokens)} output + {agentId && Agent ID: {agentId}} ); }