@kenz1117/dsh-ui-usage-billing 1.4.25 → 1.4.26
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/lib/index.js +105 -4
- package/lib/types/aggregate.d.ts +1 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1552,6 +1552,30 @@ const BUILTIN_MODEL_CATALOG = [
|
|
|
1552
1552
|
output: 1.2
|
|
1553
1553
|
}
|
|
1554
1554
|
},
|
|
1555
|
+
{
|
|
1556
|
+
key: "gpt-5.5",
|
|
1557
|
+
name: "GPT-5.5",
|
|
1558
|
+
provider: "OpenAI",
|
|
1559
|
+
colorVar: "ds-green",
|
|
1560
|
+
price: {
|
|
1561
|
+
currency: "USD",
|
|
1562
|
+
input: 5,
|
|
1563
|
+
cacheHit: .5,
|
|
1564
|
+
output: 30
|
|
1565
|
+
}
|
|
1566
|
+
},
|
|
1567
|
+
{
|
|
1568
|
+
key: "gpt-6.1-sol",
|
|
1569
|
+
name: "GPT-6.1 Sol",
|
|
1570
|
+
provider: "OpenAI",
|
|
1571
|
+
colorVar: "ds-green",
|
|
1572
|
+
price: {
|
|
1573
|
+
currency: "USD",
|
|
1574
|
+
input: 2,
|
|
1575
|
+
cacheHit: .1,
|
|
1576
|
+
output: 10
|
|
1577
|
+
}
|
|
1578
|
+
},
|
|
1555
1579
|
{
|
|
1556
1580
|
key: "gemini-pro",
|
|
1557
1581
|
name: "Gemini 3.1 Pro",
|
|
@@ -1667,6 +1691,18 @@ const BUILTIN_MODEL_CATALOG = [
|
|
|
1667
1691
|
output: 6
|
|
1668
1692
|
}
|
|
1669
1693
|
},
|
|
1694
|
+
{
|
|
1695
|
+
key: "grok-4.5",
|
|
1696
|
+
name: "Grok 4.5",
|
|
1697
|
+
provider: "xAI",
|
|
1698
|
+
colorVar: "dsw-static-neutral-bluish-700",
|
|
1699
|
+
price: {
|
|
1700
|
+
currency: "USD",
|
|
1701
|
+
input: 2,
|
|
1702
|
+
cacheHit: .3,
|
|
1703
|
+
output: 6
|
|
1704
|
+
}
|
|
1705
|
+
},
|
|
1670
1706
|
{
|
|
1671
1707
|
key: "grok-4.3",
|
|
1672
1708
|
name: "Grok 4.3",
|
|
@@ -1727,6 +1763,30 @@ const BUILTIN_MODEL_CATALOG = [
|
|
|
1727
1763
|
output: 25
|
|
1728
1764
|
}
|
|
1729
1765
|
},
|
|
1766
|
+
{
|
|
1767
|
+
key: "claude-opus-4-7",
|
|
1768
|
+
name: "Claude Opus 4.7",
|
|
1769
|
+
provider: "Anthropic",
|
|
1770
|
+
colorVar: "ds-red",
|
|
1771
|
+
price: {
|
|
1772
|
+
currency: "USD",
|
|
1773
|
+
input: 5,
|
|
1774
|
+
cacheHit: .5,
|
|
1775
|
+
output: 25
|
|
1776
|
+
}
|
|
1777
|
+
},
|
|
1778
|
+
{
|
|
1779
|
+
key: "claude-opus-4-8",
|
|
1780
|
+
name: "Claude Opus 4.8",
|
|
1781
|
+
provider: "Anthropic",
|
|
1782
|
+
colorVar: "ds-red",
|
|
1783
|
+
price: {
|
|
1784
|
+
currency: "USD",
|
|
1785
|
+
input: 5,
|
|
1786
|
+
cacheHit: .5,
|
|
1787
|
+
output: 25
|
|
1788
|
+
}
|
|
1789
|
+
},
|
|
1730
1790
|
{
|
|
1731
1791
|
key: "claude-sonnet-4-6",
|
|
1732
1792
|
name: "Claude Sonnet 4.6",
|
|
@@ -1787,6 +1847,18 @@ const BUILTIN_MODEL_CATALOG = [
|
|
|
1787
1847
|
output: 50
|
|
1788
1848
|
}
|
|
1789
1849
|
},
|
|
1850
|
+
{
|
|
1851
|
+
key: "claude-fable-5",
|
|
1852
|
+
name: "Claude Fable 5",
|
|
1853
|
+
provider: "Anthropic",
|
|
1854
|
+
colorVar: "ds-red",
|
|
1855
|
+
price: {
|
|
1856
|
+
currency: "USD",
|
|
1857
|
+
input: 10,
|
|
1858
|
+
cacheHit: 1,
|
|
1859
|
+
output: 50
|
|
1860
|
+
}
|
|
1861
|
+
},
|
|
1790
1862
|
{
|
|
1791
1863
|
key: "claude-opus-5-5",
|
|
1792
1864
|
name: "Claude Opus 5.5",
|
|
@@ -1811,6 +1883,18 @@ const BUILTIN_MODEL_CATALOG = [
|
|
|
1811
1883
|
output: 10
|
|
1812
1884
|
}
|
|
1813
1885
|
},
|
|
1886
|
+
{
|
|
1887
|
+
key: "claude-haiku-5-5",
|
|
1888
|
+
name: "Claude Haiku 5.5",
|
|
1889
|
+
provider: "Anthropic",
|
|
1890
|
+
colorVar: "dsw-static-red-300",
|
|
1891
|
+
price: {
|
|
1892
|
+
currency: "USD",
|
|
1893
|
+
input: .1,
|
|
1894
|
+
cacheHit: .01,
|
|
1895
|
+
output: .5
|
|
1896
|
+
}
|
|
1897
|
+
},
|
|
1814
1898
|
{
|
|
1815
1899
|
key: "mistral-large-2512",
|
|
1816
1900
|
name: "Mistral Large 3",
|
|
@@ -2216,10 +2300,20 @@ const BUILTIN_MODEL_KEY_ALIASES = {
|
|
|
2216
2300
|
"claude-fable-5-1": "claude-fable-5-1",
|
|
2217
2301
|
"claude-fable-5.1": "claude-fable-5-1",
|
|
2218
2302
|
"claude-fable": "claude-fable-5-1",
|
|
2303
|
+
"claude-mythos-5-1": "claude-fable-5-1",
|
|
2304
|
+
"claude-mythos-5.1": "claude-fable-5-1",
|
|
2305
|
+
"claude-haiku-5-5": "claude-haiku-5-5",
|
|
2306
|
+
"claude-haiku-5.5": "claude-haiku-5-5",
|
|
2219
2307
|
"claude-opus-5-5": "claude-opus-5-5",
|
|
2220
2308
|
"claude-opus-5.5": "claude-opus-5-5",
|
|
2221
2309
|
"claude-sonnet-5-5": "claude-sonnet-5-5",
|
|
2222
2310
|
"claude-sonnet-5.5": "claude-sonnet-5-5",
|
|
2311
|
+
"claude-opus-4-7": "claude-opus-4-7",
|
|
2312
|
+
"claude-opus-4.7": "claude-opus-4-7",
|
|
2313
|
+
"claude-opus-4-8": "claude-opus-4-8",
|
|
2314
|
+
"claude-opus-4.8": "claude-opus-4-8",
|
|
2315
|
+
"claude-fable-5": "claude-fable-5",
|
|
2316
|
+
"claude-haiku-4-5-20251001": "claude-haiku-4-5",
|
|
2223
2317
|
"mistral-large-2512": "mistral-large-2512",
|
|
2224
2318
|
"mistral-large-3": "mistral-large-2512",
|
|
2225
2319
|
"mistral-small-2603": "mistral-small-2603",
|
|
@@ -2309,12 +2403,19 @@ const BUILTIN_MODEL_KEY_ALIASES = {
|
|
|
2309
2403
|
"gpt-6-astra": "gpt-6-astra",
|
|
2310
2404
|
"gpt-6-sol": "gpt-6-sol",
|
|
2311
2405
|
"gpt-6-luna": "gpt-6-luna",
|
|
2406
|
+
"gpt-5.5": "gpt-5.5",
|
|
2407
|
+
"gpt-6.1-sol": "gpt-6.1-sol",
|
|
2408
|
+
"gpt-6-1-sol": "gpt-6.1-sol",
|
|
2312
2409
|
"gemini-3.8-flash": "gemini-3.8-flash",
|
|
2313
2410
|
"gemini-3-8-flash": "gemini-3.8-flash",
|
|
2314
2411
|
"gemini-3.7-flash": "gemini-3.7-flash",
|
|
2315
2412
|
"gemini-3-7-flash": "gemini-3.7-flash",
|
|
2316
2413
|
"grok-build-0.1": "grok-build-0.1",
|
|
2317
|
-
"grok-build": "grok-build-0.1"
|
|
2414
|
+
"grok-build": "grok-build-0.1",
|
|
2415
|
+
"grok-4.5": "grok-4.5",
|
|
2416
|
+
"grok-4-5": "grok-4.5",
|
|
2417
|
+
"grok-4.6": "grok",
|
|
2418
|
+
"grok-4-6": "grok"
|
|
2318
2419
|
};
|
|
2319
2420
|
//#endregion
|
|
2320
2421
|
//#region lib/types/aggregate.js
|
|
@@ -3298,7 +3399,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
3298
3399
|
id,
|
|
3299
3400
|
...cwd === void 0 ? {} : { cwd },
|
|
3300
3401
|
...stamp === null ? {} : { stamp },
|
|
3301
|
-
foldVersion:
|
|
3402
|
+
foldVersion: 19,
|
|
3302
3403
|
fingerprint: foldFingerprint,
|
|
3303
3404
|
fold: serializeFold(fold)
|
|
3304
3405
|
};
|
|
@@ -3405,7 +3506,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
3405
3506
|
try {
|
|
3406
3507
|
const cwd = meta.cwd;
|
|
3407
3508
|
const ledgerRow = ledger.get(id);
|
|
3408
|
-
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) ===
|
|
3509
|
+
if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) === 19 && ledgerRow.fingerprint === foldFingerprint) {
|
|
3409
3510
|
const fold = deserializeFold(ledgerRow.fold);
|
|
3410
3511
|
folds.push({
|
|
3411
3512
|
id,
|
|
@@ -3493,7 +3594,7 @@ function createUsageAggregator(persistence, options = {}) {
|
|
|
3493
3594
|
for (const entry of ledger.values()) {
|
|
3494
3595
|
if (included.has(entry.id)) continue;
|
|
3495
3596
|
try {
|
|
3496
|
-
const stale = (entry.foldVersion ?? 1) <
|
|
3597
|
+
const stale = (entry.foldVersion ?? 1) < 19 || entry.fingerprint !== foldFingerprint;
|
|
3497
3598
|
folds.push({
|
|
3498
3599
|
id: entry.id,
|
|
3499
3600
|
...entry.cwd === void 0 ? {} : { cwd: entry.cwd },
|
package/lib/types/aggregate.d.ts
CHANGED
|
@@ -568,7 +568,7 @@ export interface UsageLedgerDocument {
|
|
|
568
568
|
* 会话费用只剩最近一段,issue #29)。
|
|
569
569
|
* 持久账本行据此区分新旧算法:日志已删/不可读而只能沿用旧行时,UI 标注置信度提示。
|
|
570
570
|
*/
|
|
571
|
-
export declare const FOLD_VERSION =
|
|
571
|
+
export declare const FOLD_VERSION = 19;
|
|
572
572
|
/**
|
|
573
573
|
* 一次性账本迁移:id 唯一,apply 在加载边界对原始文档执行,已应用过的跳过。
|
|
574
574
|
* 未来账本/schema 字段变更(重命名、拆桶、语义调整)时,在此追加一条迁移并
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenz1117/dsh-ui-usage-billing",
|
|
3
3
|
"description": "Usage billing dashboard for DeepSeek Harness: sidebar cost metrics plus a full dashboard modal, priced from a current multi-provider catalog with real usage aggregated from session logs.",
|
|
4
|
-
"version": "1.4.
|
|
4
|
+
"version": "1.4.26",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
7
7
|
"deepseek",
|