ccusage 16.1.0 → 16.1.2

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.
@@ -663,18 +663,6 @@
663
663
  "description": "Session block duration in hours (default: 5)",
664
664
  "markdownDescription": "Session block duration in hours (default: 5)",
665
665
  "default": 5
666
- },
667
- "live": {
668
- "type": "boolean",
669
- "description": "Live monitoring mode with real-time updates",
670
- "markdownDescription": "Live monitoring mode with real-time updates",
671
- "default": false
672
- },
673
- "refreshInterval": {
674
- "type": "number",
675
- "description": "Refresh interval in seconds for live mode (default: 1)",
676
- "markdownDescription": "Refresh interval in seconds for live mode (default: 1)",
677
- "default": 1
678
666
  }
679
667
  },
680
668
  "additionalProperties": false
@@ -733,6 +721,18 @@
733
721
  "markdownDescription": "Controls the visualization of the burn rate status",
734
722
  "default": "off"
735
723
  },
724
+ "costSource": {
725
+ "type": "string",
726
+ "enum": [
727
+ "auto",
728
+ "ccusage",
729
+ "cc",
730
+ "both"
731
+ ],
732
+ "description": "Session cost source: auto (prefer CC then ccusage), ccusage (always calculate), cc (always use Claude Code cost), both (show both costs)",
733
+ "markdownDescription": "Session cost source: auto (prefer CC then ccusage), ccusage (always calculate), cc (always use Claude Code cost), both (show both costs)",
734
+ "default": "auto"
735
+ },
736
736
  "cache": {
737
737
  "type": "boolean",
738
738
  "description": "Enable cache for status line output (default: true)",
@@ -3043,6 +3043,13 @@ const CostModes = [
3043
3043
  current_dir: stringType(),
3044
3044
  project_dir: stringType()
3045
3045
  }),
3046
- version: stringType().optional()
3046
+ version: stringType().optional(),
3047
+ cost: objectType({
3048
+ total_cost_usd: numberType(),
3049
+ total_duration_ms: numberType().optional(),
3050
+ total_api_duration_ms: numberType().optional(),
3051
+ total_lines_added: numberType().optional(),
3052
+ total_lines_removed: numberType().optional()
3053
+ }).optional()
3047
3054
  });
3048
3055
  export { CostModes, SortOrders, ZodFirstPartyTypeKind, ZodOptional, ZodType, activityDateSchema, arrayType, booleanType, createBucket, createDailyDate, createMonthlyDate, createProjectPath, createSessionId, createWeeklyDate, dailyDateSchema, discriminatedUnionType, enumType, filterDateSchema, isoTimestampSchema, literalType, messageIdSchema, modelNameSchema, modelPricingSchema, monthlyDateSchema, numberType, objectType, optionalType, projectPathSchema, recordType, requestIdSchema, sessionIdSchema, statuslineHookJsonSchema, stringType, unionType, unknownType, versionSchema, weeklyDateSchema };
@@ -1,4 +1,4 @@
1
1
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
2
- import "./_types-BbEk8t2a.js";
2
+ import "./_types-BXB_jFi9.js";
3
3
  import { calculateTotals, createTotalsObject } from "./calculate-cost-BDqO4yWA.js";
4
4
  export { calculateTotals, createTotalsObject, getTotalTokens };
@@ -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-5FVKt1XA.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-BrJoueZ1.js";
2
2
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
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-Cyk_YiBe.js";
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-BXB_jFi9.js";
4
+ import { logger } from "./logger-vSpPcCiQ.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-5FVKt1XA.js";
1
+ import "./pricing-fetcher-BrJoueZ1.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
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-D9y22SrV.js";
5
- import "./logger-Cyk_YiBe.js";
3
+ import "./_types-BXB_jFi9.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-DUaYLdYR.js";
5
+ import "./logger-vSpPcCiQ.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-5FVKt1XA.js";
2
- import { getClaudePaths, glob, unwrap, usageDataSchema } from "./data-loader-D9y22SrV.js";
3
- import { logger } from "./logger-Cyk_YiBe.js";
1
+ import { CLAUDE_PROJECTS_DIR_NAME, DEBUG_MATCH_THRESHOLD_PERCENT, PricingFetcher, USAGE_DATA_GLOB_PATTERN, __toESM, isFailure, require_usingCtx, try_ } from "./pricing-fetcher-BrJoueZ1.js";
2
+ import { getClaudePaths, glob, unwrap, usageDataSchema } from "./data-loader-DUaYLdYR.js";
3
+ import { logger } from "./logger-vSpPcCiQ.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-5FVKt1XA.js";
1
+ import "./pricing-fetcher-BrJoueZ1.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
3
- import "./_types-BbEk8t2a.js";
4
- import "./data-loader-D9y22SrV.js";
5
- import "./logger-Cyk_YiBe.js";
6
- import { detectMismatches, printMismatchReport } from "./debug-CSXph9NF.js";
3
+ import "./_types-BXB_jFi9.js";
4
+ import "./data-loader-DUaYLdYR.js";
5
+ import "./logger-vSpPcCiQ.js";
6
+ import { detectMismatches, printMismatchReport } from "./debug-hX9iI1FE.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, PricingFetcher, WEEK_DAYS, __commonJSMin, __require, __toESM, inspect, inspectError, isFailure, isSuccess, map, pipe, require_usingCtx, succeed, try_ } from "./pricing-fetcher-5FVKt1XA.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-BrJoueZ1.js";
3
3
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
4
- import { CostModes, SortOrders, filterDateSchema, statuslineHookJsonSchema } from "./_types-BbEk8t2a.js";
4
+ import { CostModes, SortOrders, filterDateSchema, statuslineHookJsonSchema } from "./_types-BXB_jFi9.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-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";
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-DUaYLdYR.js";
7
+ import { description, log, logger, name, version } from "./logger-vSpPcCiQ.js";
8
+ import { detectMismatches, printMismatchReport } from "./debug-hX9iI1FE.js";
9
+ import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-D343KJOh.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";
@@ -5214,6 +5214,11 @@ const visualBurnRateChoices = [
5214
5214
  "emoji",
5215
5215
  "text",
5216
5216
  "emoji-text"
5217
+ ], costSourceChoices = [
5218
+ "auto",
5219
+ "ccusage",
5220
+ "cc",
5221
+ "both"
5217
5222
  ], statuslineCommand = define({
5218
5223
  name: "statusline",
5219
5224
  description: "Display compact status line for Claude Code hooks with hybrid time+file caching (Beta)",
@@ -5232,6 +5237,14 @@ const visualBurnRateChoices = [
5232
5237
  negatable: false,
5233
5238
  toKebab: true
5234
5239
  },
5240
+ costSource: {
5241
+ type: "enum",
5242
+ choices: costSourceChoices,
5243
+ description: "Session cost source: auto (prefer CC then ccusage), ccusage (always calculate), cc (always use Claude Code cost), both (show both costs)",
5244
+ default: "auto",
5245
+ negatable: false,
5246
+ toKebab: true
5247
+ },
5235
5248
  cache: {
5236
5249
  type: "boolean",
5237
5250
  description: "Enable cache for status line output (default: true)",
@@ -5299,33 +5312,55 @@ const visualBurnRateChoices = [
5299
5312
  }
5300
5313
  const mainProcessingResult = pipe(await try_({
5301
5314
  try: async () => {
5302
- const sessionCost = await pipe(try_({
5303
- try: loadSessionUsageById(sessionId, {
5304
- mode: "auto",
5305
- offline: mergedOptions.offline
5306
- }),
5307
- catch: (error) => error
5308
- }), map((sessionCost$1) => sessionCost$1?.totalCost), inspectError((error) => logger.error("Failed to load session data:", error)), unwrap(void 0)), today = /* @__PURE__ */ new Date(), todayStr = today.toISOString().split("T")[0]?.replace(/-/g, "") ?? "", todayCost = await pipe(try_({
5309
- try: loadDailyUsageData({
5315
+ const { sessionCost, ccCost, ccusageCost } = await (async () => {
5316
+ const costSource = ctx.values.costSource, getCcusageCost = async () => {
5317
+ return pipe(try_({
5318
+ try: async () => loadSessionUsageById(sessionId, {
5319
+ mode: "auto",
5320
+ offline: mergedOptions.offline
5321
+ }),
5322
+ catch: (error) => error
5323
+ })(), map((sessionCost$1) => sessionCost$1?.totalCost), inspectError((error) => logger.error("Failed to load session data:", error)), unwrap(void 0));
5324
+ };
5325
+ if (costSource === "both") {
5326
+ const ccCost$1 = hookData.cost?.total_cost_usd, ccusageCost$1 = await getCcusageCost();
5327
+ return {
5328
+ ccCost: ccCost$1,
5329
+ ccusageCost: ccusageCost$1
5330
+ };
5331
+ }
5332
+ if (costSource === "cc") return { sessionCost: hookData.cost?.total_cost_usd };
5333
+ if (costSource === "ccusage") {
5334
+ const cost = await getCcusageCost();
5335
+ return { sessionCost: cost };
5336
+ }
5337
+ if (costSource === "auto") {
5338
+ if (hookData.cost?.total_cost_usd != null) return { sessionCost: hookData.cost.total_cost_usd };
5339
+ const cost = await getCcusageCost();
5340
+ return { sessionCost: cost };
5341
+ }
5342
+ return {};
5343
+ })(), today = /* @__PURE__ */ new Date(), todayStr = today.toISOString().split("T")[0]?.replace(/-/g, "") ?? "", todayCost = await pipe(try_({
5344
+ try: async () => loadDailyUsageData({
5310
5345
  since: todayStr,
5311
5346
  until: todayStr,
5312
5347
  mode: "auto",
5313
5348
  offline: mergedOptions.offline
5314
5349
  }),
5315
5350
  catch: (error) => error
5316
- }), map((dailyData) => {
5351
+ })(), map((dailyData) => {
5317
5352
  if (dailyData.length > 0) {
5318
5353
  const totals = calculateTotals(dailyData);
5319
5354
  return totals.totalCost;
5320
5355
  }
5321
5356
  return 0;
5322
5357
  }), inspectError((error) => logger.error("Failed to load daily data:", error)), unwrap(0)), { blockInfo, burnRateInfo } = await pipe(try_({
5323
- try: loadSessionBlockData({
5358
+ try: async () => loadSessionBlockData({
5324
5359
  mode: "auto",
5325
5360
  offline: mergedOptions.offline
5326
5361
  }),
5327
5362
  catch: (error) => error
5328
- }), map((blocks) => {
5363
+ })(), map((blocks) => {
5329
5364
  if (blocks.length === 0) return {
5330
5365
  blockInfo: "No active block",
5331
5366
  burnRateInfo: ""
@@ -5375,7 +5410,13 @@ const visualBurnRateChoices = [
5375
5410
  if (ctx$1 == null) return void 0;
5376
5411
  const thresholds = getContextUsageThresholds(), color = ctx$1.percentage < thresholds.LOW ? import_picocolors$1.default.green : ctx$1.percentage < thresholds.MEDIUM ? import_picocolors$1.default.yellow : import_picocolors$1.default.red, coloredPercentage = color(`${ctx$1.percentage}%`), tokenDisplay = ctx$1.inputTokens.toLocaleString();
5377
5412
  return `${tokenDisplay} (${coloredPercentage})`;
5378
- }), unwrap(void 0)), modelName = hookData.model.display_name, sessionDisplay = sessionCost != null ? formatCurrency(sessionCost) : "N/A", statusLine = `🤖 ${modelName} | 💰 ${sessionDisplay} session / ${formatCurrency(todayCost)} today / ${blockInfo}${burnRateInfo} | 🧠 ${contextInfo ?? "N/A"}`;
5413
+ }), unwrap(void 0)), modelName = hookData.model.display_name, sessionDisplay = (() => {
5414
+ if (ccCost != null || ccusageCost != null) {
5415
+ const ccDisplay = ccCost != null ? formatCurrency(ccCost) : "N/A", ccusageDisplay = ccusageCost != null ? formatCurrency(ccusageCost) : "N/A";
5416
+ return `(${ccDisplay} cc / ${ccusageDisplay} ccusage)`;
5417
+ }
5418
+ return sessionCost != null ? formatCurrency(sessionCost) : "N/A";
5419
+ })(), statusLine = `🤖 ${modelName} | 💰 ${sessionDisplay} session / ${formatCurrency(todayCost)} today / ${blockInfo}${burnRateInfo} | 🧠 ${contextInfo ?? "N/A"}`;
5379
5420
  return statusLine;
5380
5421
  },
5381
5422
  catch: (error) => error
@@ -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.1.0", description = "Usage analysis tool for Claude Code";
764
+ var name = "ccusage", version = "16.1.2", 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-Cyk_YiBe.js";
1
+ import { log, logger } from "./logger-vSpPcCiQ.js";
2
2
  export { log, logger };
@@ -1,9 +1,9 @@
1
- import { __commonJSMin, __toESM, require_usingCtx } from "./pricing-fetcher-5FVKt1XA.js";
1
+ import { __commonJSMin, __toESM, require_usingCtx } from "./pricing-fetcher-BrJoueZ1.js";
2
2
  import { getTotalTokens } from "./_token-utils-WjkbrjKv.js";
3
- import { ZodFirstPartyTypeKind, ZodOptional, ZodType, arrayType, booleanType, discriminatedUnionType, enumType, filterDateSchema, literalType, numberType, objectType, optionalType, recordType, stringType, unionType, unknownType } from "./_types-BbEk8t2a.js";
3
+ import { ZodFirstPartyTypeKind, ZodOptional, ZodType, arrayType, booleanType, discriminatedUnionType, enumType, filterDateSchema, literalType, numberType, objectType, optionalType, recordType, stringType, unionType, unknownType } from "./_types-BXB_jFi9.js";
4
4
  import { calculateTotals, createTotalsObject } from "./calculate-cost-BDqO4yWA.js";
5
- import { getClaudePaths, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData } from "./data-loader-D9y22SrV.js";
6
- import { name, version } from "./logger-Cyk_YiBe.js";
5
+ import { getClaudePaths, loadDailyUsageData, loadMonthlyUsageData, loadSessionBlockData, loadSessionData } from "./data-loader-DUaYLdYR.js";
6
+ import { name, version } from "./logger-vSpPcCiQ.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-5FVKt1XA.js";
1
+ import "./pricing-fetcher-BrJoueZ1.js";
2
2
  import "./_token-utils-WjkbrjKv.js";
3
- import "./_types-BbEk8t2a.js";
3
+ import "./_types-BXB_jFi9.js";
4
4
  import "./calculate-cost-BDqO4yWA.js";
5
- import "./data-loader-D9y22SrV.js";
6
- import "./logger-Cyk_YiBe.js";
7
- import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-DRjw50Q4.js";
5
+ import "./data-loader-DUaYLdYR.js";
6
+ import "./logger-vSpPcCiQ.js";
7
+ import { createMcpHttpApp, createMcpServer, startMcpServerStdio } from "./mcp-D343KJOh.js";
8
8
  export { createMcpHttpApp, createMcpServer, startMcpServerStdio };
@@ -1,5 +1,5 @@
1
- import { modelPricingSchema } from "./_types-BbEk8t2a.js";
2
- import { logger } from "./logger-Cyk_YiBe.js";
1
+ import { modelPricingSchema } from "./_types-BXB_jFi9.js";
2
+ import { logger } from "./logger-vSpPcCiQ.js";
3
3
  import { createRequire } from "node:module";
4
4
  import path from "node:path";
5
5
  import F, { homedir } from "node:os";
@@ -292,9 +292,9 @@ var require_usingCtx = /* @__PURE__ */ __commonJSMin(((exports, module) => {
292
292
  "output_cost_per_token": 15e-6,
293
293
  "cache_creation_input_token_cost": 375e-8,
294
294
  "cache_read_input_token_cost": 3e-7,
295
- "max_tokens": 64e3,
296
- "max_input_tokens": 2e5,
297
- "max_output_tokens": 64e3
295
+ "max_tokens": 1e6,
296
+ "max_input_tokens": 1e6,
297
+ "max_output_tokens": 1e6
298
298
  },
299
299
  "claude-3-7-sonnet-latest": {
300
300
  "input_cost_per_token": 3e-6,
@@ -1,4 +1,4 @@
1
- import { PricingFetcher } from "./pricing-fetcher-5FVKt1XA.js";
2
- import "./_types-BbEk8t2a.js";
3
- import "./logger-Cyk_YiBe.js";
1
+ import { PricingFetcher } from "./pricing-fetcher-BrJoueZ1.js";
2
+ import "./_types-BXB_jFi9.js";
3
+ import "./logger-vSpPcCiQ.js";
4
4
  export { PricingFetcher };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccusage",
3
- "version": "16.1.0",
3
+ "version": "16.1.2",
4
4
  "description": "Usage analysis tool for Claude Code",
5
5
  "homepage": "https://github.com/ryoppippi/ccusage#readme",
6
6
  "bugs": {