@zhangferry-dev/tokendash 1.0.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/LICENSE +21 -0
- package/README.md +90 -0
- package/dist/client/assets/index-C9UxEhwo.css +1 -0
- package/dist/client/assets/index-DOeZtR1c.js +121 -0
- package/dist/client/index.html +15 -0
- package/dist/server/cache.d.ts +14 -0
- package/dist/server/cache.js +40 -0
- package/dist/server/ccusage.d.ts +3 -0
- package/dist/server/ccusage.js +57 -0
- package/dist/server/codexNormalizer.d.ts +4 -0
- package/dist/server/codexNormalizer.js +50 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +85 -0
- package/dist/server/routes/api.d.ts +2 -0
- package/dist/server/routes/api.js +12 -0
- package/dist/server/routes/blocks.d.ts +2 -0
- package/dist/server/routes/blocks.js +32 -0
- package/dist/server/routes/daily.d.ts +2 -0
- package/dist/server/routes/daily.js +37 -0
- package/dist/server/routes/monthly.d.ts +2 -0
- package/dist/server/routes/monthly.js +25 -0
- package/dist/server/routes/projects.d.ts +2 -0
- package/dist/server/routes/projects.js +37 -0
- package/dist/server/routes/session.d.ts +2 -0
- package/dist/server/routes/session.js +25 -0
- package/dist/shared/schemas.d.ts +640 -0
- package/dist/shared/schemas.js +69 -0
- package/dist/shared/types.d.ts +65 -0
- package/dist/shared/types.js +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export interface ModelBreakdown {
|
|
2
|
+
modelName: string;
|
|
3
|
+
inputTokens: number;
|
|
4
|
+
outputTokens: number;
|
|
5
|
+
cacheCreationTokens: number;
|
|
6
|
+
cacheReadTokens: number;
|
|
7
|
+
cost: number;
|
|
8
|
+
}
|
|
9
|
+
export interface DailyEntry {
|
|
10
|
+
date: string;
|
|
11
|
+
inputTokens: number;
|
|
12
|
+
outputTokens: number;
|
|
13
|
+
cacheCreationTokens: number;
|
|
14
|
+
cacheReadTokens: number;
|
|
15
|
+
totalTokens: number;
|
|
16
|
+
totalCost: number;
|
|
17
|
+
modelsUsed: string[];
|
|
18
|
+
modelBreakdowns: ModelBreakdown[];
|
|
19
|
+
}
|
|
20
|
+
export interface Totals {
|
|
21
|
+
inputTokens: number;
|
|
22
|
+
outputTokens: number;
|
|
23
|
+
cacheCreationTokens: number;
|
|
24
|
+
cacheReadTokens: number;
|
|
25
|
+
totalTokens: number;
|
|
26
|
+
totalCost: number;
|
|
27
|
+
}
|
|
28
|
+
export interface DailyResponse {
|
|
29
|
+
daily: DailyEntry[];
|
|
30
|
+
totals: Totals;
|
|
31
|
+
}
|
|
32
|
+
export interface MonthlyResponse {
|
|
33
|
+
daily: DailyEntry[];
|
|
34
|
+
totals: Totals;
|
|
35
|
+
}
|
|
36
|
+
export interface SessionResponse {
|
|
37
|
+
daily: DailyEntry[];
|
|
38
|
+
totals: Totals;
|
|
39
|
+
}
|
|
40
|
+
export interface ProjectsResponse {
|
|
41
|
+
projects: Record<string, DailyEntry[]>;
|
|
42
|
+
}
|
|
43
|
+
export interface BlockEntry {
|
|
44
|
+
id: string;
|
|
45
|
+
startTime: string;
|
|
46
|
+
endTime: string;
|
|
47
|
+
actualEndTime: string | null;
|
|
48
|
+
isActive: boolean;
|
|
49
|
+
isGap: boolean;
|
|
50
|
+
entries: number;
|
|
51
|
+
tokenCounts: {
|
|
52
|
+
inputTokens: number;
|
|
53
|
+
outputTokens: number;
|
|
54
|
+
cacheCreationInputTokens: number;
|
|
55
|
+
cacheReadInputTokens: number;
|
|
56
|
+
};
|
|
57
|
+
totalTokens: number;
|
|
58
|
+
costUSD: number;
|
|
59
|
+
models: string[];
|
|
60
|
+
}
|
|
61
|
+
export interface BlocksResponse {
|
|
62
|
+
blocks: BlockEntry[];
|
|
63
|
+
}
|
|
64
|
+
export type MetricMode = 'tokens' | 'usd';
|
|
65
|
+
export type GranularityMode = 'day' | 'hour';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zhangferry-dev/tokendash",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Token Usage Analytics Dashboard",
|
|
6
|
+
"publishConfig": {
|
|
7
|
+
"access": "public"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/server/index.js",
|
|
10
|
+
"types": "./dist/server/index.d.ts",
|
|
11
|
+
"bin": {
|
|
12
|
+
"tokendash": "./dist/server/index.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
|
|
19
|
+
"dev:server": "tsx watch src/server/index.ts",
|
|
20
|
+
"dev:client": "vite",
|
|
21
|
+
"build": "vite build && tsc -p tsconfig.json",
|
|
22
|
+
"start": "node dist/server/index.js",
|
|
23
|
+
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.frontend.json --noEmit",
|
|
24
|
+
"prepack": "npm run build"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"express": "^5.1.0",
|
|
28
|
+
"open": "^10.1.2",
|
|
29
|
+
"react": "^19.1.0",
|
|
30
|
+
"react-dom": "^19.1.0",
|
|
31
|
+
"recharts": "^2.15.3",
|
|
32
|
+
"zod": "^3.24.3"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@types/express": "^5.0.2",
|
|
36
|
+
"@types/node": "^22.15.2",
|
|
37
|
+
"@types/react": "^19.1.2",
|
|
38
|
+
"@types/react-dom": "^19.1.2",
|
|
39
|
+
"@vitejs/plugin-react": "^4.4.1",
|
|
40
|
+
"concurrently": "^9.1.2",
|
|
41
|
+
"tsx": "^4.19.3",
|
|
42
|
+
"typescript": "^5.8.3",
|
|
43
|
+
"vite": "^6.3.3"
|
|
44
|
+
}
|
|
45
|
+
}
|