recall-player 1.6.0 โ†’ 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,25 +1,77 @@
1
- # Recall
1
+ <div align="center">
2
+
3
+ # ๐ŸŽฌ Recall
4
+
5
+ **Replay your AI coding sessions like a video player**
2
6
 
3
- ![Project Status: Beta](https://img.shields.io/badge/status-beta-yellow)
4
7
  [![npm version](https://img.shields.io/npm/v/recall-player.svg)](https://www.npmjs.com/package/recall-player)
5
8
  [![npm downloads](https://img.shields.io/npm/dm/recall-player.svg)](https://www.npmjs.com/package/recall-player)
9
+ ![Project Status: Beta](https://img.shields.io/badge/status-beta-yellow)
10
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
+
12
+ **Watch how features were built ยท Review decisions made ยท Debug what went wrong**
13
+
14
+ A local-first web application that visualizes AI coding sessions from Claude Code, Codex CLI, and Gemini CLI. Navigate through your coding history frame-by-frame with video-player controls, search across sessions, and group related work into units.
15
+
16
+ [Quick Start](#quick-start) ยท [Features](#features) ยท [Screenshots](#screenshots) ยท [Documentation](#development)
17
+
18
+ </div>
19
+
20
+ ---
21
+
22
+ ## Why Recall?
6
23
 
7
- A local-first web application that lets you **replay AI coding sessions** like a video player. Watch how features were built, decisions made, and problems solved across multiple AI coding agents.
24
+ Ever wondered **"How did the AI build this feature?"** or **"What changed between yesterday and today?"**
8
25
 
9
- **Supported Agents:**
26
+ When working with AI coding assistants, it's easy to lose track of:
10
27
 
11
- - **Claude Code** - Anthropic's CLI coding assistant
12
- - **Codex CLI** - OpenAI's command-line coding tool
13
- - **Gemini CLI** - Google's terminal-based AI assistant
28
+ - ๐Ÿค” **What decisions were made** and why
29
+ - ๐Ÿ”ง **What approaches were tried** before settling on the final solution
30
+ - ๐Ÿ› **When bugs were introduced** during rapid iteration
31
+ - ๐Ÿ“ **How file changes evolved** across multiple sessions
32
+
33
+ **Recall solves this** by giving you a "DVR for your coding sessions" โ€” replay any session frame-by-frame, search across all your work, and visualize the evolution of your codebase.
34
+
35
+ ---
14
36
 
15
37
  ## Screenshots
16
38
 
17
- <!-- TODO: Add screenshots -->
39
+ ### Session List
40
+
41
+ ![Session List](docs/assets/session-list.png)
42
+ _Browse all your coding sessions across Claude, Codex, and Gemini with powerful filtering and search_
43
+
44
+ ### Session Player
45
+
46
+ ![Session Player](docs/assets/session-player.png)
47
+ _Replay sessions frame-by-frame with timeline scrubber, playback controls, and syntax-highlighted code diffs_
48
+
49
+ ### Chat View
18
50
 
19
- _Screenshots coming soon - showing session list, playback controls, and Work Units dashboard_
51
+ ![Chat View](docs/assets/chat-view.png)
52
+ _Toggle between technical view and conversational chat view for easier reading_
20
53
 
21
54
  ---
22
55
 
56
+ ## Supported Agents
57
+
58
+ <table>
59
+ <tr>
60
+ <td align="center">
61
+ <img src="https://img.shields.io/badge/Claude_Code-8B5CF6?style=for-the-badge" alt="Claude Code"/>
62
+ <br/>Anthropic's CLI coding assistant
63
+ </td>
64
+ <td align="center">
65
+ <img src="https://img.shields.io/badge/Codex_CLI-10B981?style=for-the-badge" alt="Codex CLI"/>
66
+ <br/>OpenAI's command-line tool
67
+ </td>
68
+ <td align="center">
69
+ <img src="https://img.shields.io/badge/Gemini_CLI-3B82F6?style=for-the-badge" alt="Gemini CLI"/>
70
+ <br/>Google's terminal assistant
71
+ </td>
72
+ </tr>
73
+ </table>
74
+
23
75
  ## Quick Start
24
76
 
25
77
  ### Prerequisites
@@ -74,36 +126,98 @@ npm start
74
126
 
75
127
  ## Features
76
128
 
77
- ### Session Browser
129
+ ### ๐ŸŽฅ Video Player Experience
78
130
 
79
- - View all sessions across Claude, Codex, and Gemini
80
- - Filter by agent type, date range, and duration
81
- - Search sessions by project name or content
82
- - See session metadata (duration, event count, first message)
131
+ - **Frame-by-frame playback** with play/pause and variable speed (0.5x to 10x)
132
+ - **Timeline scrubber** with visual event markers and chapter navigation
133
+ - **Keyboard shortcuts** for efficient navigation (Space, arrows, Home/End)
134
+ - **Search** within sessions to jump to specific content
135
+ - **Frame filtering** to show/hide message types (User, AI, Thinking, Tools)
83
136
 
84
- ### Session Player
137
+ ### ๐Ÿ” Multi-Agent Session Browser
138
+
139
+ - **Unified view** of all sessions across Claude Code, Codex CLI, and Gemini CLI
140
+ - **Smart filtering** by agent type, project path, date range, and duration
141
+ - **Full-text search** across all session transcripts (powered by SQLite FTS5)
142
+ - **CWD filtering** - automatically shows only sessions from your current directory
143
+ - **Session metadata** - duration, frame count, AI model, first message preview
144
+
145
+ ### ๐Ÿ“ฆ Work Units (NEW!)
146
+
147
+ - **Auto-grouping** of related sessions into logical work units
148
+ - **Manual management** - add/remove sessions from work units
149
+ - **Multi-session playback** - replay entire features or bug fixes
150
+ - **Progress tracking** - see all work related to a specific task
151
+
152
+ ### ๐ŸŽจ Beautiful UI
153
+
154
+ - **Dark theme** optimized for long viewing sessions
155
+ - **Syntax highlighting** with Prism.js for 100+ languages
156
+ - **Inline diffs** with side-by-side and unified views
157
+ - **Framer Motion** animations for smooth transitions
158
+ - **Responsive design** for various screen sizes
159
+
160
+ ### ๐Ÿ”’ Privacy & Security
161
+
162
+ - **100% local** - no cloud, no analytics, no external requests
163
+ - **Read-only** - session files are never modified
164
+ - **Offline-first** - works without internet connection
165
+ - **SQLite caching** - fast performance with local database
166
+
167
+ ---
168
+
169
+ ## Use Cases
170
+
171
+ ### ๐Ÿ“š Learning & Knowledge Sharing
172
+
173
+ **"Show the team how I implemented OAuth"**
174
+ Record and replay your Claude Code session to demonstrate architectural decisions, debugging steps, and final implementation.
175
+
176
+ ### ๐Ÿ› Debugging What Went Wrong
177
+
178
+ **"When did this bug get introduced?"**
179
+ Scrub through timeline to find the exact moment a file change caused unexpected behavior.
180
+
181
+ ### ๐Ÿ“Š Session Analytics
182
+
183
+ **"How much time did I spend on this feature?"**
184
+ Review session duration, frame counts, and tool executions to understand productivity patterns.
185
+
186
+ ### ๐Ÿ”„ Resuming Interrupted Work
187
+
188
+ **"What was I working on yesterday?"**
189
+ Quickly review your last session's work to pick up where you left off.
190
+
191
+ ---
85
192
 
86
- - **Frame-by-frame playback** of coding sessions
87
- - **Frame types:** User messages, AI responses, AI thinking, Tool executions
88
- - **Filter controls** to show/hide specific frame types
89
- - **Keyboard shortcuts** for navigation (arrow keys, space, etc.)
90
- - **Search** within sessions to find specific content
193
+ ## Configuration
91
194
 
92
- ### Multi-Agent Support
195
+ ### Environment Variables
93
196
 
94
- - Automatically detects and parses sessions from all supported agents
95
- - Agent-specific badges and colors in the UI
96
- - Normalized frame format for consistent playback experience
197
+ #### `RECALL_FILTER_CWD`
97
198
 
98
- ### Work Units
199
+ Controls automatic directory-based session filtering (default: `true`).
99
200
 
100
- Work Units are atomic units of work that span across sessions. They help you:
201
+ ```bash
202
+ # Show only sessions from current directory (default)
203
+ cd /Users/me/projects/myapp
204
+ npx recall-player
205
+
206
+ # Disable filtering to see ALL sessions
207
+ RECALL_FILTER_CWD=false npx recall-player
208
+ ```
209
+
210
+ #### `RECALL_EXCLUDE_PATTERNS`
101
211
 
102
- - Track progress on specific tasks across multiple coding sessions
103
- - Review all work related to a feature or bug fix in one place
104
- - Navigate between related sessions easily
212
+ Comma-separated glob patterns to exclude directories from session scanning.
105
213
 
106
- Access Work Units from the `/work-units` route in the web interface.
214
+ ```bash
215
+ # Exclude specific directories
216
+ RECALL_EXCLUDE_PATTERNS="archived,thedotmack" npx recall-player
217
+
218
+ # Exclude with glob patterns
219
+ RECALL_EXCLUDE_PATTERNS="**/test-data/**,**/plugins/**" npx recall-player
220
+ ```
107
221
 
108
222
  ---
109
223
 
@@ -240,6 +354,76 @@ Recall automatically scans these directories for sessions:
240
354
 
241
355
  ---
242
356
 
357
+ ## FAQ
358
+
359
+ ### How do I capture screenshots for GitHub/docs?
360
+
361
+ We provide an automated screenshot script:
362
+
363
+ ```bash
364
+ # 1. Install Playwright (if needed)
365
+ npm install -D playwright
366
+
367
+ # 2. Start Recall
368
+ npm start
369
+
370
+ # 3. In another terminal, run the script
371
+ node scripts/capture-screenshots.js
372
+ ```
373
+
374
+ Screenshots will be saved to `docs/assets/`.
375
+
376
+ ### Can I export or share sessions?
377
+
378
+ Currently, Recall is **view-only** and designed for local use. Sessions contain potentially sensitive code and credentials, so we don't support exporting or cloud sync. You can:
379
+
380
+ - Take screenshots of specific frames
381
+ - Use screen recording software to capture playback
382
+ - Share the session `.jsonl` files manually (with caution)
383
+
384
+ ### Why isn't my agent showing up?
385
+
386
+ Recall scans these directories automatically:
387
+
388
+ - Claude Code: `~/.claude/projects/`
389
+ - Codex CLI: `~/.codex/sessions/`
390
+ - Gemini CLI: `~/.gemini/tmp/`
391
+
392
+ If you don't see sessions:
393
+
394
+ 1. Verify you have session files in one of these directories
395
+ 2. Check the backend logs for parsing errors
396
+ 3. Try: `curl http://localhost:3001/api/agents` to see detected agents
397
+
398
+ ### Can I filter sessions by project?
399
+
400
+ Yes! Use the **CWD filter** feature:
401
+
402
+ ```bash
403
+ # Run Recall from your project directory
404
+ cd /Users/me/projects/myapp
405
+ npx recall-player
406
+ ```
407
+
408
+ Only sessions from `/Users/me/projects/myapp` will be shown. Disable with `RECALL_FILTER_CWD=false`.
409
+
410
+ ### Does Recall modify my session files?
411
+
412
+ **No.** All session files are opened in **read-only mode**. Recall never writes to or modifies your original `.jsonl` or `.json` files.
413
+
414
+ ### Is my data sent to the cloud?
415
+
416
+ **Absolutely not.** Recall is 100% local-first with:
417
+
418
+ - No analytics
419
+ - No external API calls
420
+ - No telemetry
421
+ - No cloud storage
422
+
423
+ All data stays on your machine.
424
+
425
+ ---
426
+
243
427
  ## Troubleshooting
244
428
 
245
429
  ### No sessions showing up?
@@ -105,16 +105,39 @@ export declare abstract class AgentParser {
105
105
  * Get default duration for a frame based on its type and content
106
106
  */
107
107
  protected getDefaultDuration(frame: PlaybackFrame): number;
108
+ /**
109
+ * Check if a tool is a read operation (across all agents)
110
+ */
111
+ protected isReadTool(toolName: string): boolean;
112
+ /**
113
+ * Check if a tool is a write operation (across all agents)
114
+ */
115
+ protected isWriteTool(toolName: string): boolean;
116
+ /**
117
+ * Check if a tool is an edit operation (across all agents)
118
+ */
119
+ protected isEditTool(toolName: string): boolean;
120
+ /**
121
+ * Check if a tool is a shell operation (across all agents)
122
+ */
123
+ protected isShellTool(toolName: string): boolean;
124
+ /**
125
+ * Extract file path from tool input (across all agents)
126
+ * Handles different parameter names used by Claude, Gemini, and Codex.
127
+ */
128
+ protected extractFilePathFromInput(input: Record<string, any>): string | undefined;
108
129
  /**
109
130
  * Infer programming language from file extension
110
131
  */
111
132
  protected inferLanguage(filePath: string): string;
112
133
  /**
113
- * Extract file diff for file operations (Write, Edit)
134
+ * Extract file diff for file operations (Write, Edit, write_file, replace, etc.)
135
+ * Supports Claude, Gemini, and Codex tool formats.
114
136
  */
115
137
  protected extractFileDiff(toolUse: ToolUseBlock, _toolResult: ToolResultBlock | undefined): FileDiff | undefined;
116
138
  /**
117
- * Extract file context from tool use
139
+ * Extract file context from tool use.
140
+ * Supports Claude, Gemini, and Codex tool formats.
118
141
  */
119
142
  protected extractFileContext(toolUse: ToolUseBlock): {
120
143
  filesRead?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"base-parser.d.ts","sourceRoot":"","sources":["../../src/parser/base-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,SAAS,EAAqC,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,YAAY,EACb,MAAM,qBAAqB,CAAC;AAM7B;;;;;GAKG;AACH,8BAAsB,WAAW;IAC/B;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAEvC;;;;;;;;OAQG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA8C5D;;;;;;;OAOG;IACG,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAiD3E;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,eAAe,GAAG,IAAI;IAE1D;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAC3B,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,eAAe,GAAG,SAAS,GACtC,aAAa;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAErF;;;;;;OAMG;IACH,QAAQ,CAAC,sBAAsB,CAC7B,KAAK,EAAE,eAAe,EACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC1C,aAAa,EAAE;IAMlB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAShF;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB;IAwB3F;;;OAGG;IACH,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAoBlE;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIpD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,SAAS;IAYrE;;;;;;;OAOG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE;IAqF7F;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI;IAgChE;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAsB1D;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAqCjD;;OAEG;IACH,SAAS,CAAC,eAAe,CACvB,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,eAAe,GAAG,SAAS,GACvC,QAAQ,GAAG,SAAS;IAuBvB;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG;QACnD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B;IAcD;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,GAAG;QACpE,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;CAiCF"}
1
+ {"version":3,"file":"base-parser.d.ts","sourceRoot":"","sources":["../../src/parser/base-parser.ts"],"names":[],"mappings":"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"}
@@ -325,11 +325,55 @@ class AgentParser {
325
325
  return Math.min(5000, 3000 + responseText.length / 100);
326
326
  case 'tool_execution':
327
327
  const toolName = frame.toolExecution?.tool || '';
328
- return toolName === 'Bash' ? 2000 : 1000;
328
+ // Shell commands across all agents get longer default duration
329
+ return this.isShellTool(toolName) ? 2000 : 1000;
329
330
  default:
330
331
  return 2000;
331
332
  }
332
333
  }
334
+ /**
335
+ * Check if a tool is a read operation (across all agents)
336
+ */
337
+ isReadTool(toolName) {
338
+ const READ_TOOLS = [
339
+ 'Read',
340
+ 'Glob',
341
+ 'Grep',
342
+ 'NotebookRead',
343
+ 'read_file',
344
+ 'glob',
345
+ 'list_directory',
346
+ ];
347
+ return READ_TOOLS.includes(toolName);
348
+ }
349
+ /**
350
+ * Check if a tool is a write operation (across all agents)
351
+ */
352
+ isWriteTool(toolName) {
353
+ const WRITE_TOOLS = ['Write', 'NotebookEdit', 'write_file', 'create_file'];
354
+ return WRITE_TOOLS.includes(toolName);
355
+ }
356
+ /**
357
+ * Check if a tool is an edit operation (across all agents)
358
+ */
359
+ isEditTool(toolName) {
360
+ const EDIT_TOOLS = ['Edit', 'replace'];
361
+ return EDIT_TOOLS.includes(toolName);
362
+ }
363
+ /**
364
+ * Check if a tool is a shell operation (across all agents)
365
+ */
366
+ isShellTool(toolName) {
367
+ const SHELL_TOOLS = ['Bash', 'shell', 'run_shell_command', 'shell_command'];
368
+ return SHELL_TOOLS.includes(toolName);
369
+ }
370
+ /**
371
+ * Extract file path from tool input (across all agents)
372
+ * Handles different parameter names used by Claude, Gemini, and Codex.
373
+ */
374
+ extractFilePathFromInput(input) {
375
+ return input.file_path || input.path || input.file || input.filename || input.filePath;
376
+ }
333
377
  /**
334
378
  * Infer programming language from file extension
335
379
  */
@@ -368,37 +412,61 @@ class AgentParser {
368
412
  return languageMap[ext] || 'text';
369
413
  }
370
414
  /**
371
- * Extract file diff for file operations (Write, Edit)
415
+ * Extract file diff for file operations (Write, Edit, write_file, replace, etc.)
416
+ * Supports Claude, Gemini, and Codex tool formats.
372
417
  */
373
418
  extractFileDiff(toolUse, _toolResult) {
374
419
  const input = toolUse.input;
375
- if (toolUse.name === 'Write' && input.file_path && input.content) {
376
- return {
377
- filePath: input.file_path,
378
- newContent: input.content,
379
- language: this.inferLanguage(input.file_path),
380
- };
420
+ const filePath = this.extractFilePathFromInput(input);
421
+ // Handle write operations (Claude: Write, Gemini: write_file/create_file)
422
+ if (this.isWriteTool(toolUse.name) && filePath) {
423
+ const content = input.content || input.contents;
424
+ if (content) {
425
+ return {
426
+ filePath,
427
+ newContent: content,
428
+ language: this.inferLanguage(filePath),
429
+ };
430
+ }
381
431
  }
382
- if (toolUse.name === 'Edit' && input.file_path && input.old_string && input.new_string) {
383
- return {
384
- filePath: input.file_path,
385
- oldContent: input.old_string,
386
- newContent: input.new_string,
387
- language: this.inferLanguage(input.file_path),
388
- };
432
+ // Handle edit operations (Claude: Edit, Gemini: replace)
433
+ if (this.isEditTool(toolUse.name) && filePath) {
434
+ // Claude format: old_string, new_string
435
+ if (input.old_string && input.new_string) {
436
+ return {
437
+ filePath,
438
+ oldContent: input.old_string,
439
+ newContent: input.new_string,
440
+ language: this.inferLanguage(filePath),
441
+ };
442
+ }
443
+ // Gemini format: old_text, new_text or similar
444
+ if (input.old_text && input.new_text) {
445
+ return {
446
+ filePath,
447
+ oldContent: input.old_text,
448
+ newContent: input.new_text,
449
+ language: this.inferLanguage(filePath),
450
+ };
451
+ }
389
452
  }
390
453
  return undefined;
391
454
  }
392
455
  /**
393
- * Extract file context from tool use
456
+ * Extract file context from tool use.
457
+ * Supports Claude, Gemini, and Codex tool formats.
394
458
  */
395
459
  extractFileContext(toolUse) {
396
460
  const context = {};
397
- if (toolUse.name === 'Read' && toolUse.input.file_path) {
398
- context.filesRead = [toolUse.input.file_path];
461
+ const filePath = this.extractFilePathFromInput(toolUse.input);
462
+ if (!filePath) {
463
+ return context;
464
+ }
465
+ if (this.isReadTool(toolUse.name)) {
466
+ context.filesRead = [filePath];
399
467
  }
400
- if ((toolUse.name === 'Write' || toolUse.name === 'Edit') && toolUse.input.file_path) {
401
- context.filesModified = [toolUse.input.file_path];
468
+ if (this.isWriteTool(toolUse.name) || this.isEditTool(toolUse.name)) {
469
+ context.filesModified = [filePath];
402
470
  }
403
471
  return context;
404
472
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-parser.js","sourceRoot":"","sources":["../../src/parser/base-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-parser.js","sourceRoot":"","sources":["../../src/parser/base-parser.ts"],"names":[],"mappings":"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"}