ccusage 16.0.0 → 16.1.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.
@@ -219,6 +219,11 @@
219
219
  "type": "string",
220
220
  "description": "Filter to specific project name",
221
221
  "markdownDescription": "Filter to specific project name"
222
+ },
223
+ "projectAliases": {
224
+ "type": "string",
225
+ "description": "Comma-separated project aliases (e.g., 'ccusage=Usage Tracker,myproject=My Project')",
226
+ "markdownDescription": "Comma-separated project aliases (e.g., 'ccusage=Usage Tracker,myproject=My Project')"
222
227
  }
223
228
  },
224
229
  "additionalProperties": false
@@ -1,7 +1,7 @@
1
- import { CLAUDE_CONFIG_DIR_ENV, CLAUDE_PROJECTS_DIR_NAME, CONTEXT_LOW_THRESHOLD_ENV, CONTEXT_MEDIUM_THRESHOLD_ENV, DEFAULT_CLAUDE_CODE_PATH, DEFAULT_CLAUDE_CONFIG_PATH, DEFAULT_CONTEXT_USAGE_THRESHOLDS, DEFAULT_RECENT_DAYS, PricingFetcher, USAGE_DATA_GLOB_PATTERN, USER_HOME_DIR, __commonJSMin, __require, __toESM, isFailure, isPromise, isSuccess, require_usingCtx } from "./pricing-fetcher-CUQk_dDN.js";
1
+ import { CLAUDE_CONFIG_DIR_ENV, CLAUDE_PROJECTS_DIR_NAME, CONTEXT_LOW_THRESHOLD_ENV, CONTEXT_MEDIUM_THRESHOLD_ENV, DEFAULT_CLAUDE_CODE_PATH, DEFAULT_CLAUDE_CONFIG_PATH, DEFAULT_CONTEXT_USAGE_THRESHOLDS, DEFAULT_RECENT_DAYS, PricingFetcher, USAGE_DATA_GLOB_PATTERN, USER_HOME_DIR, __commonJSMin, __require, __toESM, isFailure, isPromise, isSuccess, require_usingCtx } from "./pricing-fetcher-5FVKt1XA.js";
2
2
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
3
3
  import { activityDateSchema, arrayType, booleanType, createBucket, createDailyDate, createMonthlyDate, createProjectPath, createSessionId, createWeeklyDate, dailyDateSchema, isoTimestampSchema, messageIdSchema, modelNameSchema, monthlyDateSchema, numberType, objectType, projectPathSchema, requestIdSchema, sessionIdSchema, stringType, unionType, versionSchema, weeklyDateSchema } from "./_types-BbEk8t2a.js";
4
- import { logger } from "./logger-ClcgjXEW.js";
4
+ import { logger } from "./logger-Cyk_YiBe.js";
5
5
  import a, { readFile } from "node:fs/promises";
6
6
  import path, { posix } from "node:path";
7
7
  import process$1 from "node:process";
@@ -1,6 +1,6 @@
1
- import "./pricing-fetcher-CUQk_dDN.js";
1
+ import "./pricing-fetcher-5FVKt1XA.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
3
3
  import "./_types-BbEk8t2a.js";
4
- import { bucketUsageSchema, calculateContextTokens, calculateCostForEntry, createUniqueHash, dailyUsageSchema, extractProjectFromPath, formatDate, formatDateCompact, getClaudePaths, getContextUsageThresholds, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, loadBucketUsageData, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, modelBreakdownSchema, monthlyUsageSchema, sessionUsageSchema, sortFilesByTimestamp, transcriptMessageSchema, transcriptUsageSchema, usageDataSchema, weeklyUsageSchema } from "./data-loader-Bf4qMLf2.js";
5
- import "./logger-ClcgjXEW.js";
4
+ import { bucketUsageSchema, calculateContextTokens, calculateCostForEntry, createUniqueHash, dailyUsageSchema, extractProjectFromPath, formatDate, formatDateCompact, getClaudePaths, getContextUsageThresholds, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, loadBucketUsageData, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, modelBreakdownSchema, monthlyUsageSchema, sessionUsageSchema, sortFilesByTimestamp, transcriptMessageSchema, transcriptUsageSchema, usageDataSchema, weeklyUsageSchema } from "./data-loader-D9y22SrV.js";
5
+ import "./logger-Cyk_YiBe.js";
6
6
  export { bucketUsageSchema, calculateContextTokens, calculateCostForEntry, createUniqueHash, dailyUsageSchema, extractProjectFromPath, formatDate, formatDateCompact, getClaudePaths, getContextUsageThresholds, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, loadBucketUsageData, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, modelBreakdownSchema, monthlyUsageSchema, sessionUsageSchema, sortFilesByTimestamp, transcriptMessageSchema, transcriptUsageSchema, usageDataSchema, weeklyUsageSchema };
@@ -1,6 +1,6 @@
1
- import { CLAUDE_PROJECTS_DIR_NAME, DEBUG_MATCH_THRESHOLD_PERCENT, PricingFetcher, USAGE_DATA_GLOB_PATTERN, __toESM, isFailure, require_usingCtx, try_ } from "./pricing-fetcher-CUQk_dDN.js";
2
- import { getClaudePaths, glob, unwrap, usageDataSchema } from "./data-loader-Bf4qMLf2.js";
3
- import { logger } from "./logger-ClcgjXEW.js";
1
+ import { CLAUDE_PROJECTS_DIR_NAME, DEBUG_MATCH_THRESHOLD_PERCENT, PricingFetcher, USAGE_DATA_GLOB_PATTERN, __toESM, isFailure, require_usingCtx, try_ } from "./pricing-fetcher-5FVKt1XA.js";
2
+ import { getClaudePaths, glob, unwrap, usageDataSchema } from "./data-loader-D9y22SrV.js";
3
+ import { logger } from "./logger-Cyk_YiBe.js";
4
4
  import { readFile } from "node:fs/promises";
5
5
  import path from "node:path";
6
6
  var import_usingCtx = /* @__PURE__ */ __toESM(require_usingCtx(), 1);
package/dist/debug.js CHANGED
@@ -1,7 +1,7 @@
1
- import "./pricing-fetcher-CUQk_dDN.js";
1
+ import "./pricing-fetcher-5FVKt1XA.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
3
3
  import "./_types-BbEk8t2a.js";
4
- import "./data-loader-Bf4qMLf2.js";
5
- import "./logger-ClcgjXEW.js";
6
- import { detectMismatches, printMismatchReport } from "./debug-Oi3WqR-w.js";
4
+ import "./data-loader-D9y22SrV.js";
5
+ import "./logger-Cyk_YiBe.js";
6
+ import { detectMismatches, printMismatchReport } from "./debug-CSXph9NF.js";
7
7
  export { detectMismatches, printMismatchReport };
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
- import { BLOCKS_COMPACT_WIDTH_THRESHOLD, BLOCKS_DEFAULT_TERMINAL_WIDTH, BLOCKS_WARNING_THRESHOLD, BURN_RATE_THRESHOLDS, CONFIG_FILE_NAME, DEFAULT_RECENT_DAYS, DEFAULT_REFRESH_INTERVAL_SECONDS, MAX_REFRESH_INTERVAL_SECONDS, MCP_DEFAULT_PORT, MIN_REFRESH_INTERVAL_SECONDS, MIN_RENDER_INTERVAL_MS, PROJECT_ALIASES_ENV, PricingFetcher, WEEK_DAYS, __commonJSMin, __require, __toESM, inspect, inspectError, isFailure, isSuccess, map, pipe, require_usingCtx, succeed, try_ } from "./pricing-fetcher-CUQk_dDN.js";
2
+ import { BLOCKS_COMPACT_WIDTH_THRESHOLD, BLOCKS_DEFAULT_TERMINAL_WIDTH, BLOCKS_WARNING_THRESHOLD, BURN_RATE_THRESHOLDS, CONFIG_FILE_NAME, DEFAULT_RECENT_DAYS, DEFAULT_REFRESH_INTERVAL_SECONDS, MAX_REFRESH_INTERVAL_SECONDS, MCP_DEFAULT_PORT, MIN_REFRESH_INTERVAL_SECONDS, MIN_RENDER_INTERVAL_MS, PricingFetcher, WEEK_DAYS, __commonJSMin, __require, __toESM, inspect, inspectError, isFailure, isSuccess, map, pipe, require_usingCtx, succeed, try_ } from "./pricing-fetcher-5FVKt1XA.js";
3
3
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
4
4
  import { CostModes, SortOrders, filterDateSchema, statuslineHookJsonSchema } from "./_types-BbEk8t2a.js";
5
5
  import { calculateTotals, createTotalsObject } from "./calculate-cost-BDqO4yWA.js";
6
- import { DEFAULT_SESSION_DURATION_HOURS, calculateBurnRate, calculateContextTokens, calculateCostForEntry, createUniqueHash, filterRecentBlocks, formatDateCompact, getClaudePaths, getContextUsageThresholds, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, identifySessionBlocks, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, projectBlockUsage, sortFilesByTimestamp, toArray, uniq, unwrap, usageDataSchema } from "./data-loader-Bf4qMLf2.js";
7
- import { description, log, logger, name, version } from "./logger-ClcgjXEW.js";
8
- import { detectMismatches, printMismatchReport } from "./debug-Oi3WqR-w.js";
9
- import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-DW2TXqtN.js";
6
+ import { DEFAULT_SESSION_DURATION_HOURS, calculateBurnRate, calculateContextTokens, calculateCostForEntry, createUniqueHash, filterRecentBlocks, formatDateCompact, getClaudePaths, getContextUsageThresholds, getEarliestTimestamp, getUsageLimitResetTime, globUsageFiles, identifySessionBlocks, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData, loadSessionUsageById, loadWeeklyUsageData, projectBlockUsage, sortFilesByTimestamp, toArray, uniq, unwrap, usageDataSchema } from "./data-loader-D9y22SrV.js";
7
+ import { description, log, logger, name, version } from "./logger-Cyk_YiBe.js";
8
+ import { detectMismatches, printMismatchReport } from "./debug-CSXph9NF.js";
9
+ import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-DRjw50Q4.js";
10
10
  import a, { readFile, stat } from "node:fs/promises";
11
11
  import path, { join } from "node:path";
12
12
  import process$1 from "node:process";
@@ -3376,19 +3376,6 @@ function groupDataByProject(dailyData) {
3376
3376
  }
3377
3377
  return projects;
3378
3378
  }
3379
- let aliasCache = null;
3380
- function getProjectAliases() {
3381
- if (aliasCache !== null) return aliasCache;
3382
- aliasCache = /* @__PURE__ */ new Map();
3383
- const aliasEnv = (process$1.env[PROJECT_ALIASES_ENV] ?? "").trim();
3384
- if (aliasEnv === "") return aliasCache;
3385
- const pairs$1 = aliasEnv.split(",").map((pair$1) => pair$1.trim()).filter((pair$1) => pair$1 !== "");
3386
- for (const pair$1 of pairs$1) {
3387
- const parts = pair$1.split("=").map((s) => s.trim()), rawName = parts[0], alias = parts[1];
3388
- if (rawName != null && alias != null && rawName !== "" && alias !== "") aliasCache.set(rawName, alias);
3389
- }
3390
- return aliasCache;
3391
- }
3392
3379
  function parseProjectName(projectName) {
3393
3380
  if (projectName === "unknown" || projectName === "") return "Unknown Project";
3394
3381
  let cleaned = projectName;
@@ -3419,11 +3406,10 @@ function parseProjectName(projectName) {
3419
3406
  }
3420
3407
  return cleaned = cleaned.replace(/^[/\\-]+|[/\\-]+$/g, ""), cleaned !== "" ? cleaned : projectName !== "" ? projectName : "Unknown Project";
3421
3408
  }
3422
- function formatProjectName(projectName) {
3423
- const aliases = getProjectAliases();
3424
- if (aliases.has(projectName)) return aliases.get(projectName);
3409
+ function formatProjectName(projectName, aliases) {
3410
+ if (aliases != null && aliases.has(projectName)) return aliases.get(projectName);
3425
3411
  const parsed = parseProjectName(projectName);
3426
- return aliases.has(parsed) ? aliases.get(parsed) : parsed;
3412
+ return aliases != null && aliases.has(parsed) ? aliases.get(parsed) : parsed;
3427
3413
  }
3428
3414
  var import_picocolors$4 = /* @__PURE__ */ __toESM(require_picocolors(), 1);
3429
3415
  const dailyCommand = define({
@@ -3442,10 +3428,25 @@ const dailyCommand = define({
3442
3428
  type: "string",
3443
3429
  short: "p",
3444
3430
  description: "Filter to specific project name"
3431
+ },
3432
+ projectAliases: {
3433
+ type: "string",
3434
+ description: "Comma-separated project aliases (e.g., 'ccusage=Usage Tracker,myproject=My Project')",
3435
+ hidden: true
3445
3436
  }
3446
3437
  },
3447
3438
  async run(ctx) {
3448
- const config = loadConfig(ctx.values.config, ctx.values.debug), mergedOptions = mergeConfigWithArgs(ctx, config, ctx.values.debug), useJson = Boolean(mergedOptions.json) || mergedOptions.jq != null;
3439
+ const config = loadConfig(ctx.values.config, ctx.values.debug), mergedOptions = mergeConfigWithArgs(ctx, config, ctx.values.debug);
3440
+ let projectAliases;
3441
+ if (mergedOptions.projectAliases != null && typeof mergedOptions.projectAliases === "string") {
3442
+ projectAliases = /* @__PURE__ */ new Map();
3443
+ const pairs$1 = mergedOptions.projectAliases.split(",").map((pair$1) => pair$1.trim()).filter((pair$1) => pair$1 !== "");
3444
+ for (const pair$1 of pairs$1) {
3445
+ const parts = pair$1.split("=").map((s) => s.trim()), rawName = parts[0], alias = parts[1];
3446
+ if (rawName != null && alias != null && rawName !== "" && alias !== "") projectAliases.set(rawName, alias);
3447
+ }
3448
+ }
3449
+ const useJson = Boolean(mergedOptions.json) || mergedOptions.jq != null;
3449
3450
  if (useJson) logger.level = 0;
3450
3451
  const dailyData = await loadDailyUsageData({
3451
3452
  ...mergedOptions,
@@ -3542,7 +3543,7 @@ const dailyCommand = define({
3542
3543
  ""
3543
3544
  ]);
3544
3545
  table.push([
3545
- import_picocolors$4.default.cyan(`Project: ${formatProjectName(projectName)}`),
3546
+ import_picocolors$4.default.cyan(`Project: ${formatProjectName(projectName, projectAliases)}`),
3546
3547
  "",
3547
3548
  "",
3548
3549
  "",
@@ -761,7 +761,7 @@ function _getDefaultLogLevel() {
761
761
  return g ? LogLevels.debug : R ? LogLevels.warn : LogLevels.info;
762
762
  }
763
763
  const consola = createConsola$1();
764
- var name = "ccusage", version = "16.0.0", description = "Usage analysis tool for Claude Code";
764
+ var name = "ccusage", version = "16.1.0", description = "Usage analysis tool for Claude Code";
765
765
  const logger = consola.withTag(name);
766
766
  if (process$1.env.LOG_LEVEL != null) {
767
767
  const level = Number.parseInt(process$1.env.LOG_LEVEL, 10);
package/dist/logger.js CHANGED
@@ -1,2 +1,2 @@
1
- import { log, logger } from "./logger-ClcgjXEW.js";
1
+ import { log, logger } from "./logger-Cyk_YiBe.js";
2
2
  export { log, logger };
@@ -1,9 +1,9 @@
1
- import { __commonJSMin, __toESM, require_usingCtx } from "./pricing-fetcher-CUQk_dDN.js";
1
+ import { __commonJSMin, __toESM, require_usingCtx } from "./pricing-fetcher-5FVKt1XA.js";
2
2
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
3
3
  import { ZodFirstPartyTypeKind, ZodOptional, ZodType, arrayType, booleanType, discriminatedUnionType, enumType, filterDateSchema, literalType, numberType, objectType, optionalType, recordType, stringType, unionType, unknownType } from "./_types-BbEk8t2a.js";
4
4
  import { calculateTotals, createTotalsObject } from "./calculate-cost-BDqO4yWA.js";
5
- import { getClaudePaths, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData } from "./data-loader-Bf4qMLf2.js";
6
- import { name, version } from "./logger-ClcgjXEW.js";
5
+ import { getClaudePaths, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData } from "./data-loader-D9y22SrV.js";
6
+ import { name, version } from "./logger-Cyk_YiBe.js";
7
7
  import process from "node:process";
8
8
  const LATEST_PROTOCOL_VERSION = "2025-06-18", SUPPORTED_PROTOCOL_VERSIONS = [
9
9
  LATEST_PROTOCOL_VERSION,
package/dist/mcp.js CHANGED
@@ -1,8 +1,8 @@
1
- import "./pricing-fetcher-CUQk_dDN.js";
1
+ import "./pricing-fetcher-5FVKt1XA.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
3
3
  import "./_types-BbEk8t2a.js";
4
4
  import "./calculate-cost-BDqO4yWA.js";
5
- import "./data-loader-Bf4qMLf2.js";
6
- import "./logger-ClcgjXEW.js";
7
- import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-DW2TXqtN.js";
5
+ import "./data-loader-D9y22SrV.js";
6
+ import "./logger-Cyk_YiBe.js";
7
+ import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-DRjw50Q4.js";
8
8
  export { createMcpHttpApp, createMcpServer, startMcpServerStdio };
@@ -1,5 +1,5 @@
1
1
  import { modelPricingSchema } from "./_types-BbEk8t2a.js";
2
- import { logger } from "./logger-ClcgjXEW.js";
2
+ import { logger } from "./logger-Cyk_YiBe.js";
3
3
  import { createRequire } from "node:module";
4
4
  import path from "node:path";
5
5
  import F, { homedir } from "node:os";
@@ -93,7 +93,7 @@ const isFailure = (result) => "Failure" === result.type, isPromise = (value) =>
93
93
  if (xdgData) xdgDataDirectories.unshift(xdgData);
94
94
  const xdgConfigDirectories = (env.XDG_CONFIG_DIRS || "/etc/xdg").split(":");
95
95
  if (xdgConfig) xdgConfigDirectories.unshift(xdgConfig);
96
- const LITELLM_PRICING_URL = "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json", DEFAULT_RECENT_DAYS = 3, BLOCKS_WARNING_THRESHOLD = .8, BLOCKS_COMPACT_WIDTH_THRESHOLD = 120, BLOCKS_DEFAULT_TERMINAL_WIDTH = 120, DEBUG_MATCH_THRESHOLD_PERCENT = .1, USER_HOME_DIR = homedir(), XDG_CONFIG_DIR = xdgConfig ?? `${USER_HOME_DIR}/.config`, DEFAULT_CLAUDE_CODE_PATH = ".claude", DEFAULT_CLAUDE_CONFIG_PATH = `${XDG_CONFIG_DIR}/claude`, CLAUDE_CONFIG_DIR_ENV = "CLAUDE_CONFIG_DIR", PROJECT_ALIASES_ENV = "CCUSAGE_PROJECT_ALIASES", CLAUDE_PROJECTS_DIR_NAME = "projects", USAGE_DATA_GLOB_PATTERN = "**/*.jsonl", MCP_DEFAULT_PORT = 8080, DEFAULT_REFRESH_INTERVAL_SECONDS = 1, MIN_REFRESH_INTERVAL_SECONDS = 1, MAX_REFRESH_INTERVAL_SECONDS = 60, MIN_RENDER_INTERVAL_MS = 16, BURN_RATE_THRESHOLDS = {
96
+ const LITELLM_PRICING_URL = "https://raw.githubusercontent.com/BerriAI/litellm/main/model_prices_and_context_window.json", DEFAULT_RECENT_DAYS = 3, BLOCKS_WARNING_THRESHOLD = .8, BLOCKS_COMPACT_WIDTH_THRESHOLD = 120, BLOCKS_DEFAULT_TERMINAL_WIDTH = 120, DEBUG_MATCH_THRESHOLD_PERCENT = .1, USER_HOME_DIR = homedir(), XDG_CONFIG_DIR = xdgConfig ?? `${USER_HOME_DIR}/.config`, DEFAULT_CLAUDE_CODE_PATH = ".claude", DEFAULT_CLAUDE_CONFIG_PATH = `${XDG_CONFIG_DIR}/claude`, CLAUDE_CONFIG_DIR_ENV = "CLAUDE_CONFIG_DIR", CLAUDE_PROJECTS_DIR_NAME = "projects", USAGE_DATA_GLOB_PATTERN = "**/*.jsonl", MCP_DEFAULT_PORT = 8080, DEFAULT_REFRESH_INTERVAL_SECONDS = 1, MIN_REFRESH_INTERVAL_SECONDS = 1, MAX_REFRESH_INTERVAL_SECONDS = 60, MIN_RENDER_INTERVAL_MS = 16, BURN_RATE_THRESHOLDS = {
97
97
  HIGH: 1e3,
98
98
  MODERATE: 500
99
99
  }, DEFAULT_CONTEXT_USAGE_THRESHOLDS = {
@@ -399,4 +399,4 @@ var require_usingCtx = /* @__PURE__ */ __commonJSMin(((exports, module) => {
399
399
  return cost;
400
400
  }
401
401
  };
402
- export { BLOCKS_COMPACT_WIDTH_THRESHOLD, BLOCKS_DEFAULT_TERMINAL_WIDTH, BLOCKS_WARNING_THRESHOLD, BURN_RATE_THRESHOLDS, CLAUDE_CONFIG_DIR_ENV, CLAUDE_PROJECTS_DIR_NAME, CONFIG_FILE_NAME, CONTEXT_LOW_THRESHOLD_ENV, CONTEXT_MEDIUM_THRESHOLD_ENV, DEBUG_MATCH_THRESHOLD_PERCENT, DEFAULT_CLAUDE_CODE_PATH, DEFAULT_CLAUDE_CONFIG_PATH, DEFAULT_CONTEXT_USAGE_THRESHOLDS, DEFAULT_RECENT_DAYS, DEFAULT_REFRESH_INTERVAL_SECONDS, MAX_REFRESH_INTERVAL_SECONDS, MCP_DEFAULT_PORT, MIN_REFRESH_INTERVAL_SECONDS, MIN_RENDER_INTERVAL_MS, PROJECT_ALIASES_ENV, PricingFetcher, USAGE_DATA_GLOB_PATTERN, USER_HOME_DIR, WEEK_DAYS, __commonJSMin, __require, __toESM, inspect, inspectError, isFailure, isPromise, isSuccess, map, pipe, require_usingCtx, succeed, try_ };
402
+ export { BLOCKS_COMPACT_WIDTH_THRESHOLD, BLOCKS_DEFAULT_TERMINAL_WIDTH, BLOCKS_WARNING_THRESHOLD, BURN_RATE_THRESHOLDS, CLAUDE_CONFIG_DIR_ENV, CLAUDE_PROJECTS_DIR_NAME, CONFIG_FILE_NAME, CONTEXT_LOW_THRESHOLD_ENV, CONTEXT_MEDIUM_THRESHOLD_ENV, DEBUG_MATCH_THRESHOLD_PERCENT, DEFAULT_CLAUDE_CODE_PATH, DEFAULT_CLAUDE_CONFIG_PATH, DEFAULT_CONTEXT_USAGE_THRESHOLDS, DEFAULT_RECENT_DAYS, DEFAULT_REFRESH_INTERVAL_SECONDS, MAX_REFRESH_INTERVAL_SECONDS, MCP_DEFAULT_PORT, MIN_REFRESH_INTERVAL_SECONDS, MIN_RENDER_INTERVAL_MS, PricingFetcher, USAGE_DATA_GLOB_PATTERN, USER_HOME_DIR, WEEK_DAYS, __commonJSMin, __require, __toESM, inspect, inspectError, isFailure, isPromise, isSuccess, map, pipe, require_usingCtx, succeed, try_ };
@@ -1,4 +1,4 @@
1
- import { PricingFetcher } from "./pricing-fetcher-CUQk_dDN.js";
1
+ import { PricingFetcher } from "./pricing-fetcher-5FVKt1XA.js";
2
2
  import "./_types-BbEk8t2a.js";
3
- import "./logger-ClcgjXEW.js";
3
+ import "./logger-Cyk_YiBe.js";
4
4
  export { PricingFetcher };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccusage",
3
- "version": "16.0.0",
3
+ "version": "16.1.0",
4
4
  "description": "Usage analysis tool for Claude Code",
5
5
  "homepage": "https://github.com/ryoppippi/ccusage#readme",
6
6
  "bugs": {