From 8f8082fe3da9e1972f8b8226c68fa14e326a3d8a Mon Sep 17 00:00:00 2001 From: Arya Gummadi Date: Mon, 18 Aug 2025 22:57:53 -0700 Subject: feat: add file change tracking to session metrics (#6094) Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Jacob Richman --- packages/cli/src/ui/utils/computeStats.test.ts | 45 ++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'packages/cli/src/ui/utils/computeStats.test.ts') diff --git a/packages/cli/src/ui/utils/computeStats.test.ts b/packages/cli/src/ui/utils/computeStats.test.ts index 0e32ffe2..e9085fb3 100644 --- a/packages/cli/src/ui/utils/computeStats.test.ts +++ b/packages/cli/src/ui/utils/computeStats.test.ts @@ -121,6 +121,10 @@ describe('computeSessionStats', () => { totalDecisions: { accept: 0, reject: 0, modify: 0 }, byName: {}, }, + files: { + totalLinesAdded: 0, + totalLinesRemoved: 0, + }, }; const result = computeSessionStats(metrics); @@ -137,6 +141,8 @@ describe('computeSessionStats', () => { agreementRate: 0, totalPromptTokens: 0, totalCachedTokens: 0, + totalLinesAdded: 0, + totalLinesRemoved: 0, }); }); @@ -163,6 +169,10 @@ describe('computeSessionStats', () => { totalDecisions: { accept: 0, reject: 0, modify: 0 }, byName: {}, }, + files: { + totalLinesAdded: 0, + totalLinesRemoved: 0, + }, }; const result = computeSessionStats(metrics); @@ -197,6 +207,10 @@ describe('computeSessionStats', () => { totalDecisions: { accept: 0, reject: 0, modify: 0 }, byName: {}, }, + files: { + totalLinesAdded: 0, + totalLinesRemoved: 0, + }, }; const result = computeSessionStats(metrics); @@ -215,6 +229,10 @@ describe('computeSessionStats', () => { totalDecisions: { accept: 6, reject: 2, modify: 2 }, byName: {}, }, + files: { + totalLinesAdded: 0, + totalLinesRemoved: 0, + }, }; const result = computeSessionStats(metrics); @@ -234,6 +252,10 @@ describe('computeSessionStats', () => { totalDecisions: { accept: 0, reject: 0, modify: 0 }, byName: {}, }, + files: { + totalLinesAdded: 0, + totalLinesRemoved: 0, + }, }; const result = computeSessionStats(metrics); @@ -244,4 +266,27 @@ describe('computeSessionStats', () => { expect(result.successRate).toBe(0); expect(result.agreementRate).toBe(0); }); + + it('should correctly include line counts', () => { + const metrics: SessionMetrics = { + models: {}, + tools: { + totalCalls: 0, + totalSuccess: 0, + totalFail: 0, + totalDurationMs: 0, + totalDecisions: { accept: 0, reject: 0, modify: 0 }, + byName: {}, + }, + files: { + totalLinesAdded: 42, + totalLinesRemoved: 18, + }, + }; + + const result = computeSessionStats(metrics); + + expect(result.totalLinesAdded).toBe(42); + expect(result.totalLinesRemoved).toBe(18); + }); }); -- cgit v1.2.3