ccusage 17.2.0 → 18.0.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
@@ -29,6 +29,14 @@ The main CLI tool for analyzing Claude Code usage from local JSONL files. Track
29
29
 
30
30
  Companion tool for analyzing OpenAI Codex usage. Same powerful features as ccusage but tailored for Codex users, including GPT-5 support and 1M token context windows.
31
31
 
32
+ ### 🚀 [@ccusage/opencode](https://www.npmjs.com/package/@ccusage/opencode) - OpenCode Usage Analyzer
33
+
34
+ Companion tool for analyzing OpenCode (Claude Code fork) usage. Track token usage and costs from OpenCode sessions with the same reporting capabilities as ccusage.
35
+
36
+ ### 🥧 [@ccusage/pi](https://www.npmjs.com/package/@ccusage/pi) - Pi-agent Usage Analyzer
37
+
38
+ Unified usage tracking across Claude Code and [pi-agent](https://github.com/badlogic/pi-mono). Combines data from both sources with clear labels (`[cc]` for Claude Code, `[pi]` for pi-agent) to give you a complete picture of your Claude Max usage.
39
+
32
40
  ### 🔌 [@ccusage/mcp](https://www.npmjs.com/package/@ccusage/mcp) - MCP Server Integration
33
41
 
34
42
  Model Context Protocol server that exposes ccusage data to Claude Desktop and other MCP-compatible tools. Enable real-time usage tracking directly in your AI workflows.
@@ -56,36 +64,13 @@ deno run -E -R=$HOME/.claude/projects/ -S=homedir -N='raw.githubusercontent.com:
56
64
 
57
65
  ### Related Tools
58
66
 
59
- #### Codex CLI
60
-
61
- Analyze OpenAI Codex usage with our companion tool [@ccusage/codex](https://www.npmjs.com/package/@ccusage/codex):
62
-
63
- ```bash
64
- # Recommended - always include @latest
65
- npx @ccusage/codex@latest
66
- bunx @ccusage/codex@latest # ⚠️ MUST include @latest with bunx
67
-
68
- # Alternative package runners
69
- pnpm dlx @ccusage/codex
70
- pnpx @ccusage/codex
71
-
72
- # Using deno (with security flags)
73
- deno run -E -R=$HOME/.codex/ -S=homedir -N='raw.githubusercontent.com:443' npm:@ccusage/codex@latest
74
- ```
75
-
76
- > ⚠️ **Critical for bunx users**: Bun 1.2.x's bunx prioritizes binaries matching the package name suffix when given a scoped package. For `@ccusage/codex`, it looks for a `codex` binary in PATH first. If you have an existing `codex` command installed (e.g., GitHub Copilot's codex), that will be executed instead. **Always use `bunx @ccusage/codex@latest` with the version tag** to force bunx to fetch and run the correct package.
77
-
78
- #### MCP Server
79
-
80
- Integrate ccusage with Claude Desktop using [@ccusage/mcp](https://www.npmjs.com/package/@ccusage/mcp):
81
-
82
67
  ```bash
83
- # Start MCP server for Claude Desktop integration
84
- npx @ccusage/mcp@latest --type http --port 8080
68
+ npx @ccusage/codex@latest # OpenAI Codex usage tracking
69
+ npx @ccusage/opencode@latest # OpenCode usage tracking
70
+ npx @ccusage/pi@latest # Unified Claude Code + pi-agent usage
71
+ npx @ccusage/mcp@latest # MCP Server
85
72
  ```
86
73
 
87
- This enables real-time usage tracking and analysis directly within Claude Desktop conversations.
88
-
89
74
  ## Usage
90
75
 
91
76
  ```bash
@@ -97,9 +82,6 @@ npx ccusage session # Usage by conversation session
97
82
  npx ccusage blocks # 5-hour billing windows
98
83
  npx ccusage statusline # Compact status line for hooks (Beta)
99
84
 
100
- # Live monitoring
101
- npx ccusage blocks --live # Real-time usage dashboard
102
-
103
85
  # Filters and options
104
86
  npx ccusage daily --since 20250525 --until 20250530
105
87
  npx ccusage daily --json # JSON output
@@ -123,7 +105,6 @@ npx ccusage monthly --compact # Compact monthly report
123
105
  - 📅 **Monthly Report**: View token usage and costs aggregated by month
124
106
  - 💬 **Session Report**: View usage grouped by conversation sessions
125
107
  - ⏰ **5-Hour Blocks Report**: Track usage within Claude's billing windows with active block monitoring
126
- - 📈 **Live Monitoring**: Real-time dashboard showing active session progress, token burn rate, and cost projections with `blocks --live`
127
108
  - 🚀 **Statusline Integration**: Compact usage display for Claude Code status bar hooks (Beta)
128
109
  - 🤖 **Model Tracking**: See which Claude models you're using (Opus, Sonnet, etc.)
129
110
  - 📊 **Model Breakdown**: View per-model cost breakdown with `--breakdown` flag
@@ -30,11 +30,7 @@
30
30
  },
31
31
  "mode": {
32
32
  "type": "string",
33
- "enum": [
34
- "auto",
35
- "calculate",
36
- "display"
37
- ],
33
+ "enum": ["auto", "calculate", "display"],
38
34
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
39
35
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
40
36
  "default": "auto"
@@ -53,10 +49,7 @@
53
49
  },
54
50
  "order": {
55
51
  "type": "string",
56
- "enum": [
57
- "desc",
58
- "asc"
59
- ],
52
+ "enum": ["desc", "asc"],
60
53
  "description": "Sort order: desc (newest first) or asc (oldest first)",
61
54
  "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
62
55
  "default": "asc"
@@ -134,11 +127,7 @@
134
127
  },
135
128
  "mode": {
136
129
  "type": "string",
137
- "enum": [
138
- "auto",
139
- "calculate",
140
- "display"
141
- ],
130
+ "enum": ["auto", "calculate", "display"],
142
131
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
143
132
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
144
133
  "default": "auto"
@@ -157,10 +146,7 @@
157
146
  },
158
147
  "order": {
159
148
  "type": "string",
160
- "enum": [
161
- "desc",
162
- "asc"
163
- ],
149
+ "enum": ["desc", "asc"],
164
150
  "description": "Sort order: desc (newest first) or asc (oldest first)",
165
151
  "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
166
152
  "default": "asc"
@@ -249,11 +235,7 @@
249
235
  },
250
236
  "mode": {
251
237
  "type": "string",
252
- "enum": [
253
- "auto",
254
- "calculate",
255
- "display"
256
- ],
238
+ "enum": ["auto", "calculate", "display"],
257
239
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
258
240
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
259
241
  "default": "auto"
@@ -272,10 +254,7 @@
272
254
  },
273
255
  "order": {
274
256
  "type": "string",
275
- "enum": [
276
- "desc",
277
- "asc"
278
- ],
257
+ "enum": ["desc", "asc"],
279
258
  "description": "Sort order: desc (newest first) or asc (oldest first)",
280
259
  "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
281
260
  "default": "asc"
@@ -348,11 +327,7 @@
348
327
  },
349
328
  "mode": {
350
329
  "type": "string",
351
- "enum": [
352
- "auto",
353
- "calculate",
354
- "display"
355
- ],
330
+ "enum": ["auto", "calculate", "display"],
356
331
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
357
332
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
358
333
  "default": "auto"
@@ -371,10 +346,7 @@
371
346
  },
372
347
  "order": {
373
348
  "type": "string",
374
- "enum": [
375
- "desc",
376
- "asc"
377
- ],
349
+ "enum": ["desc", "asc"],
378
350
  "description": "Sort order: desc (newest first) or asc (oldest first)",
379
351
  "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
380
352
  "default": "asc"
@@ -462,11 +434,7 @@
462
434
  },
463
435
  "mode": {
464
436
  "type": "string",
465
- "enum": [
466
- "auto",
467
- "calculate",
468
- "display"
469
- ],
437
+ "enum": ["auto", "calculate", "display"],
470
438
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
471
439
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
472
440
  "default": "auto"
@@ -556,11 +524,7 @@
556
524
  },
557
525
  "mode": {
558
526
  "type": "string",
559
- "enum": [
560
- "auto",
561
- "calculate",
562
- "display"
563
- ],
527
+ "enum": ["auto", "calculate", "display"],
564
528
  "description": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
565
529
  "markdownDescription": "Cost calculation mode: auto (use costUSD if exists, otherwise calculate), calculate (always calculate), display (always use costUSD)",
566
530
  "default": "auto"
@@ -579,10 +543,7 @@
579
543
  },
580
544
  "order": {
581
545
  "type": "string",
582
- "enum": [
583
- "desc",
584
- "asc"
585
- ],
546
+ "enum": ["desc", "asc"],
586
547
  "description": "Sort order: desc (newest first) or asc (oldest first)",
587
548
  "markdownDescription": "Sort order: desc (newest first) or asc (oldest first)",
588
549
  "default": "asc"
@@ -668,24 +629,14 @@
668
629
  },
669
630
  "visualBurnRate": {
670
631
  "type": "string",
671
- "enum": [
672
- "off",
673
- "emoji",
674
- "text",
675
- "emoji-text"
676
- ],
632
+ "enum": ["off", "emoji", "text", "emoji-text"],
677
633
  "description": "Controls the visualization of the burn rate status",
678
634
  "markdownDescription": "Controls the visualization of the burn rate status",
679
635
  "default": "off"
680
636
  },
681
637
  "costSource": {
682
638
  "type": "string",
683
- "enum": [
684
- "auto",
685
- "ccusage",
686
- "cc",
687
- "both"
688
- ],
639
+ "enum": ["auto", "ccusage", "cc", "both"],
689
640
  "description": "Session cost source: auto (prefer CC then ccusage), ccusage (always calculate), cc (always use Claude Code cost), both (show both costs)",
690
641
  "markdownDescription": "Session cost source: auto (prefer CC then ccusage), ccusage (always calculate), cc (always use Claude Code cost), both (show both costs)",
691
642
  "default": "auto"
@@ -1,4 +1,4 @@
1
- import { c as SessionUsage, n as DailyUsage, s as MonthlyUsage, u as WeeklyUsage } from "./data-loader-fDs6JbEv.js";
1
+ import { c as SessionUsage, n as DailyUsage, s as MonthlyUsage, u as WeeklyUsage } from "./data-loader-BRnqe1-8.js";
2
2
 
3
3
  //#region src/_token-utils.d.ts
4
4
 
@@ -7,7 +7,7 @@ declare const WEEK_DAYS: readonly ["sunday", "monday", "tuesday", "wednesday", "
7
7
  /**
8
8
  * Week day names type
9
9
  */
10
- type WeekDay = typeof WEEK_DAYS[number];
10
+ type WeekDay = (typeof WEEK_DAYS)[number];
11
11
  //#endregion
12
12
  //#region src/_session-blocks.d.ts
13
13
  /**
@@ -1,5 +1,5 @@
1
1
  import { A as object, C as boolean, F as string, M as parse$2, P as safeParse, R as union, S as array, _ as requestIdSchema, a as createDailyDate, b as versionSchema, c as createSessionId, f as isoTimestampSchema, g as projectPathSchema, h as monthlyDateSchema, i as createBucket, j as optional, k as number, l as createWeeklyDate, m as modelNameSchema, o as createMonthlyDate, p as messageIdSchema, r as activityDateSchema, s as createProjectPath, u as dailyDateSchema, v as sessionIdSchema, x as weeklyDateSchema, z as getTotalTokens } from "./_types-BFL_bTNX.js";
2
- import { n as logger } from "./logger-CxSjxkLv.js";
2
+ import { n as logger } from "./logger-ClkaWGUb.js";
3
3
  import { createRequire } from "node:module";
4
4
  import * as nativeFs from "node:fs";
5
5
  import b, { createReadStream } from "node:fs";
@@ -2481,13 +2481,6 @@ const CLAUDE_CONFIG_DIR_ENV = "CLAUDE_CONFIG_DIR";
2481
2481
  const CLAUDE_PROJECTS_DIR_NAME = "projects";
2482
2482
  const USAGE_DATA_GLOB_PATTERN = "**/*.jsonl";
2483
2483
  const DEFAULT_REFRESH_INTERVAL_SECONDS = 1;
2484
- const MIN_REFRESH_INTERVAL_SECONDS = 1;
2485
- const MAX_REFRESH_INTERVAL_SECONDS = 60;
2486
- const MIN_RENDER_INTERVAL_MS = 16;
2487
- const BURN_RATE_THRESHOLDS = {
2488
- HIGH: 1e3,
2489
- MODERATE: 500
2490
- };
2491
2484
  const DEFAULT_CONTEXT_USAGE_THRESHOLDS = {
2492
2485
  LOW: 50,
2493
2486
  MEDIUM: 80
@@ -3108,18 +3101,18 @@ const PREFETCHED_CLAUDE_PRICING = {
3108
3101
  "output_cost_per_token": 15e-6,
3109
3102
  "cache_creation_input_token_cost": 375e-8,
3110
3103
  "cache_read_input_token_cost": 3e-7,
3111
- "max_tokens": 128e3,
3104
+ "max_tokens": 64e3,
3112
3105
  "max_input_tokens": 2e5,
3113
- "max_output_tokens": 128e3
3106
+ "max_output_tokens": 64e3
3114
3107
  },
3115
3108
  "claude-3-7-sonnet-latest": {
3116
3109
  "input_cost_per_token": 3e-6,
3117
3110
  "output_cost_per_token": 15e-6,
3118
3111
  "cache_creation_input_token_cost": 375e-8,
3119
3112
  "cache_read_input_token_cost": 3e-7,
3120
- "max_tokens": 128e3,
3113
+ "max_tokens": 64e3,
3121
3114
  "max_input_tokens": 2e5,
3122
- "max_output_tokens": 128e3
3115
+ "max_output_tokens": 64e3
3123
3116
  },
3124
3117
  "claude-3-haiku-20240307": {
3125
3118
  "input_cost_per_token": 25e-8,
@@ -4041,4 +4034,4 @@ async function loadSessionBlockData(options) {
4041
4034
  _usingCtx6.d();
4042
4035
  }
4043
4036
  }
4044
- export { uniq as $, projectBlockUsage as A, CLAUDE_PROJECTS_DIR_NAME as B, transcriptUsageSchema as C, calculateBurnRate as D, DEFAULT_SESSION_DURATION_HOURS as E, _usingCtx as F, DEFAULT_RECENT_DAYS as G, DEBUG_MATCH_THRESHOLD_PERCENT as H, BLOCKS_COMPACT_WIDTH_THRESHOLD as I, MIN_REFRESH_INTERVAL_SECONDS as J, DEFAULT_REFRESH_INTERVAL_SECONDS as K, BLOCKS_DEFAULT_TERMINAL_WIDTH as L, formatDateCompact as M, getFileModifiedTime as N, filterRecentBlocks as O, unreachable as P, glob as Q, BLOCKS_WARNING_THRESHOLD as R, transcriptMessageSchema as S, weeklyUsageSchema as T, DEFAULT_CONTEXT_USAGE_THRESHOLDS as U, CONFIG_FILE_NAME as V, DEFAULT_LOCALE as W, USAGE_DATA_GLOB_PATTERN as X, MIN_RENDER_INTERVAL_MS as Y, WEEK_DAYS as Z, loadWeeklyUsageData as _, dailyUsageSchema as a, inspect as at, sessionUsageSchema as b, getEarliestTimestamp as c, isSuccess as ct, loadBucketUsageData as d, toArray as dt, unwrap as et, loadDailyUsageData as f, __commonJSMin as ft, loadSessionUsageById as g, loadSessionData as h, createUniqueHash as i, inspectError as it, PricingFetcher as j, identifySessionBlocks as k, getUsageLimitResetTime as l, andThen as lt, loadSessionBlockData as m, __toESM as mt, calculateContextTokens as n, pipe as nt, extractProjectFromPath as o, fail as ot, loadMonthlyUsageData as p, __require$1 as pt, MAX_REFRESH_INTERVAL_SECONDS as q, calculateCostForEntry as r, map as rt, getClaudePaths as s, succeed as st, bucketUsageSchema as t, try_ as tt, globUsageFiles as u, isFailure as ut, modelBreakdownSchema as v, usageDataSchema as w, sortFilesByTimestamp as x, monthlyUsageSchema as y, BURN_RATE_THRESHOLDS as z };
4037
+ export { inspectError as $, PricingFetcher as A, DEBUG_MATCH_THRESHOLD_PERCENT as B, transcriptUsageSchema as C, calculateBurnRate as D, DEFAULT_SESSION_DURATION_HOURS as E, BLOCKS_COMPACT_WIDTH_THRESHOLD as F, USAGE_DATA_GLOB_PATTERN as G, DEFAULT_LOCALE as H, BLOCKS_DEFAULT_TERMINAL_WIDTH as I, uniq as J, WEEK_DAYS as K, BLOCKS_WARNING_THRESHOLD as L, getFileModifiedTime as M, unreachable as N, filterRecentBlocks as O, _usingCtx as P, map as Q, CLAUDE_PROJECTS_DIR_NAME as R, transcriptMessageSchema as S, weeklyUsageSchema as T, DEFAULT_RECENT_DAYS as U, DEFAULT_CONTEXT_USAGE_THRESHOLDS as V, DEFAULT_REFRESH_INTERVAL_SECONDS as W, try_ as X, unwrap as Y, pipe as Z, loadWeeklyUsageData as _, dailyUsageSchema as a, __commonJSMin as at, sessionUsageSchema as b, getEarliestTimestamp as c, loadBucketUsageData as d, inspect as et, loadDailyUsageData as f, loadSessionUsageById as g, loadSessionData as h, createUniqueHash as i, toArray as it, formatDateCompact as j, projectBlockUsage as k, getUsageLimitResetTime as l, loadSessionBlockData as m, calculateContextTokens as n, isSuccess as nt, extractProjectFromPath as o, __require$1 as ot, loadMonthlyUsageData as p, glob as q, calculateCostForEntry as r, isFailure as rt, getClaudePaths as s, __toESM as st, bucketUsageSchema as t, succeed as tt, globUsageFiles as u, modelBreakdownSchema as v, usageDataSchema as w, sortFilesByTimestamp as x, monthlyUsageSchema as y, CONFIG_FILE_NAME as z };
@@ -1,2 +1,2 @@
1
- import { A as sessionUsageSchema, C as loadMonthlyUsageData, D as loadWeeklyUsageData, E as loadSessionUsageById, F as weeklyUsageSchema, M as transcriptMessageSchema, N as transcriptUsageSchema, O as modelBreakdownSchema, P as usageDataSchema, S as loadDailyUsageData, T as loadSessionData, _ as getClaudePaths, a as LoadOptions, b as globUsageFiles, c as SessionUsage, d as bucketUsageSchema, f as calculateContextTokens, g as extractProjectFromPath, h as dailyUsageSchema, i as GlobResult, j as sortFilesByTimestamp, k as monthlyUsageSchema, l as UsageData, m as createUniqueHash, n as DailyUsage, o as ModelBreakdown, p as calculateCostForEntry, r as DateFilter, s as MonthlyUsage, t as BucketUsage, u as WeeklyUsage, v as getEarliestTimestamp, w as loadSessionBlockData, x as loadBucketUsageData, y as getUsageLimitResetTime } from "./data-loader-fDs6JbEv.js";
1
+ import { A as sessionUsageSchema, C as loadMonthlyUsageData, D as loadWeeklyUsageData, E as loadSessionUsageById, F as weeklyUsageSchema, M as transcriptMessageSchema, N as transcriptUsageSchema, O as modelBreakdownSchema, P as usageDataSchema, S as loadDailyUsageData, T as loadSessionData, _ as getClaudePaths, a as LoadOptions, b as globUsageFiles, c as SessionUsage, d as bucketUsageSchema, f as calculateContextTokens, g as extractProjectFromPath, h as dailyUsageSchema, i as GlobResult, j as sortFilesByTimestamp, k as monthlyUsageSchema, l as UsageData, m as createUniqueHash, n as DailyUsage, o as ModelBreakdown, p as calculateCostForEntry, r as DateFilter, s as MonthlyUsage, t as BucketUsage, u as WeeklyUsage, v as getEarliestTimestamp, w as loadSessionBlockData, x as loadBucketUsageData, y as getUsageLimitResetTime } from "./data-loader-BRnqe1-8.js";
2
2
  export { BucketUsage, DailyUsage, DateFilter, GlobResult, LoadOptions, ModelBreakdown, MonthlyUsage, SessionUsage, UsageData, WeeklyUsage, bucketUsageSchema, calculateContextTokens, calculateCostForEntry, createUniqueHash, dailyUsageSchema, extractProjectFromPath, getClaudePaths, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, loadBucketUsageData, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, modelBreakdownSchema, monthlyUsageSchema, sessionUsageSchema, sortFilesByTimestamp, transcriptMessageSchema, transcriptUsageSchema, usageDataSchema, weeklyUsageSchema };
@@ -1,4 +1,4 @@
1
- import { C as transcriptUsageSchema, S as transcriptMessageSchema, T as weeklyUsageSchema, _ as loadWeeklyUsageData, a as dailyUsageSchema, b as sessionUsageSchema, c as getEarliestTimestamp, d as loadBucketUsageData, f as loadDailyUsageData, g as loadSessionUsageById, h as loadSessionData, i as createUniqueHash, l as getUsageLimitResetTime, m as loadSessionBlockData, n as calculateContextTokens, o as extractProjectFromPath, p as loadMonthlyUsageData, r as calculateCostForEntry, s as getClaudePaths, t as bucketUsageSchema, u as globUsageFiles, v as modelBreakdownSchema, w as usageDataSchema, x as sortFilesByTimestamp, y as monthlyUsageSchema } from "./data-loader-Cwm3YlHL.js";
1
+ import { C as transcriptUsageSchema, S as transcriptMessageSchema, T as weeklyUsageSchema, _ as loadWeeklyUsageData, a as dailyUsageSchema, b as sessionUsageSchema, c as getEarliestTimestamp, d as loadBucketUsageData, f as loadDailyUsageData, g as loadSessionUsageById, h as loadSessionData, i as createUniqueHash, l as getUsageLimitResetTime, m as loadSessionBlockData, n as calculateContextTokens, o as extractProjectFromPath, p as loadMonthlyUsageData, r as calculateCostForEntry, s as getClaudePaths, t as bucketUsageSchema, u as globUsageFiles, v as modelBreakdownSchema, w as usageDataSchema, x as sortFilesByTimestamp, y as monthlyUsageSchema } from "./data-loader-Cn1U7E-7.js";
2
2
  import "./_types-BFL_bTNX.js";
3
- import "./logger-CxSjxkLv.js";
3
+ import "./logger-ClkaWGUb.js";
4
4
  export { bucketUsageSchema, calculateContextTokens, calculateCostForEntry, createUniqueHash, dailyUsageSchema, extractProjectFromPath, getClaudePaths, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, loadBucketUsageData, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, modelBreakdownSchema, monthlyUsageSchema, sessionUsageSchema, sortFilesByTimestamp, transcriptMessageSchema, transcriptUsageSchema, usageDataSchema, weeklyUsageSchema };
@@ -1,6 +1,6 @@
1
- import { B as CLAUDE_PROJECTS_DIR_NAME, F as _usingCtx, H as DEBUG_MATCH_THRESHOLD_PERCENT, Q as glob, X as USAGE_DATA_GLOB_PATTERN, et as unwrap, j as PricingFetcher, s as getClaudePaths, tt as try_, ut as isFailure, w as usageDataSchema } from "./data-loader-Cwm3YlHL.js";
1
+ import { A as PricingFetcher, B as DEBUG_MATCH_THRESHOLD_PERCENT, G as USAGE_DATA_GLOB_PATTERN, P as _usingCtx, R as CLAUDE_PROJECTS_DIR_NAME, X as try_, Y as unwrap, q as glob, rt as isFailure, s as getClaudePaths, w as usageDataSchema } from "./data-loader-Cn1U7E-7.js";
2
2
  import { P as safeParse } from "./_types-BFL_bTNX.js";
3
- import { n as logger } from "./logger-CxSjxkLv.js";
3
+ import { n as logger } from "./logger-ClkaWGUb.js";
4
4
  import { readFile } from "node:fs/promises";
5
5
  import path from "node:path";
6
6
  async function detectMismatches(claudePath) {
package/dist/debug.js CHANGED
@@ -1,5 +1,5 @@
1
- import "./data-loader-Cwm3YlHL.js";
1
+ import "./data-loader-Cn1U7E-7.js";
2
2
  import "./_types-BFL_bTNX.js";
3
- import "./logger-CxSjxkLv.js";
4
- import { n as printMismatchReport, t as detectMismatches } from "./debug-BjAuokNY.js";
3
+ import "./logger-ClkaWGUb.js";
4
+ import { n as printMismatchReport, t as detectMismatches } from "./debug-DjEsvIbZ.js";
5
5
  export { detectMismatches, printMismatchReport };