ccusage 0.4.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -1
- package/dist/arktype-C-GObzDh-Dj1DVoqC.js +5 -0
- package/dist/calculate-cost.d.ts +5 -5
- package/dist/calculate-cost.js +1 -1
- package/dist/core-BgFXUe_h.js +693 -0
- package/dist/{data-loader-B8mdiY5r.js → data-loader-CDv0IYZx.js} +59 -22
- package/dist/{data-loader-DtCt7sNl.d.ts → data-loader-aUOjeZ06.d.ts} +17 -6
- package/dist/data-loader.d.ts +5 -5
- package/dist/data-loader.js +5 -5
- package/dist/{debug-Oce2b5bO.js → debug-Dk36WQTw.js} +4 -4
- package/dist/debug.js +5 -5
- package/dist/dist-C_i5I27w.js +469 -0
- package/dist/{dist-D6rk8Ra5.js → dist-FwNhpFrW.js} +30 -1
- package/dist/effect-WSjEuzC9-BsxP11fz.js +10 -0
- package/dist/esm-vjyZjnpZ.js +1090 -0
- package/dist/index-CISmcbXk-BotItq1T.js +23 -0
- package/dist/index.js +171 -23
- package/dist/{logger-nCODI08N.js → logger-DhDyJEC5.js} +2 -2
- package/dist/logger.js +1 -1
- package/dist/mcp-G-TIOcuj.js +37580 -0
- package/dist/mcp.d.ts +15 -0
- package/dist/mcp.js +10 -0
- package/dist/{pricing-fetcher-bvi4lbXl.js → pricing-fetcher-BCv1Vods.js} +2 -2
- package/dist/{pricing-fetcher-BqlslEH3.d.ts → pricing-fetcher-DygIroMj.d.ts} +1 -1
- package/dist/pricing-fetcher.d.ts +2 -2
- package/dist/pricing-fetcher.js +3 -3
- package/dist/{shared-args-DWaGio0e.js → shared-args-BtMSktLn.js} +10 -3
- package/dist/shared-args.d.ts +14 -0
- package/dist/shared-args.js +6 -6
- package/dist/sury-DmrZ3_Oj-DhGOjCNc.js +10 -0
- package/dist/{types-DjlBTM5P.js → types-BcXIBMQk.js} +3 -2
- package/dist/types-CFnCBr2I.js +3586 -0
- package/dist/{types-BfZ5dOy7.d.ts → types-y1JQzaKZ.d.ts} +4 -2
- package/dist/types.d.ts +3 -3
- package/dist/types.js +3 -3
- package/dist/utils.js +1 -1
- package/dist/valibot-CQk-M5rL-Cq5E7F3g.js +10 -0
- package/dist/zod-Db63SLXj-BWdcigdx.js +30 -0
- package/package.json +2 -1
- /package/dist/{calculate-cost-BnufbprY.js → calculate-cost-2IwHSzmi.js} +0 -0
- /package/dist/{index-Bazt8Nfd.d.ts → index-BurjgCfW.d.ts} +0 -0
- /package/dist/{prompt-BwcIpzWm.js → prompt-IToGuko2.js} +0 -0
- /package/dist/{utils-BeihwpHn.js → utils-C7kg8MXN.js} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { array, number, object, optional, safeParse, string } from "./dist-
|
|
2
|
-
import { calculateCostFromTokens, fetchModelPricing, getModelPricing } from "./pricing-fetcher-
|
|
1
|
+
import { array, number, object, optional, pipe, regex, safeParse, string } from "./dist-FwNhpFrW.js";
|
|
2
|
+
import { calculateCostFromTokens, fetchModelPricing, getModelPricing } from "./pricing-fetcher-BCv1Vods.js";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
4
|
import { readFile } from "node:fs/promises";
|
|
5
5
|
import { homedir } from "node:os";
|
|
@@ -2110,9 +2110,9 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2110
2110
|
if (glob$1 === "" || typeof glob$1 !== "string" && !isState) throw new TypeError("Expected pattern to be a non-empty string");
|
|
2111
2111
|
const opts = options || {};
|
|
2112
2112
|
const posix$1 = opts.windows;
|
|
2113
|
-
const regex = isState ? picomatch$2.compileRe(glob$1, options) : picomatch$2.makeRe(glob$1, options, false, true);
|
|
2114
|
-
const state = regex.state;
|
|
2115
|
-
delete regex.state;
|
|
2113
|
+
const regex$1 = isState ? picomatch$2.compileRe(glob$1, options) : picomatch$2.makeRe(glob$1, options, false, true);
|
|
2114
|
+
const state = regex$1.state;
|
|
2115
|
+
delete regex$1.state;
|
|
2116
2116
|
let isIgnored = () => false;
|
|
2117
2117
|
if (opts.ignore) {
|
|
2118
2118
|
const ignoreOpts = {
|
|
@@ -2124,14 +2124,14 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2124
2124
|
isIgnored = picomatch$2(opts.ignore, ignoreOpts, returnState);
|
|
2125
2125
|
}
|
|
2126
2126
|
const matcher = (input, returnObject = false) => {
|
|
2127
|
-
const { isMatch, match, output } = picomatch$2.test(input, regex, options, {
|
|
2127
|
+
const { isMatch, match, output } = picomatch$2.test(input, regex$1, options, {
|
|
2128
2128
|
glob: glob$1,
|
|
2129
2129
|
posix: posix$1
|
|
2130
2130
|
});
|
|
2131
2131
|
const result = {
|
|
2132
2132
|
glob: glob$1,
|
|
2133
2133
|
state,
|
|
2134
|
-
regex,
|
|
2134
|
+
regex: regex$1,
|
|
2135
2135
|
posix: posix$1,
|
|
2136
2136
|
input,
|
|
2137
2137
|
output,
|
|
@@ -2170,7 +2170,7 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2170
2170
|
* @return {Object} Returns an object with matching info.
|
|
2171
2171
|
* @api public
|
|
2172
2172
|
*/
|
|
2173
|
-
picomatch$2.test = (input, regex, options, { glob: glob$1, posix: posix$1 } = {}) => {
|
|
2173
|
+
picomatch$2.test = (input, regex$1, options, { glob: glob$1, posix: posix$1 } = {}) => {
|
|
2174
2174
|
if (typeof input !== "string") throw new TypeError("Expected input to be a string");
|
|
2175
2175
|
if (input === "") return {
|
|
2176
2176
|
isMatch: false,
|
|
@@ -2184,8 +2184,8 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2184
2184
|
output = format ? format(input) : input;
|
|
2185
2185
|
match = output === glob$1;
|
|
2186
2186
|
}
|
|
2187
|
-
if (match === false || opts.capture === true) if (opts.matchBase === true || opts.basename === true) match = picomatch$2.matchBase(input, regex, options, posix$1);
|
|
2188
|
-
else match = regex.exec(output);
|
|
2187
|
+
if (match === false || opts.capture === true) if (opts.matchBase === true || opts.basename === true) match = picomatch$2.matchBase(input, regex$1, options, posix$1);
|
|
2188
|
+
else match = regex$1.exec(output);
|
|
2189
2189
|
return {
|
|
2190
2190
|
isMatch: Boolean(match),
|
|
2191
2191
|
match,
|
|
@@ -2206,8 +2206,8 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2206
2206
|
* @api public
|
|
2207
2207
|
*/
|
|
2208
2208
|
picomatch$2.matchBase = (input, glob$1, options) => {
|
|
2209
|
-
const regex = glob$1 instanceof RegExp ? glob$1 : picomatch$2.makeRe(glob$1, options);
|
|
2210
|
-
return regex.test(utils$1.basename(input));
|
|
2209
|
+
const regex$1 = glob$1 instanceof RegExp ? glob$1 : picomatch$2.makeRe(glob$1, options);
|
|
2210
|
+
return regex$1.test(utils$1.basename(input));
|
|
2211
2211
|
};
|
|
2212
2212
|
/**
|
|
2213
2213
|
* Returns true if **any** of the given glob `patterns` match the specified `string`.
|
|
@@ -2291,9 +2291,9 @@ var require_picomatch$1 = __commonJS({ "node_modules/picomatch/lib/picomatch.js"
|
|
|
2291
2291
|
const append = opts.contains ? "" : "$";
|
|
2292
2292
|
let source = `${prepend}(?:${state.output})${append}`;
|
|
2293
2293
|
if (state && state.negated === true) source = `^(?!${source}).*$`;
|
|
2294
|
-
const regex = picomatch$2.toRegex(source, options);
|
|
2295
|
-
if (returnState === true) regex.state = state;
|
|
2296
|
-
return regex;
|
|
2294
|
+
const regex$1 = picomatch$2.toRegex(source, options);
|
|
2295
|
+
if (returnState === true) regex$1.state = state;
|
|
2296
|
+
return regex$1;
|
|
2297
2297
|
};
|
|
2298
2298
|
/**
|
|
2299
2299
|
* Create a regular expression from a parsed glob pattern.
|
|
@@ -2573,14 +2573,14 @@ function getPartialMatcher(patterns, options) {
|
|
|
2573
2573
|
if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) return true;
|
|
2574
2574
|
for (let i = 0; i < patterns.length; i++) {
|
|
2575
2575
|
const patternParts = patternsParts[i];
|
|
2576
|
-
const regex = regexes[i];
|
|
2576
|
+
const regex$1 = regexes[i];
|
|
2577
2577
|
const inputPatternCount = inputParts.length;
|
|
2578
2578
|
const minParts = Math.min(inputPatternCount, patternParts.length);
|
|
2579
2579
|
let j = 0;
|
|
2580
2580
|
while (j < minParts) {
|
|
2581
2581
|
const part = patternParts[j];
|
|
2582
2582
|
if (part.includes("/")) return true;
|
|
2583
|
-
const match = regex[j].test(inputParts[j]);
|
|
2583
|
+
const match = regex$1[j].test(inputParts[j]);
|
|
2584
2584
|
if (!match) break;
|
|
2585
2585
|
if (part === "**") return true;
|
|
2586
2586
|
j++;
|
|
@@ -2786,7 +2786,7 @@ const UsageDataSchema = object({
|
|
|
2786
2786
|
costUSD: optional(number())
|
|
2787
2787
|
});
|
|
2788
2788
|
const DailyUsageSchema = object({
|
|
2789
|
-
date: string(),
|
|
2789
|
+
date: pipe(string(), regex(/^\d{4}-\d{2}-\d{2}$/)),
|
|
2790
2790
|
inputTokens: number(),
|
|
2791
2791
|
outputTokens: number(),
|
|
2792
2792
|
cacheCreationTokens: number(),
|
|
@@ -2804,6 +2804,14 @@ const SessionUsageSchema = object({
|
|
|
2804
2804
|
lastActivity: string(),
|
|
2805
2805
|
versions: array(string())
|
|
2806
2806
|
});
|
|
2807
|
+
const MonthlyUsageSchema = object({
|
|
2808
|
+
month: pipe(string(), regex(/^\d{4}-\d{2}$/)),
|
|
2809
|
+
inputTokens: number(),
|
|
2810
|
+
outputTokens: number(),
|
|
2811
|
+
cacheCreationTokens: number(),
|
|
2812
|
+
cacheReadTokens: number(),
|
|
2813
|
+
totalCost: number()
|
|
2814
|
+
});
|
|
2807
2815
|
const formatDate = (dateStr) => {
|
|
2808
2816
|
const date = new Date(dateStr);
|
|
2809
2817
|
const year = date.getFullYear();
|
|
@@ -2827,7 +2835,7 @@ const calculateCostForEntry = (data, mode, modelPricing) => {
|
|
|
2827
2835
|
}
|
|
2828
2836
|
return 0;
|
|
2829
2837
|
};
|
|
2830
|
-
async function
|
|
2838
|
+
async function loadDailyUsageData(options) {
|
|
2831
2839
|
const claudePath = options?.claudePath ?? getDefaultClaudePath();
|
|
2832
2840
|
const claudeDir = path.join(claudePath, "projects");
|
|
2833
2841
|
const files = await glob(["**/*.jsonl"], {
|
|
@@ -2871,7 +2879,9 @@ async function loadUsageData(options) {
|
|
|
2871
2879
|
if (options.until && dateStr > options.until) return false;
|
|
2872
2880
|
return true;
|
|
2873
2881
|
});
|
|
2874
|
-
|
|
2882
|
+
const sortOrder = options?.order || "desc";
|
|
2883
|
+
const sortedResults = sort(results);
|
|
2884
|
+
return sortOrder === "desc" ? sortedResults.desc((item) => new Date(item.date).getTime()) : sortedResults.asc((item) => new Date(item.date).getTime());
|
|
2875
2885
|
}
|
|
2876
2886
|
async function loadSessionData(options) {
|
|
2877
2887
|
const claudePath = options?.claudePath ?? getDefaultClaudePath();
|
|
@@ -2937,8 +2947,35 @@ async function loadSessionData(options) {
|
|
|
2937
2947
|
if (options.until && dateStr > options.until) return false;
|
|
2938
2948
|
return true;
|
|
2939
2949
|
});
|
|
2940
|
-
|
|
2950
|
+
const sortOrder = options?.order || "desc";
|
|
2951
|
+
const sortedResults = sort(results);
|
|
2952
|
+
return sortOrder === "desc" ? sortedResults.desc((item) => new Date(item.lastActivity).getTime()) : sortedResults.asc((item) => new Date(item.lastActivity).getTime());
|
|
2953
|
+
}
|
|
2954
|
+
async function loadMonthlyUsageData(options) {
|
|
2955
|
+
const dailyData = await loadDailyUsageData(options);
|
|
2956
|
+
const monthlyMap = new Map();
|
|
2957
|
+
for (const data of dailyData) {
|
|
2958
|
+
const month = data.date.substring(0, 7);
|
|
2959
|
+
const existing = monthlyMap.get(month) || {
|
|
2960
|
+
month,
|
|
2961
|
+
inputTokens: 0,
|
|
2962
|
+
outputTokens: 0,
|
|
2963
|
+
cacheCreationTokens: 0,
|
|
2964
|
+
cacheReadTokens: 0,
|
|
2965
|
+
totalCost: 0
|
|
2966
|
+
};
|
|
2967
|
+
existing.inputTokens += data.inputTokens;
|
|
2968
|
+
existing.outputTokens += data.outputTokens;
|
|
2969
|
+
existing.cacheCreationTokens += data.cacheCreationTokens;
|
|
2970
|
+
existing.cacheReadTokens += data.cacheReadTokens;
|
|
2971
|
+
existing.totalCost += data.totalCost;
|
|
2972
|
+
monthlyMap.set(month, existing);
|
|
2973
|
+
}
|
|
2974
|
+
const monthlyArray = Array.from(monthlyMap.values());
|
|
2975
|
+
const sortOrder = options?.order || "desc";
|
|
2976
|
+
const sortedMonthly = sort(monthlyArray);
|
|
2977
|
+
return sortOrder === "desc" ? sortedMonthly.desc((item) => item.month) : sortedMonthly.asc((item) => item.month);
|
|
2941
2978
|
}
|
|
2942
2979
|
|
|
2943
2980
|
//#endregion
|
|
2944
|
-
export { DailyUsageSchema, SessionUsageSchema, UsageDataSchema, __commonJS, __require, __toESM, calculateCostForEntry, formatDate, getDefaultClaudePath, glob,
|
|
2981
|
+
export { DailyUsageSchema, MonthlyUsageSchema, SessionUsageSchema, UsageDataSchema, __commonJS, __require, __toESM, calculateCostForEntry, formatDate, getDefaultClaudePath, glob, loadDailyUsageData, loadMonthlyUsageData, loadSessionData };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ArraySchema, InferOutput, NumberSchema, ObjectSchema, OptionalSchema, StringSchema } from "./index-
|
|
2
|
-
import { ModelPricing } from "./pricing-fetcher-
|
|
3
|
-
import { CostMode } from "./types-
|
|
1
|
+
import { ArraySchema, InferOutput, NumberSchema, ObjectSchema, OptionalSchema, RegexAction, SchemaWithPipe, StringSchema } from "./index-BurjgCfW.js";
|
|
2
|
+
import { ModelPricing } from "./pricing-fetcher-DygIroMj.js";
|
|
3
|
+
import { CostMode, SortOrder } from "./types-y1JQzaKZ.js";
|
|
4
4
|
|
|
5
5
|
//#region src/data-loader.d.ts
|
|
6
6
|
declare const getDefaultClaudePath: () => string;
|
|
@@ -20,7 +20,7 @@ declare const UsageDataSchema: ObjectSchema<{
|
|
|
20
20
|
}, undefined>;
|
|
21
21
|
type UsageData = InferOutput<typeof UsageDataSchema>;
|
|
22
22
|
declare const DailyUsageSchema: ObjectSchema<{
|
|
23
|
-
readonly date: StringSchema<undefined>;
|
|
23
|
+
readonly date: SchemaWithPipe<readonly [StringSchema<undefined>, RegexAction<string, undefined>]>;
|
|
24
24
|
readonly inputTokens: NumberSchema<undefined>;
|
|
25
25
|
readonly outputTokens: NumberSchema<undefined>;
|
|
26
26
|
readonly cacheCreationTokens: NumberSchema<undefined>;
|
|
@@ -40,6 +40,15 @@ declare const SessionUsageSchema: ObjectSchema<{
|
|
|
40
40
|
readonly versions: ArraySchema<StringSchema<undefined>, undefined>;
|
|
41
41
|
}, undefined>;
|
|
42
42
|
type SessionUsage = InferOutput<typeof SessionUsageSchema>;
|
|
43
|
+
declare const MonthlyUsageSchema: ObjectSchema<{
|
|
44
|
+
readonly month: SchemaWithPipe<readonly [StringSchema<undefined>, RegexAction<string, undefined>]>;
|
|
45
|
+
readonly inputTokens: NumberSchema<undefined>;
|
|
46
|
+
readonly outputTokens: NumberSchema<undefined>;
|
|
47
|
+
readonly cacheCreationTokens: NumberSchema<undefined>;
|
|
48
|
+
readonly cacheReadTokens: NumberSchema<undefined>;
|
|
49
|
+
readonly totalCost: NumberSchema<undefined>;
|
|
50
|
+
}, undefined>;
|
|
51
|
+
type MonthlyUsage = InferOutput<typeof MonthlyUsageSchema>;
|
|
43
52
|
declare const formatDate: (dateStr: string) => string;
|
|
44
53
|
declare const calculateCostForEntry: (data: UsageData, mode: CostMode, modelPricing: Record<string, ModelPricing>) => number;
|
|
45
54
|
interface DateFilter {
|
|
@@ -49,8 +58,10 @@ interface DateFilter {
|
|
|
49
58
|
interface LoadOptions extends DateFilter {
|
|
50
59
|
claudePath?: string;
|
|
51
60
|
mode?: CostMode;
|
|
61
|
+
order?: SortOrder;
|
|
52
62
|
}
|
|
53
|
-
declare function
|
|
63
|
+
declare function loadDailyUsageData(options?: LoadOptions): Promise<DailyUsage[]>;
|
|
54
64
|
declare function loadSessionData(options?: LoadOptions): Promise<SessionUsage[]>;
|
|
65
|
+
declare function loadMonthlyUsageData(options?: LoadOptions): Promise<MonthlyUsage[]>;
|
|
55
66
|
//#endregion
|
|
56
|
-
export { DailyUsage, DailyUsageSchema as DailyUsageSchema$1, DateFilter, LoadOptions, SessionUsage, SessionUsageSchema as SessionUsageSchema$1, UsageData, UsageDataSchema as UsageDataSchema$1, calculateCostForEntry as calculateCostForEntry$1, formatDate as formatDate$1, getDefaultClaudePath as getDefaultClaudePath$1,
|
|
67
|
+
export { DailyUsage, DailyUsageSchema as DailyUsageSchema$1, DateFilter, LoadOptions, MonthlyUsage, MonthlyUsageSchema as MonthlyUsageSchema$1, SessionUsage, SessionUsageSchema as SessionUsageSchema$1, UsageData, UsageDataSchema as UsageDataSchema$1, calculateCostForEntry as calculateCostForEntry$1, formatDate as formatDate$1, getDefaultClaudePath as getDefaultClaudePath$1, loadDailyUsageData as loadDailyUsageData$1, loadMonthlyUsageData as loadMonthlyUsageData$1, loadSessionData as loadSessionData$1 };
|
package/dist/data-loader.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./index-
|
|
2
|
-
import "./pricing-fetcher-
|
|
3
|
-
import "./types-
|
|
4
|
-
import { DailyUsage, DailyUsageSchema$1 as DailyUsageSchema, DateFilter, LoadOptions, SessionUsage, SessionUsageSchema$1 as SessionUsageSchema, UsageData, UsageDataSchema$1 as UsageDataSchema, calculateCostForEntry$1 as calculateCostForEntry, formatDate$1 as formatDate, getDefaultClaudePath$1 as getDefaultClaudePath,
|
|
5
|
-
export { DailyUsage, DailyUsageSchema, DateFilter, LoadOptions, SessionUsage, SessionUsageSchema, UsageData, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath,
|
|
1
|
+
import "./index-BurjgCfW.js";
|
|
2
|
+
import "./pricing-fetcher-DygIroMj.js";
|
|
3
|
+
import "./types-y1JQzaKZ.js";
|
|
4
|
+
import { DailyUsage, DailyUsageSchema$1 as DailyUsageSchema, DateFilter, LoadOptions, MonthlyUsage, MonthlyUsageSchema$1 as MonthlyUsageSchema, SessionUsage, SessionUsageSchema$1 as SessionUsageSchema, UsageData, UsageDataSchema$1 as UsageDataSchema, calculateCostForEntry$1 as calculateCostForEntry, formatDate$1 as formatDate, getDefaultClaudePath$1 as getDefaultClaudePath, loadDailyUsageData$1 as loadDailyUsageData, loadMonthlyUsageData$1 as loadMonthlyUsageData, loadSessionData$1 as loadSessionData } from "./data-loader-aUOjeZ06.js";
|
|
5
|
+
export { DailyUsage, DailyUsageSchema, DateFilter, LoadOptions, MonthlyUsage, MonthlyUsageSchema, SessionUsage, SessionUsageSchema, UsageData, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath, loadDailyUsageData, loadMonthlyUsageData, loadSessionData };
|
package/dist/data-loader.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DailyUsageSchema, SessionUsageSchema, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath,
|
|
2
|
-
import "./dist-
|
|
3
|
-
import "./logger-
|
|
4
|
-
import "./pricing-fetcher-
|
|
1
|
+
import { DailyUsageSchema, MonthlyUsageSchema, SessionUsageSchema, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath, loadDailyUsageData, loadMonthlyUsageData, loadSessionData } from "./data-loader-CDv0IYZx.js";
|
|
2
|
+
import "./dist-FwNhpFrW.js";
|
|
3
|
+
import "./logger-DhDyJEC5.js";
|
|
4
|
+
import "./pricing-fetcher-BCv1Vods.js";
|
|
5
5
|
|
|
6
|
-
export { DailyUsageSchema, SessionUsageSchema, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath,
|
|
6
|
+
export { DailyUsageSchema, MonthlyUsageSchema, SessionUsageSchema, UsageDataSchema, calculateCostForEntry, formatDate, getDefaultClaudePath, loadDailyUsageData, loadMonthlyUsageData, loadSessionData };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { UsageDataSchema, glob } from "./data-loader-
|
|
2
|
-
import { safeParse } from "./dist-
|
|
3
|
-
import { logger } from "./logger-
|
|
4
|
-
import { calculateCostFromTokens, fetchModelPricing, getModelPricing } from "./pricing-fetcher-
|
|
1
|
+
import { UsageDataSchema, glob } from "./data-loader-CDv0IYZx.js";
|
|
2
|
+
import { safeParse } from "./dist-FwNhpFrW.js";
|
|
3
|
+
import { logger } from "./logger-DhDyJEC5.js";
|
|
4
|
+
import { calculateCostFromTokens, fetchModelPricing, getModelPricing } from "./pricing-fetcher-BCv1Vods.js";
|
|
5
5
|
import { readFile } from "node:fs/promises";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
7
|
import path from "node:path";
|
package/dist/debug.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./data-loader-
|
|
2
|
-
import "./dist-
|
|
3
|
-
import "./logger-
|
|
4
|
-
import "./pricing-fetcher-
|
|
5
|
-
import { detectMismatches, printMismatchReport } from "./debug-
|
|
1
|
+
import "./data-loader-CDv0IYZx.js";
|
|
2
|
+
import "./dist-FwNhpFrW.js";
|
|
3
|
+
import "./logger-DhDyJEC5.js";
|
|
4
|
+
import "./pricing-fetcher-BCv1Vods.js";
|
|
5
|
+
import { detectMismatches, printMismatchReport } from "./debug-Dk36WQTw.js";
|
|
6
6
|
|
|
7
7
|
export { detectMismatches, printMismatchReport };
|