vibestats 1.3.0 → 1.3.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.
- package/dist/index.js +56 -12
- package/package.json +7 -6
package/dist/index.js
CHANGED
|
@@ -109,12 +109,17 @@ function getModelDisplayName(modelName) {
|
|
|
109
109
|
|
|
110
110
|
// src/codex-pricing.ts
|
|
111
111
|
var CODEX_MODEL_PRICING = {
|
|
112
|
-
// GPT-5.3 (latest flagship
|
|
112
|
+
// GPT-5.3 (latest flagship)
|
|
113
113
|
"gpt-5.3": {
|
|
114
114
|
input: 1.75,
|
|
115
115
|
output: 14,
|
|
116
116
|
cachedInput: 0.175
|
|
117
117
|
},
|
|
118
|
+
"gpt-5.3-codex-spark": {
|
|
119
|
+
input: 1.75,
|
|
120
|
+
output: 14,
|
|
121
|
+
cachedInput: 0.175
|
|
122
|
+
},
|
|
118
123
|
"gpt-5.3-codex": {
|
|
119
124
|
input: 1.75,
|
|
120
125
|
output: 14,
|
|
@@ -199,15 +204,33 @@ function getCodexModelPricing(modelName) {
|
|
|
199
204
|
return CODEX_MODEL_PRICING[modelName];
|
|
200
205
|
}
|
|
201
206
|
const normalized = modelName.toLowerCase();
|
|
207
|
+
if (normalized.includes("5.3") && normalized.includes("spark")) {
|
|
208
|
+
return CODEX_MODEL_PRICING["gpt-5.3-codex-spark"];
|
|
209
|
+
}
|
|
210
|
+
if (normalized.includes("5.3") && normalized.includes("codex")) {
|
|
211
|
+
return CODEX_MODEL_PRICING["gpt-5.3-codex"];
|
|
212
|
+
}
|
|
202
213
|
if (normalized.includes("5.3")) {
|
|
203
214
|
return CODEX_MODEL_PRICING["gpt-5.3"];
|
|
204
215
|
}
|
|
216
|
+
if (normalized.includes("5.2") && normalized.includes("codex")) {
|
|
217
|
+
return CODEX_MODEL_PRICING["gpt-5.2-codex"];
|
|
218
|
+
}
|
|
205
219
|
if (normalized.includes("5.2")) {
|
|
206
220
|
return CODEX_MODEL_PRICING["gpt-5.2"];
|
|
207
221
|
}
|
|
208
|
-
if (normalized.includes("5.1") && normalized.includes("
|
|
222
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("mini")) {
|
|
223
|
+
return CODEX_MODEL_PRICING["gpt-5.1-codex-mini"];
|
|
224
|
+
}
|
|
225
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("max")) {
|
|
209
226
|
return CODEX_MODEL_PRICING["gpt-5.1-codex-max"];
|
|
210
227
|
}
|
|
228
|
+
if (normalized.includes("5.1") && normalized.includes("codex")) {
|
|
229
|
+
return CODEX_MODEL_PRICING["gpt-5.1-codex"];
|
|
230
|
+
}
|
|
231
|
+
if (normalized.includes("5.1") && normalized.includes("max")) {
|
|
232
|
+
return CODEX_MODEL_PRICING["gpt-5.1"];
|
|
233
|
+
}
|
|
211
234
|
if (normalized.includes("5.1") && normalized.includes("mini")) {
|
|
212
235
|
return CODEX_MODEL_PRICING["gpt-5.1-codex-mini"];
|
|
213
236
|
}
|
|
@@ -233,10 +256,13 @@ function getCodexModelPricing(modelName) {
|
|
|
233
256
|
}
|
|
234
257
|
function getCodexModelDisplayName(modelName) {
|
|
235
258
|
const normalized = modelName.toLowerCase();
|
|
236
|
-
if (normalized.includes("5.3") && normalized.includes("
|
|
259
|
+
if (normalized.includes("5.3") && normalized.includes("spark")) return "GPT-5.3 Codex Spark";
|
|
260
|
+
if (normalized.includes("5.3") && normalized.includes("codex")) return "GPT-5.3 Codex";
|
|
237
261
|
if (normalized.includes("5.3")) return "GPT-5.3";
|
|
238
|
-
if (normalized.includes("5.2") && normalized.includes("
|
|
262
|
+
if (normalized.includes("5.2") && normalized.includes("codex")) return "GPT-5.2 Codex";
|
|
239
263
|
if (normalized.includes("5.2")) return "GPT-5.2";
|
|
264
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("max")) return "GPT-5.1 Codex Max";
|
|
265
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("mini")) return "GPT-5.1 Codex Mini";
|
|
240
266
|
if (normalized.includes("5.1") && normalized.includes("max")) return "GPT-5.1 Max";
|
|
241
267
|
if (normalized.includes("5.1") && normalized.includes("mini")) return "GPT-5.1 Mini";
|
|
242
268
|
if (normalized.includes("5.1") && normalized.includes("codex")) return "GPT-5.1 Codex";
|
|
@@ -464,13 +490,19 @@ function sortModelsByTier(models) {
|
|
|
464
490
|
"Haiku 4.5": 80,
|
|
465
491
|
"Haiku 3.5": 79,
|
|
466
492
|
"Haiku": 78,
|
|
467
|
-
"GPT-5.3":
|
|
468
|
-
"GPT-5.
|
|
469
|
-
"GPT-5.
|
|
470
|
-
"GPT-5.
|
|
471
|
-
"GPT-5.
|
|
472
|
-
"GPT-5":
|
|
473
|
-
"GPT-5
|
|
493
|
+
"GPT-5.3 Codex Spark": 76,
|
|
494
|
+
"GPT-5.3 Codex": 75,
|
|
495
|
+
"GPT-5.3": 74,
|
|
496
|
+
"GPT-5.2 Codex": 73,
|
|
497
|
+
"GPT-5.2": 72,
|
|
498
|
+
"GPT-5.1 Codex Max": 71,
|
|
499
|
+
"GPT-5.1 Max": 70,
|
|
500
|
+
"GPT-5.1 Codex Mini": 69,
|
|
501
|
+
"GPT-5.1 Mini": 68,
|
|
502
|
+
"GPT-5.1 Codex": 67,
|
|
503
|
+
"GPT-5.1": 66,
|
|
504
|
+
"GPT-5": 64,
|
|
505
|
+
"GPT-5 Mini": 63,
|
|
474
506
|
"GPT-4o": 60,
|
|
475
507
|
"GPT-4o Mini": 59
|
|
476
508
|
};
|
|
@@ -1646,9 +1678,16 @@ function getModelAbbrevFromDisplayName(displayName) {
|
|
|
1646
1678
|
"Haiku 3.5": "h35",
|
|
1647
1679
|
Haiku: "haiku",
|
|
1648
1680
|
// Codex/OpenAI models
|
|
1681
|
+
"GPT-5.3 Codex Spark": "g53s",
|
|
1682
|
+
"GPT-5.3 Codex": "g53c",
|
|
1683
|
+
"GPT-5.3": "g53",
|
|
1684
|
+
"GPT-5.2 Codex": "g52c",
|
|
1649
1685
|
"GPT-5.2": "g52",
|
|
1686
|
+
"GPT-5.1 Codex Max": "g51cm",
|
|
1650
1687
|
"GPT-5.1 Max": "g51m",
|
|
1688
|
+
"GPT-5.1 Codex Mini": "g51cn",
|
|
1651
1689
|
"GPT-5.1 Mini": "g51n",
|
|
1690
|
+
"GPT-5.1 Codex": "g51c",
|
|
1652
1691
|
"GPT-5.1": "g51",
|
|
1653
1692
|
"GPT-5": "g5",
|
|
1654
1693
|
"GPT-5 Mini": "g5n",
|
|
@@ -1657,8 +1696,13 @@ function getModelAbbrevFromDisplayName(displayName) {
|
|
|
1657
1696
|
};
|
|
1658
1697
|
if (map[displayName]) return map[displayName];
|
|
1659
1698
|
const normalized = displayName.toLowerCase();
|
|
1699
|
+
if (normalized.includes("5.3") && normalized.includes("spark")) return "g53s";
|
|
1700
|
+
if (normalized.includes("5.3") && normalized.includes("codex")) return "g53c";
|
|
1660
1701
|
if (normalized.includes("5.2")) return "g52";
|
|
1702
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("max")) return "g51cm";
|
|
1661
1703
|
if (normalized.includes("5.1") && normalized.includes("max")) return "g51m";
|
|
1704
|
+
if (normalized.includes("5.1") && normalized.includes("codex") && normalized.includes("mini")) return "g51cn";
|
|
1705
|
+
if (normalized.includes("5.1") && normalized.includes("codex")) return "g51c";
|
|
1662
1706
|
if (normalized.includes("5.1") && normalized.includes("mini")) return "g51n";
|
|
1663
1707
|
if (normalized.includes("5.1")) return "g51";
|
|
1664
1708
|
if (normalized.includes("5") && normalized.includes("mini")) return "g5n";
|
|
@@ -2026,7 +2070,7 @@ function parseLastDaysFlag(args) {
|
|
|
2026
2070
|
var main = defineCommand({
|
|
2027
2071
|
meta: {
|
|
2028
2072
|
name: "vibestats",
|
|
2029
|
-
version: "1.3.
|
|
2073
|
+
version: "1.3.2",
|
|
2030
2074
|
description: "AI coding stats - usage tracking and annual wrapped for Claude Code & Codex"
|
|
2031
2075
|
},
|
|
2032
2076
|
args: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibestats",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "AI coding stats - usage tracking and annual wrapped for Claude Code & Codex",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"files": [
|
|
19
19
|
"dist"
|
|
20
20
|
],
|
|
21
|
+
"scripts": {
|
|
22
|
+
"dev": "tsx src/index.ts",
|
|
23
|
+
"build": "tsup src/index.ts --format esm --dts --clean --shims",
|
|
24
|
+
"prepublishOnly": "pnpm build"
|
|
25
|
+
},
|
|
21
26
|
"keywords": [
|
|
22
27
|
"claude",
|
|
23
28
|
"claude-code",
|
|
@@ -45,9 +50,5 @@
|
|
|
45
50
|
},
|
|
46
51
|
"engines": {
|
|
47
52
|
"node": ">=18.0.0"
|
|
48
|
-
},
|
|
49
|
-
"scripts": {
|
|
50
|
-
"dev": "tsx src/index.ts",
|
|
51
|
-
"build": "tsup src/index.ts --format esm --dts --clean --shims"
|
|
52
53
|
}
|
|
53
|
-
}
|
|
54
|
+
}
|