@kaitranntt/ccs 5.13.0 → 5.14.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/VERSION +1 -1
- package/dist/ui/assets/{accounts-CINaiRWK.js → accounts-CTGj9Xoy.js} +1 -1
- package/dist/ui/assets/analytics-BAilRuX-.js +64 -0
- package/dist/ui/assets/{api-CgKbdMRy.js → api-D4gcZ85I.js} +1 -1
- package/dist/ui/assets/{cliproxy-BHWpNSSw.js → cliproxy-WthWDZC_.js} +1 -1
- package/dist/ui/assets/dropdown-menu-B3eFx_YP.js +1 -0
- package/dist/ui/assets/health-BzK4Dd4z.js +1 -0
- package/dist/ui/assets/icons-CLZywnx1.js +1 -0
- package/dist/ui/assets/index-2ZBa_Kkt.css +1 -0
- package/dist/ui/assets/index-CWyYvwwn.js +10 -0
- package/dist/ui/assets/{radix-ui-DAH8Vq_G.js → radix-ui-4P1Sa1Vh.js} +1 -1
- package/dist/ui/assets/{settings-DrNBNTwT.js → settings-DKL5mcjT.js} +1 -1
- package/dist/ui/assets/shared-xuI4eAiJ.js +1 -0
- package/dist/ui/assets/{table-C7tMF2ph.js → table-CxORHSk_.js} +1 -1
- package/dist/ui/assets/{tanstack-DAI1tKxf.js → tanstack-DcowkQHo.js} +1 -1
- package/dist/ui/index.html +5 -5
- package/dist/web-server/data-aggregator.d.ts +45 -0
- package/dist/web-server/data-aggregator.d.ts.map +1 -0
- package/dist/web-server/data-aggregator.js +305 -0
- package/dist/web-server/data-aggregator.js.map +1 -0
- package/dist/web-server/jsonl-parser.d.ts +68 -0
- package/dist/web-server/jsonl-parser.d.ts.map +1 -0
- package/dist/web-server/jsonl-parser.js +212 -0
- package/dist/web-server/jsonl-parser.js.map +1 -0
- package/dist/web-server/model-pricing.d.ts +42 -0
- package/dist/web-server/model-pricing.d.ts.map +1 -0
- package/dist/web-server/model-pricing.js +642 -0
- package/dist/web-server/model-pricing.js.map +1 -0
- package/dist/web-server/usage-disk-cache.d.ts +1 -2
- package/dist/web-server/usage-disk-cache.d.ts.map +1 -1
- package/dist/web-server/usage-disk-cache.js +2 -1
- package/dist/web-server/usage-disk-cache.js.map +1 -1
- package/dist/web-server/usage-routes.d.ts +1 -1
- package/dist/web-server/usage-routes.d.ts.map +1 -1
- package/dist/web-server/usage-routes.js +259 -46
- package/dist/web-server/usage-routes.js.map +1 -1
- package/dist/web-server/usage-types.d.ts +106 -0
- package/dist/web-server/usage-types.d.ts.map +1 -0
- package/dist/web-server/usage-types.js +9 -0
- package/dist/web-server/usage-types.js.map +1 -0
- package/package.json +1 -2
- package/dist/ui/assets/analytics-FGMB3Rg8.js +0 -64
- package/dist/ui/assets/dropdown-menu-B25I20Pd.js +0 -1
- package/dist/ui/assets/health-BVdxHbAV.js +0 -1
- package/dist/ui/assets/icons-DT8ZzQec.js +0 -1
- package/dist/ui/assets/index-CQlEaCI8.css +0 -1
- package/dist/ui/assets/index-CfJhTNCX.js +0 -10
- package/dist/ui/assets/shared-CsIcdSca.js +0 -1
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Usage Data Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for aggregated usage data.
|
|
5
|
+
* Compatible with better-ccusage interfaces for drop-in replacement.
|
|
6
|
+
*/
|
|
7
|
+
/** Per-model token and cost breakdown */
|
|
8
|
+
export interface ModelBreakdown {
|
|
9
|
+
modelName: string;
|
|
10
|
+
inputTokens: number;
|
|
11
|
+
outputTokens: number;
|
|
12
|
+
cacheCreationTokens: number;
|
|
13
|
+
cacheReadTokens: number;
|
|
14
|
+
cost: number;
|
|
15
|
+
}
|
|
16
|
+
/** Daily usage aggregation (YYYY-MM-DD) */
|
|
17
|
+
export interface DailyUsage {
|
|
18
|
+
date: string;
|
|
19
|
+
source: string;
|
|
20
|
+
inputTokens: number;
|
|
21
|
+
outputTokens: number;
|
|
22
|
+
cacheCreationTokens: number;
|
|
23
|
+
cacheReadTokens: number;
|
|
24
|
+
cost: number;
|
|
25
|
+
totalCost: number;
|
|
26
|
+
modelsUsed: string[];
|
|
27
|
+
modelBreakdowns: ModelBreakdown[];
|
|
28
|
+
}
|
|
29
|
+
/** Monthly usage aggregation (YYYY-MM) */
|
|
30
|
+
export interface MonthlyUsage {
|
|
31
|
+
month: string;
|
|
32
|
+
source: string;
|
|
33
|
+
inputTokens: number;
|
|
34
|
+
outputTokens: number;
|
|
35
|
+
cacheCreationTokens: number;
|
|
36
|
+
cacheReadTokens: number;
|
|
37
|
+
totalCost: number;
|
|
38
|
+
modelsUsed: string[];
|
|
39
|
+
modelBreakdowns: ModelBreakdown[];
|
|
40
|
+
}
|
|
41
|
+
/** Session-level usage aggregation */
|
|
42
|
+
export interface SessionUsage {
|
|
43
|
+
sessionId: string;
|
|
44
|
+
projectPath: string;
|
|
45
|
+
inputTokens: number;
|
|
46
|
+
outputTokens: number;
|
|
47
|
+
cacheCreationTokens: number;
|
|
48
|
+
cacheReadTokens: number;
|
|
49
|
+
cost: number;
|
|
50
|
+
totalCost: number;
|
|
51
|
+
lastActivity: string;
|
|
52
|
+
versions: string[];
|
|
53
|
+
modelsUsed: string[];
|
|
54
|
+
modelBreakdowns: ModelBreakdown[];
|
|
55
|
+
source: string;
|
|
56
|
+
}
|
|
57
|
+
/** Token category with count and cost */
|
|
58
|
+
export interface TokenCategoryCost {
|
|
59
|
+
tokens: number;
|
|
60
|
+
cost: number;
|
|
61
|
+
}
|
|
62
|
+
/** Breakdown of tokens by type with individual costs */
|
|
63
|
+
export interface TokenBreakdown {
|
|
64
|
+
input: TokenCategoryCost;
|
|
65
|
+
output: TokenCategoryCost;
|
|
66
|
+
cacheCreation: TokenCategoryCost;
|
|
67
|
+
cacheRead: TokenCategoryCost;
|
|
68
|
+
}
|
|
69
|
+
/** Anomaly types for usage pattern detection */
|
|
70
|
+
export type AnomalyType = 'high_input' | 'high_io_ratio' | 'cost_spike' | 'high_cache_read';
|
|
71
|
+
/** Single anomaly detection result */
|
|
72
|
+
export interface Anomaly {
|
|
73
|
+
date: string;
|
|
74
|
+
type: AnomalyType;
|
|
75
|
+
model?: string;
|
|
76
|
+
value: number;
|
|
77
|
+
threshold: number;
|
|
78
|
+
message: string;
|
|
79
|
+
}
|
|
80
|
+
/** Summary of all detected anomalies */
|
|
81
|
+
export interface AnomalySummary {
|
|
82
|
+
totalAnomalies: number;
|
|
83
|
+
highInputDays: number;
|
|
84
|
+
highIoRatioDays: number;
|
|
85
|
+
costSpikeDays: number;
|
|
86
|
+
highCacheReadDays: number;
|
|
87
|
+
}
|
|
88
|
+
/** Insights API response */
|
|
89
|
+
export interface UsageInsights {
|
|
90
|
+
anomalies: Anomaly[];
|
|
91
|
+
summary: AnomalySummary;
|
|
92
|
+
}
|
|
93
|
+
/** Extended model usage with cost breakdown */
|
|
94
|
+
export interface ExtendedModelUsage {
|
|
95
|
+
model: string;
|
|
96
|
+
inputTokens: number;
|
|
97
|
+
outputTokens: number;
|
|
98
|
+
cacheCreationTokens: number;
|
|
99
|
+
cacheReadTokens: number;
|
|
100
|
+
tokens: number;
|
|
101
|
+
cost: number;
|
|
102
|
+
percentage: number;
|
|
103
|
+
costBreakdown: TokenBreakdown;
|
|
104
|
+
ioRatio: number;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=usage-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-types.d.ts","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,yCAAyC;AACzC,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,EAAE,iBAAiB,CAAC;IACjC,SAAS,EAAE,iBAAiB,CAAC;CAC9B;AAED,gDAAgD;AAChD,MAAM,MAAM,WAAW,GACnB,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,iBAAiB,CAAC;AAEtB,sCAAsC;AACtC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,4BAA4B;AAC5B,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,+CAA+C;AAC/C,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Usage Data Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for aggregated usage data.
|
|
6
|
+
* Compatible with better-ccusage interfaces for drop-in replacement.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=usage-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-types.js","sourceRoot":"","sources":["../../src/web-server/usage-types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kaitranntt/ccs",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.14.0",
|
|
4
4
|
"description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -80,7 +80,6 @@
|
|
|
80
80
|
"postinstall": "node scripts/postinstall.js"
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
|
-
"better-ccusage": "^1.2.6",
|
|
84
83
|
"boxen": "^8.0.1",
|
|
85
84
|
"chalk": "^5.6.2",
|
|
86
85
|
"chokidar": "^5.0.0",
|