feat: display detailed session stats on exit with resume command

When quitting the CLI, users now see a comprehensive session summary:
- Total API time spent and session duration
- Total code changes (+additions/-deletions)
- Per-model token usage breakdown (input/output/cached)
- Resume command with session ID

Implementation details:
- Extended SessionStats type with apiTimeSpent, apiCallStartTime, and modelUsage
- Added startApiCall(), stopApiCall(), and addTokensWithModel() tracking functions
- Created session-stats.ts utility with formatters and generateSessionSummary()
- Updated TUI exit handler to display formatted stats
- Added mouse tracking disable to drainStdin() for cleaner exit
- Added modifiedFiles to getState() for exit summary access
This commit is contained in:
2026-02-15 12:32:36 -05:00
parent b51e3d49a6
commit 18a5eca3ae
8 changed files with 244 additions and 15 deletions

View File

@@ -11,6 +11,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Pink Purple Theme**: New built-in theme with hot pink primary, purple secondary, and deep magenta accent on a dark plum background
- **Activity Panel Toggle**: `Ctrl+O` keybind to show/hide the activity panel (context/tokens, modified files)
- **Session Stats on Exit**: Display detailed session statistics when quitting the CLI
- Total usage estimate and Premium requests
- API time spent and total session time
- Total code changes (+additions/-deletions)
- Breakdown by AI model with token usage (input/output/cached)
- Resume command with session ID for easy session continuation
### Fixed