claude-code-history 0.3.0 → 0.4.1

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
@@ -14,6 +14,7 @@ A POSIX-style CLI tool that does one thing well: access your Claude Code chat hi
14
14
 
15
15
  - **List Sessions** - View all your Claude Code sessions with summaries, timestamps, and message counts
16
16
  - **View Conversations** - Read full session content with formatted messages and tool calls
17
+ - **Token Statistics** - View complete token usage breakdown (input, output, cache read, cache creation) per session or aggregated across sessions
17
18
  - **Search** - Find specific content across all sessions or within a single session
18
19
  - **Export** - Save sessions to JSON or Markdown format
19
20
  - **Migrate** - Copy or move sessions between workspaces with automatic path rewriting
@@ -49,6 +50,9 @@ cch list --workspace /path/to/project
49
50
  # Paginate results
50
51
  cch list --limit 10 --offset 20
51
52
 
53
+ # Show aggregate token statistics
54
+ cch list --stats
55
+
52
56
  # Output as JSON
53
57
  cch list --json
54
58
  ```
@@ -62,6 +66,22 @@ cch list --json
62
66
  2 2024-12-30 09:45:33 …/dev/other-project develop Add unit tests for API endp... 67
63
67
  ```
64
68
 
69
+ **With `--stats` flag:**
70
+ ```
71
+ IDX TIMESTAMP PATH BRANCH SUMMARY MSGS
72
+ ──── ──────────────────── ────────────────────────────── ─────────────── ────────────────────────────── ─────
73
+ 0 2024-12-31 15:30:22 /Users/dev/my-project main Implement user authentication 45
74
+ 1 2024-12-31 14:15:10 /Users/dev/my-project feature/auth Fix database connection issue 23
75
+ ────────────────────────────────────────────────────────────────────────────────
76
+ Aggregate Token Statistics
77
+ Input tokens: 1,234
78
+ Output tokens: 5,678
79
+ Cache read tokens: 45,000
80
+ Cache creation tokens: 12,000
81
+ Total tokens: 63,912
82
+ ────────────────────────────────────────────────────────────────────────────────
83
+ ```
84
+
65
85
  ### View Session
66
86
 
67
87
  Read the full content of a session:
@@ -110,6 +130,15 @@ I'll help you implement JWT authentication. Let me start by...
110
130
  ```typescript
111
131
  export function authenticate() { ... }
112
132
  ```
133
+
134
+ ────────────────────────────────────────────────────────────────────────────────
135
+ Token Usage Summary
136
+ Input tokens: 500
137
+ Output tokens: 1,200
138
+ Cache read tokens: 15,000
139
+ Cache creation tokens: 3,500
140
+ Total tokens: 20,200
141
+ ────────────────────────────────────────────────────────────────────────────────
113
142
  ```
114
143
 
115
144
  ### Search Sessions
@@ -226,6 +255,7 @@ import {
226
255
  searchSessions,
227
256
  exportSession,
228
257
  migrateSession,
258
+ computeTokenStats,
229
259
  } from 'claude-code-history';
230
260
 
231
261
  // List all sessions
@@ -259,6 +289,17 @@ console.log(session.messages);
259
289
  // ...
260
290
  // ]
261
291
 
292
+ // Get token statistics for a session
293
+ const tokenStats = computeTokenStats(session.messages);
294
+ console.log(tokenStats);
295
+ // {
296
+ // inputTokens: 500,
297
+ // outputTokens: 1200,
298
+ // cacheReadInputTokens: 15000,
299
+ // cacheCreationInputTokens: 3500,
300
+ // totalTokens: 20200
301
+ // }
302
+
262
303
  // Search across sessions
263
304
  const matches = await searchSessions('authentication', {
264
305
  limit: 20,
@@ -312,6 +353,8 @@ import type {
312
353
  LibraryConfig,
313
354
  Pagination,
314
355
  PaginatedResult,
356
+ TokenUsage,
357
+ AggregateTokenStats,
315
358
  } from 'claude-code-history';
316
359
  ```
317
360
 
@@ -330,6 +373,7 @@ claude-code-history/
330
373
  │ ├── search.ts # Search functionality
331
374
  │ ├── export.ts # Export to JSON/Markdown
332
375
  │ ├── migrate.ts # Session migration
376
+ │ ├── stats.ts # Token statistics aggregation
333
377
  │ └── types.ts # TypeScript type definitions
334
378
  ├── tests/
335
379
  │ ├── integration/ # Integration tests
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoFzC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB1D"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmHzC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB1D"}
@@ -3,11 +3,11 @@
3
3
  *
4
4
  * Lists all available Claude Code sessions with summary information.
5
5
  */
6
- import { listSessions, isDataNotFoundError } from '../../lib/index.js';
6
+ import { listSessions, getSession, isDataNotFoundError, computeTokenStats, createEmptyStats, addStats, } from '../../lib/index.js';
7
7
  import { resolveConfig, toLibraryConfig, } from '../utils/config.js';
8
8
  import { ioError } from '../utils/errors.js';
9
9
  import { successResult, output, handleError, formatPaginationHint, toPaginationInfo, } from '../utils/output.js';
10
- import { formatSessionTable, formatSessionsForJson } from '../formatters/table.js';
10
+ import { formatSessionTable, formatSessionsForJson, formatAggregateStats, } from '../formatters/table.js';
11
11
  import { outputWithPager } from '../formatters/pager.js';
12
12
  /**
13
13
  * Execute the list command
@@ -23,11 +23,25 @@ async function executeList(options) {
23
23
  });
24
24
  try {
25
25
  const result = await listSessions(libConfig);
26
+ // Compute aggregate token stats if --stats flag is set
27
+ let aggregateStats;
28
+ if (options.stats) {
29
+ aggregateStats = createEmptyStats();
30
+ for (const summary of result.data) {
31
+ const session = await getSession(summary.id, libConfig);
32
+ const sessionStats = computeTokenStats(session.messages);
33
+ aggregateStats = addStats(aggregateStats, sessionStats);
34
+ }
35
+ }
26
36
  if (options.json) {
27
37
  // JSON output
28
38
  const jsonData = formatSessionsForJson(result.data, offset);
29
39
  const commandResult = successResult(jsonData, result.pagination);
30
- output(commandResult, true);
40
+ // Add statistics as sibling to data if --stats flag is set
41
+ const jsonOutput = aggregateStats
42
+ ? { ...commandResult, statistics: aggregateStats }
43
+ : commandResult;
44
+ output(jsonOutput, true);
31
45
  }
32
46
  else {
33
47
  // Human-readable output
@@ -42,7 +56,9 @@ async function executeList(options) {
42
56
  }
43
57
  const tableOutput = formatSessionTable(result.data, offset);
44
58
  const paginationHint = formatPaginationHint(toPaginationInfo(result.pagination), 'sessions');
45
- const fullOutput = tableOutput + paginationHint;
59
+ // Add stats summary if --stats flag is set
60
+ const statsOutput = aggregateStats ? '\n' + formatAggregateStats(aggregateStats) : '';
61
+ const fullOutput = tableOutput + paginationHint + statsOutput;
46
62
  await outputWithPager(fullOutput, options.full);
47
63
  }
48
64
  }
@@ -64,6 +80,7 @@ export function registerListCommand(program) {
64
80
  .option('-w, --workspace <path>', 'Filter by workspace/project path')
65
81
  .option('-l, --limit <number>', 'Maximum number of sessions to display', '50')
66
82
  .option('-o, --offset <number>', 'Number of sessions to skip', '0')
83
+ .option('-s, --stats', 'Show aggregate token statistics')
67
84
  .action(async (cmdOptions) => {
68
85
  const globalOptions = program.opts();
69
86
  const options = { ...globalOptions, ...cmdOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwKzC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB1D"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgLzC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB1D"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Views the full content of a specific session.
5
5
  */
6
- import { getSession, isSessionNotFoundError, isDataNotFoundError, filterMessages, VALID_FILTER_TYPES, } from '../../lib/index.js';
6
+ import { getSession, isSessionNotFoundError, isDataNotFoundError, filterMessages, computeTokenStats, VALID_FILTER_TYPES, } from '../../lib/index.js';
7
7
  import { resolveConfig, toLibraryConfig, parseSessionRef, } from '../utils/config.js';
8
8
  import { notFoundError, ioError, usageError } from '../utils/errors.js';
9
9
  import { successResult, output, handleError } from '../utils/output.js';
@@ -52,6 +52,8 @@ async function executeView(sessionArg, options) {
52
52
  }
53
53
  const session = await getSession(sessionRef, libConfig);
54
54
  const totalMessageCount = session.messages.filter((m) => m.type === 'user' || m.type === 'assistant').length;
55
+ // Compute token statistics for the session
56
+ const tokenStats = computeTokenStats(session.messages);
55
57
  // Apply filter if specified
56
58
  const filteredMessages = filterTypes
57
59
  ? filterMessages(session.messages, { only: filterTypes })
@@ -64,6 +66,7 @@ async function executeView(sessionArg, options) {
64
66
  messages: filteredMessages,
65
67
  filter: filterTypes,
66
68
  totalMessageCount,
69
+ tokenStats,
67
70
  });
68
71
  const commandResult = successResult(jsonData);
69
72
  output(commandResult, true);
@@ -74,6 +77,7 @@ async function executeView(sessionArg, options) {
74
77
  messages: filteredMessages,
75
78
  filter: filterTypes,
76
79
  totalMessageCount,
80
+ tokenStats,
77
81
  });
78
82
  await outputWithPager(formattedSession, options.full);
79
83
  }
@@ -81,21 +85,23 @@ async function executeView(sessionArg, options) {
81
85
  }
82
86
  if (options.json) {
83
87
  // JSON output
84
- const jsonData = formatSessionForJson(session, filterTypes ? {
88
+ const jsonData = formatSessionForJson(session, {
85
89
  messages: filteredMessages,
86
- filter: filterTypes,
90
+ filter: filterTypes ?? [],
87
91
  totalMessageCount,
88
- } : undefined);
92
+ tokenStats,
93
+ });
89
94
  const commandResult = successResult(jsonData);
90
95
  output(commandResult, true);
91
96
  }
92
97
  else {
93
98
  // Human-readable output
94
- const formattedSession = formatSession(session, filterTypes ? {
99
+ const formattedSession = formatSession(session, {
95
100
  messages: filteredMessages,
96
- filter: filterTypes,
101
+ filter: filterTypes ?? [],
97
102
  totalMessageCount,
98
- } : undefined);
103
+ tokenStats,
104
+ });
99
105
  await outputWithPager(formattedSession, options.full);
100
106
  }
101
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/cli/commands/view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/cli/commands/view.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Formats Session objects into human-readable conversation view.
5
5
  * Tool calls are paired with their results for better readability.
6
6
  */
7
- import type { Session, Message, FilterableMessageType } from '../../lib/index.js';
7
+ import type { Session, Message, FilterableMessageType, AggregateTokenStats } from '../../lib/index.js';
8
8
  /**
9
9
  * Options for formatting session with filter applied
10
10
  */
@@ -15,6 +15,8 @@ export interface SessionFormatOptions {
15
15
  filter: FilterableMessageType[];
16
16
  /** Total message count before filtering */
17
17
  totalMessageCount: number;
18
+ /** Token statistics to display as footer */
19
+ tokenStats?: AggregateTokenStats;
18
20
  }
19
21
  /**
20
22
  * Format a session for detailed view
@@ -28,6 +30,14 @@ export interface SessionFormatOptions {
28
30
  * @returns Formatted session string
29
31
  */
30
32
  export declare function formatSession(session: Session, options?: SessionFormatOptions): string;
33
+ /**
34
+ * Format token statistics summary as a footer.
35
+ * Uses toLocaleString() for locale-appropriate number formatting per FR-005.
36
+ *
37
+ * @param stats - Aggregated token statistics
38
+ * @returns Formatted token summary string
39
+ */
40
+ export declare function formatTokenSummary(stats: AggregateTokenStats): string;
31
41
  /**
32
42
  * JSON output type for filtered session
33
43
  */
@@ -35,10 +45,11 @@ export interface FilteredSessionJson extends Omit<Session, 'messages'> {
35
45
  messages: Message[];
36
46
  filter?: FilterableMessageType[];
37
47
  totalMessageCount?: number;
48
+ tokenStats?: AggregateTokenStats;
38
49
  }
39
50
  /**
40
51
  * Format session for JSON output
41
- * Returns the session with optional filter metadata
52
+ * Returns the session with optional filter metadata and token statistics
42
53
  */
43
54
  export declare function formatSessionForJson(session: Session, options?: SessionFormatOptions): Session | FilteredSessionJson;
44
55
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EAQP,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,qCAAqC;IACrC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAkQD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAiDR;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;IACpE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,GAAG,mBAAmB,CAa/B"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/session.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EAQP,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,qCAAqC;IACrC,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAkQD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAuDR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAarE;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;IACpE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,GAAG,mBAAmB,CAc/B"}
@@ -252,23 +252,49 @@ export function formatSession(session, options) {
252
252
  parts.push('');
253
253
  parts.push(separator());
254
254
  }
255
+ // Add token statistics footer if provided
256
+ if (options?.tokenStats) {
257
+ parts.push('');
258
+ parts.push(formatTokenSummary(options.tokenStats));
259
+ }
255
260
  return parts.join('\n');
256
261
  }
262
+ /**
263
+ * Format token statistics summary as a footer.
264
+ * Uses toLocaleString() for locale-appropriate number formatting per FR-005.
265
+ *
266
+ * @param stats - Aggregated token statistics
267
+ * @returns Formatted token summary string
268
+ */
269
+ export function formatTokenSummary(stats) {
270
+ const lines = [
271
+ separator(),
272
+ 'Token Usage Summary',
273
+ ` Input tokens: ${stats.inputTokens.toLocaleString()}`,
274
+ ` Output tokens: ${stats.outputTokens.toLocaleString()}`,
275
+ ` Cache read tokens: ${stats.cacheReadInputTokens.toLocaleString()}`,
276
+ ` Cache creation tokens: ${stats.cacheCreationInputTokens.toLocaleString()}`,
277
+ ` Total tokens: ${stats.totalTokens.toLocaleString()}`,
278
+ separator(),
279
+ ];
280
+ return lines.join('\n');
281
+ }
257
282
  /**
258
283
  * Format session for JSON output
259
- * Returns the session with optional filter metadata
284
+ * Returns the session with optional filter metadata and token statistics
260
285
  */
261
286
  export function formatSessionForJson(session, options) {
262
287
  if (!options) {
263
288
  return session;
264
289
  }
265
- // Return session with filtered messages and metadata
290
+ // Return session with filtered messages, metadata, and token statistics
266
291
  return {
267
292
  ...session,
268
293
  messages: options.messages,
269
294
  messageCount: options.messages.length,
270
295
  filter: options.filter,
271
296
  totalMessageCount: options.totalMessageCount,
297
+ tokenStats: options.tokenStats,
272
298
  };
273
299
  }
274
300
  //# sourceMappingURL=session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/formatters/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/cli/formatters/session.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Formats SessionSummary arrays into human-readable tables.
5
5
  */
6
- import type { SessionSummary } from '../../lib/index.js';
6
+ import type { SessionSummary, AggregateTokenStats } from '../../lib/index.js';
7
7
  /**
8
8
  * Format session list as a table
9
9
  *
@@ -22,4 +22,12 @@ export declare function formatSessionTable(sessions: SessionSummary[], offset?:
22
22
  export declare function formatSessionsForJson(sessions: SessionSummary[], offset?: number): (SessionSummary & {
23
23
  index: number;
24
24
  })[];
25
+ /**
26
+ * Format aggregate token statistics for display.
27
+ * Uses toLocaleString() for locale-appropriate number formatting per FR-005.
28
+ *
29
+ * @param stats - Aggregated token statistics
30
+ * @returns Formatted statistics string
31
+ */
32
+ export declare function formatAggregateStats(stats: AggregateTokenStats): string;
25
33
  //# sourceMappingURL=table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA6EzD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,SAAI,GACT,MAAM,CAyDR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,SAAI,GACT,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAKxC"}
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/cli/formatters/table.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AA6E9E;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,SAAI,GACT,MAAM,CAyDR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,cAAc,EAAE,EAC1B,MAAM,SAAI,GACT,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,CAKxC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAcvE"}
@@ -130,4 +130,25 @@ export function formatSessionsForJson(sessions, offset = 0) {
130
130
  ...session,
131
131
  }));
132
132
  }
133
+ /**
134
+ * Format aggregate token statistics for display.
135
+ * Uses toLocaleString() for locale-appropriate number formatting per FR-005.
136
+ *
137
+ * @param stats - Aggregated token statistics
138
+ * @returns Formatted statistics string
139
+ */
140
+ export function formatAggregateStats(stats) {
141
+ const separator = '─'.repeat(80);
142
+ const lines = [
143
+ separator,
144
+ 'Aggregate Token Statistics',
145
+ ` Input tokens: ${stats.inputTokens.toLocaleString()}`,
146
+ ` Output tokens: ${stats.outputTokens.toLocaleString()}`,
147
+ ` Cache read tokens: ${stats.cacheReadInputTokens.toLocaleString()}`,
148
+ ` Cache creation tokens: ${stats.cacheCreationInputTokens.toLocaleString()}`,
149
+ ` Total tokens: ${stats.totalTokens.toLocaleString()}`,
150
+ separator,
151
+ ];
152
+ return lines.join('\n');
153
+ }
133
154
  //# sourceMappingURL=table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/cli/formatters/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/cli/formatters/table.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @packageDocumentation
8
8
  */
9
- export type { LibraryConfig, SessionSummary, Session, MessageType, BaseMessage, UserMessage, AssistantMessage, SummaryMessage, FileHistorySnapshotMessage, Message, TextContent, ToolUseContent, ThinkingContent, AssistantContent, ToolResultContent, TokenUsage, FileSnapshot, FileBackup, Pagination, PaginatedResult, SearchMatch, MigrateConfig, MigrateWorkspaceConfig, MigrateError, MigrateResult, FilterableMessageType, MessageFilterOptions, } from './types.js';
9
+ export type { LibraryConfig, SessionSummary, Session, MessageType, BaseMessage, UserMessage, AssistantMessage, SummaryMessage, FileHistorySnapshotMessage, Message, TextContent, ToolUseContent, ThinkingContent, AssistantContent, ToolResultContent, TokenUsage, AggregateTokenStats, SessionWithStats, ListStatsResult, FileSnapshot, FileBackup, Pagination, PaginatedResult, SearchMatch, MigrateConfig, MigrateWorkspaceConfig, MigrateError, MigrateResult, FilterableMessageType, MessageFilterOptions, } from './types.js';
10
10
  export { VALID_FILTER_TYPES } from './types.js';
11
11
  export { SessionNotFoundError, WorkspaceNotFoundError, DataNotFoundError, isSessionNotFoundError, isWorkspaceNotFoundError, isDataNotFoundError, } from './errors.js';
12
12
  export { listSessions, getSession, getAgentSession, classifyMessage, filterMessages, } from './session.js';
@@ -14,4 +14,5 @@ export { searchSessions, searchInSession } from './search.js';
14
14
  export { exportSessionToJson, exportSessionToMarkdown, exportAllSessionsToJson, exportAllSessionsToMarkdown, exportSession, exportAllSessions, type ExportFormat, } from './export.js';
15
15
  export { migrateSession, migrateWorkspace } from './migrate.js';
16
16
  export { getDefaultDataPath, getProjectsPath } from './platform.js';
17
+ export { computeTokenStats, createEmptyStats, addStats } from './stats.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY,EAEV,aAAa,EAGb,cAAc,EACd,OAAO,EAGP,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,OAAO,EAGP,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAGjB,UAAU,EACV,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,eAAe,EAGf,WAAW,EAGX,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,aAAa,EAGb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9D,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY,EAEV,aAAa,EAGb,cAAc,EACd,OAAO,EAGP,WAAW,EACX,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,0BAA0B,EAC1B,OAAO,EAGP,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EAGjB,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,UAAU,EAGV,UAAU,EACV,eAAe,EAGf,WAAW,EAGX,aAAa,EACb,sBAAsB,EACtB,YAAY,EACZ,aAAa,EAGb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAMtB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9D,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMpE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
package/dist/lib/index.js CHANGED
@@ -31,4 +31,8 @@ export { migrateSession, migrateWorkspace } from './migrate.js';
31
31
  // Utility Functions
32
32
  // =============================================================================
33
33
  export { getDefaultDataPath, getProjectsPath } from './platform.js';
34
+ // =============================================================================
35
+ // Token Statistics Functions
36
+ // =============================================================================
37
+ export { computeTokenStats, createEmptyStats, addStats } from './stats.js';
34
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqDH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhE,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAwDH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,gFAAgF;AAChF,gCAAgC;AAChC,gFAAgF;AAEhF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AAErB,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EACL,YAAY,EACZ,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,GACf,MAAM,cAAc,CAAC;AAEtB,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9D,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,GAElB,MAAM,aAAa,CAAC;AAErB,gFAAgF;AAChF,sBAAsB;AACtB,gFAAgF;AAEhF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhE,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEpE,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Token statistics aggregation for claude-code-history library.
3
+ *
4
+ * Provides functions to compute and combine token usage statistics
5
+ * from session messages.
6
+ */
7
+ import type { Message, AggregateTokenStats } from './types.js';
8
+ /**
9
+ * Create empty/zero token statistics.
10
+ * Useful for initialization and edge cases (no messages).
11
+ *
12
+ * @returns Zero-initialized AggregateTokenStats object
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const stats = createEmptyStats();
17
+ * // stats.totalTokens === 0
18
+ * ```
19
+ */
20
+ export declare function createEmptyStats(): AggregateTokenStats;
21
+ /**
22
+ * Compute aggregate token statistics from messages.
23
+ *
24
+ * @param messages - Array of messages (filters to assistant messages internally)
25
+ * @returns Aggregate token statistics with total
26
+ *
27
+ * @remarks
28
+ * Only assistant messages have token usage data. User messages and other
29
+ * message types are skipped automatically. Missing or undefined usage data
30
+ * is treated as zero.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const session = await getSession(0);
35
+ * const stats = computeTokenStats(session.messages);
36
+ * console.log(`Total tokens: ${stats.totalTokens}`);
37
+ * ```
38
+ */
39
+ export declare function computeTokenStats(messages: Message[]): AggregateTokenStats;
40
+ /**
41
+ * Add two token statistics together.
42
+ *
43
+ * @param a - First stats object
44
+ * @param b - Second stats object
45
+ * @returns Combined statistics with recalculated total
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * const session1Stats = computeTokenStats(session1.messages);
50
+ * const session2Stats = computeTokenStats(session2.messages);
51
+ * const combined = addStats(session1Stats, session2Stats);
52
+ * ```
53
+ */
54
+ export declare function addStats(a: AggregateTokenStats, b: AggregateTokenStats): AggregateTokenStats;
55
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/lib/stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAoB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,IAAI,mBAAmB,CAQtD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAuB1E;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CACtB,CAAC,EAAE,mBAAmB,EACtB,CAAC,EAAE,mBAAmB,GACrB,mBAAmB,CAerB"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Token statistics aggregation for claude-code-history library.
3
+ *
4
+ * Provides functions to compute and combine token usage statistics
5
+ * from session messages.
6
+ */
7
+ /**
8
+ * Create empty/zero token statistics.
9
+ * Useful for initialization and edge cases (no messages).
10
+ *
11
+ * @returns Zero-initialized AggregateTokenStats object
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const stats = createEmptyStats();
16
+ * // stats.totalTokens === 0
17
+ * ```
18
+ */
19
+ export function createEmptyStats() {
20
+ return {
21
+ inputTokens: 0,
22
+ outputTokens: 0,
23
+ cacheCreationInputTokens: 0,
24
+ cacheReadInputTokens: 0,
25
+ totalTokens: 0,
26
+ };
27
+ }
28
+ /**
29
+ * Compute aggregate token statistics from messages.
30
+ *
31
+ * @param messages - Array of messages (filters to assistant messages internally)
32
+ * @returns Aggregate token statistics with total
33
+ *
34
+ * @remarks
35
+ * Only assistant messages have token usage data. User messages and other
36
+ * message types are skipped automatically. Missing or undefined usage data
37
+ * is treated as zero.
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * const session = await getSession(0);
42
+ * const stats = computeTokenStats(session.messages);
43
+ * console.log(`Total tokens: ${stats.totalTokens}`);
44
+ * ```
45
+ */
46
+ export function computeTokenStats(messages) {
47
+ const stats = createEmptyStats();
48
+ for (const msg of messages) {
49
+ if (msg.type === 'assistant') {
50
+ const assistant = msg;
51
+ const usage = assistant.usage;
52
+ stats.inputTokens += usage.inputTokens;
53
+ stats.outputTokens += usage.outputTokens;
54
+ stats.cacheCreationInputTokens += usage.cacheCreationInputTokens;
55
+ stats.cacheReadInputTokens += usage.cacheReadInputTokens;
56
+ }
57
+ }
58
+ // Compute total
59
+ stats.totalTokens =
60
+ stats.inputTokens +
61
+ stats.outputTokens +
62
+ stats.cacheCreationInputTokens +
63
+ stats.cacheReadInputTokens;
64
+ return stats;
65
+ }
66
+ /**
67
+ * Add two token statistics together.
68
+ *
69
+ * @param a - First stats object
70
+ * @param b - Second stats object
71
+ * @returns Combined statistics with recalculated total
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const session1Stats = computeTokenStats(session1.messages);
76
+ * const session2Stats = computeTokenStats(session2.messages);
77
+ * const combined = addStats(session1Stats, session2Stats);
78
+ * ```
79
+ */
80
+ export function addStats(a, b) {
81
+ const inputTokens = a.inputTokens + b.inputTokens;
82
+ const outputTokens = a.outputTokens + b.outputTokens;
83
+ const cacheCreationInputTokens = a.cacheCreationInputTokens + b.cacheCreationInputTokens;
84
+ const cacheReadInputTokens = a.cacheReadInputTokens + b.cacheReadInputTokens;
85
+ return {
86
+ inputTokens,
87
+ outputTokens,
88
+ cacheCreationInputTokens,
89
+ cacheReadInputTokens,
90
+ totalTokens: inputTokens + outputTokens + cacheCreationInputTokens + cacheReadInputTokens,
91
+ };
92
+ }
93
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/lib/stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,wBAAwB,EAAE,CAAC;QAC3B,oBAAoB,EAAE,CAAC;QACvB,WAAW,EAAE,CAAC;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAmB;IACnD,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,GAAuB,CAAC;YAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAE9B,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;YACvC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC;YACzC,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,wBAAwB,CAAC;YACjE,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,oBAAoB,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,WAAW;QACf,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,wBAAwB;YAC9B,KAAK,CAAC,oBAAoB,CAAC;IAE7B,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,QAAQ,CACtB,CAAsB,EACtB,CAAsB;IAEtB,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAClD,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,MAAM,wBAAwB,GAC5B,CAAC,CAAC,wBAAwB,GAAG,CAAC,CAAC,wBAAwB,CAAC;IAC1D,MAAM,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;IAE7E,OAAO;QACL,WAAW;QACX,YAAY;QACZ,wBAAwB;QACxB,oBAAoB;QACpB,WAAW,EACT,WAAW,GAAG,YAAY,GAAG,wBAAwB,GAAG,oBAAoB;KAC/E,CAAC;AACJ,CAAC"}
@@ -165,6 +165,32 @@ export interface TokenUsage {
165
165
  cacheCreationInputTokens: number;
166
166
  cacheReadInputTokens: number;
167
167
  }
168
+ /**
169
+ * Aggregated token statistics across multiple messages or sessions.
170
+ */
171
+ export interface AggregateTokenStats extends TokenUsage {
172
+ /** Total tokens (sum of all four categories) */
173
+ totalTokens: number;
174
+ }
175
+ /**
176
+ * Session with computed token statistics.
177
+ * Used when token aggregation is requested.
178
+ */
179
+ export interface SessionWithStats extends Session {
180
+ /** Aggregated token usage across all assistant messages */
181
+ tokenStats: AggregateTokenStats;
182
+ }
183
+ /**
184
+ * Result of listing sessions with aggregate statistics.
185
+ */
186
+ export interface ListStatsResult {
187
+ /** Session summaries */
188
+ sessions: SessionSummary[];
189
+ /** Aggregate token stats across all listed sessions */
190
+ aggregateStats: AggregateTokenStats;
191
+ /** Pagination info */
192
+ pagination: Pagination;
193
+ }
168
194
  /** File snapshot for history tracking */
169
195
  export interface FileSnapshot {
170
196
  messageId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-history",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "CLI and library for browsing, searching, exporting, and managing Claude Code chat history",
5
5
  "type": "module",
6
6
  "main": "./dist/lib/index.js",