diff --git a/packages/cli/src/ui/components/Composer.tsx b/packages/cli/src/ui/components/Composer.tsx index 1310fface..70eb59a05 100644 --- a/packages/cli/src/ui/components/Composer.tsx +++ b/packages/cli/src/ui/components/Composer.tsx @@ -29,10 +29,10 @@ export const Composer = () => { const { showAutoAcceptIndicator, sessionStats } = uiState; - const tokens = Object.values(sessionStats.metrics.models).reduce( + const tokens = Object.values(sessionStats.metrics?.models ?? {}).reduce( (acc, model) => ({ - prompt: acc.prompt + model.tokens.prompt, - candidates: acc.candidates + model.tokens.candidates, + prompt: acc.prompt + (model.tokens?.prompt ?? 0), + candidates: acc.candidates + (model.tokens?.candidates ?? 0), }), { prompt: 0, candidates: 0 }, ); diff --git a/packages/cli/src/ui/components/LoadingIndicator.test.tsx b/packages/cli/src/ui/components/LoadingIndicator.test.tsx index 4c914bd30..ea9e54a34 100644 --- a/packages/cli/src/ui/components/LoadingIndicator.test.tsx +++ b/packages/cli/src/ui/components/LoadingIndicator.test.tsx @@ -313,11 +313,7 @@ describe('', () => { describe('token display', () => { it('should display output tokens inline with arrow notation', () => { const { lastFrame } = renderWithContext( - , + , StreamingState.Responding, ); const output = lastFrame(); @@ -329,11 +325,7 @@ describe('', () => { it('should not display tokens when output tokens is 0', () => { const { lastFrame } = renderWithContext( - , + , StreamingState.Responding, ); const output = lastFrame();