@kenz1117/dsh-ui-usage-billing 1.4.25 → 1.4.27

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 CHANGED
@@ -1552,6 +1552,54 @@ 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
+ },
1579
+ {
1580
+ key: "gpt-image-2",
1581
+ name: "GPT Image 2",
1582
+ provider: "OpenAI",
1583
+ colorVar: "ds-green",
1584
+ price: {
1585
+ currency: "CNY",
1586
+ input: 14,
1587
+ cacheHit: 5.6,
1588
+ output: 84
1589
+ }
1590
+ },
1591
+ {
1592
+ key: "gpt-image-2.5-sunburst",
1593
+ name: "GPT Image 2.5 Sunburst",
1594
+ provider: "OpenAI",
1595
+ colorVar: "ds-green",
1596
+ price: {
1597
+ currency: "CNY",
1598
+ input: 14,
1599
+ cacheHit: 5.6,
1600
+ output: 84
1601
+ }
1602
+ },
1555
1603
  {
1556
1604
  key: "gemini-pro",
1557
1605
  name: "Gemini 3.1 Pro",
@@ -1667,6 +1715,18 @@ const BUILTIN_MODEL_CATALOG = [
1667
1715
  output: 6
1668
1716
  }
1669
1717
  },
1718
+ {
1719
+ key: "grok-4.5",
1720
+ name: "Grok 4.5",
1721
+ provider: "xAI",
1722
+ colorVar: "dsw-static-neutral-bluish-700",
1723
+ price: {
1724
+ currency: "USD",
1725
+ input: 2,
1726
+ cacheHit: .3,
1727
+ output: 6
1728
+ }
1729
+ },
1670
1730
  {
1671
1731
  key: "grok-4.3",
1672
1732
  name: "Grok 4.3",
@@ -1727,6 +1787,30 @@ const BUILTIN_MODEL_CATALOG = [
1727
1787
  output: 25
1728
1788
  }
1729
1789
  },
1790
+ {
1791
+ key: "claude-opus-4-7",
1792
+ name: "Claude Opus 4.7",
1793
+ provider: "Anthropic",
1794
+ colorVar: "ds-red",
1795
+ price: {
1796
+ currency: "USD",
1797
+ input: 5,
1798
+ cacheHit: .5,
1799
+ output: 25
1800
+ }
1801
+ },
1802
+ {
1803
+ key: "claude-opus-4-8",
1804
+ name: "Claude Opus 4.8",
1805
+ provider: "Anthropic",
1806
+ colorVar: "ds-red",
1807
+ price: {
1808
+ currency: "USD",
1809
+ input: 5,
1810
+ cacheHit: .5,
1811
+ output: 25
1812
+ }
1813
+ },
1730
1814
  {
1731
1815
  key: "claude-sonnet-4-6",
1732
1816
  name: "Claude Sonnet 4.6",
@@ -1787,6 +1871,18 @@ const BUILTIN_MODEL_CATALOG = [
1787
1871
  output: 50
1788
1872
  }
1789
1873
  },
1874
+ {
1875
+ key: "claude-fable-5",
1876
+ name: "Claude Fable 5",
1877
+ provider: "Anthropic",
1878
+ colorVar: "ds-red",
1879
+ price: {
1880
+ currency: "USD",
1881
+ input: 10,
1882
+ cacheHit: 1,
1883
+ output: 50
1884
+ }
1885
+ },
1790
1886
  {
1791
1887
  key: "claude-opus-5-5",
1792
1888
  name: "Claude Opus 5.5",
@@ -1811,6 +1907,18 @@ const BUILTIN_MODEL_CATALOG = [
1811
1907
  output: 10
1812
1908
  }
1813
1909
  },
1910
+ {
1911
+ key: "claude-haiku-5-5",
1912
+ name: "Claude Haiku 5.5",
1913
+ provider: "Anthropic",
1914
+ colorVar: "dsw-static-red-300",
1915
+ price: {
1916
+ currency: "USD",
1917
+ input: .1,
1918
+ cacheHit: .01,
1919
+ output: .5
1920
+ }
1921
+ },
1814
1922
  {
1815
1923
  key: "mistral-large-2512",
1816
1924
  name: "Mistral Large 3",
@@ -2216,10 +2324,20 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2216
2324
  "claude-fable-5-1": "claude-fable-5-1",
2217
2325
  "claude-fable-5.1": "claude-fable-5-1",
2218
2326
  "claude-fable": "claude-fable-5-1",
2327
+ "claude-mythos-5-1": "claude-fable-5-1",
2328
+ "claude-mythos-5.1": "claude-fable-5-1",
2329
+ "claude-haiku-5-5": "claude-haiku-5-5",
2330
+ "claude-haiku-5.5": "claude-haiku-5-5",
2219
2331
  "claude-opus-5-5": "claude-opus-5-5",
2220
2332
  "claude-opus-5.5": "claude-opus-5-5",
2221
2333
  "claude-sonnet-5-5": "claude-sonnet-5-5",
2222
2334
  "claude-sonnet-5.5": "claude-sonnet-5-5",
2335
+ "claude-opus-4-7": "claude-opus-4-7",
2336
+ "claude-opus-4.7": "claude-opus-4-7",
2337
+ "claude-opus-4-8": "claude-opus-4-8",
2338
+ "claude-opus-4.8": "claude-opus-4-8",
2339
+ "claude-fable-5": "claude-fable-5",
2340
+ "claude-haiku-4-5-20251001": "claude-haiku-4-5",
2223
2341
  "mistral-large-2512": "mistral-large-2512",
2224
2342
  "mistral-large-3": "mistral-large-2512",
2225
2343
  "mistral-small-2603": "mistral-small-2603",
@@ -2309,12 +2427,22 @@ const BUILTIN_MODEL_KEY_ALIASES = {
2309
2427
  "gpt-6-astra": "gpt-6-astra",
2310
2428
  "gpt-6-sol": "gpt-6-sol",
2311
2429
  "gpt-6-luna": "gpt-6-luna",
2430
+ "gpt-5.5": "gpt-5.5",
2431
+ "gpt-6.1-sol": "gpt-6.1-sol",
2432
+ "gpt-6-1-sol": "gpt-6.1-sol",
2312
2433
  "gemini-3.8-flash": "gemini-3.8-flash",
2313
2434
  "gemini-3-8-flash": "gemini-3.8-flash",
2314
2435
  "gemini-3.7-flash": "gemini-3.7-flash",
2315
2436
  "gemini-3-7-flash": "gemini-3.7-flash",
2316
2437
  "grok-build-0.1": "grok-build-0.1",
2317
- "grok-build": "grok-build-0.1"
2438
+ "grok-build": "grok-build-0.1",
2439
+ "grok-4.5": "grok-4.5",
2440
+ "grok-4-5": "grok-4.5",
2441
+ "grok-4.6": "grok",
2442
+ "grok-4-6": "grok",
2443
+ "gpt-image-2": "gpt-image-2",
2444
+ "gpt-image-2.5-sunburst": "gpt-image-2.5-sunburst",
2445
+ "gpt-image-2-5-sunburst": "gpt-image-2.5-sunburst"
2318
2446
  };
2319
2447
  //#endregion
2320
2448
  //#region lib/types/aggregate.js
@@ -3298,7 +3426,7 @@ function createUsageAggregator(persistence, options = {}) {
3298
3426
  id,
3299
3427
  ...cwd === void 0 ? {} : { cwd },
3300
3428
  ...stamp === null ? {} : { stamp },
3301
- foldVersion: 18,
3429
+ foldVersion: 20,
3302
3430
  fingerprint: foldFingerprint,
3303
3431
  fold: serializeFold(fold)
3304
3432
  };
@@ -3405,7 +3533,7 @@ function createUsageAggregator(persistence, options = {}) {
3405
3533
  try {
3406
3534
  const cwd = meta.cwd;
3407
3535
  const ledgerRow = ledger.get(id);
3408
- if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) === 18 && ledgerRow.fingerprint === foldFingerprint) {
3536
+ if (ledgerRow !== void 0 && ledgerRow.stamp !== void 0 && stamp !== null && ledgerRow.stamp === stamp && (ledgerRow.foldVersion ?? 1) === 20 && ledgerRow.fingerprint === foldFingerprint) {
3409
3537
  const fold = deserializeFold(ledgerRow.fold);
3410
3538
  folds.push({
3411
3539
  id,
@@ -3493,7 +3621,7 @@ function createUsageAggregator(persistence, options = {}) {
3493
3621
  for (const entry of ledger.values()) {
3494
3622
  if (included.has(entry.id)) continue;
3495
3623
  try {
3496
- const stale = (entry.foldVersion ?? 1) < 18 || entry.fingerprint !== foldFingerprint;
3624
+ const stale = (entry.foldVersion ?? 1) < 20 || entry.fingerprint !== foldFingerprint;
3497
3625
  folds.push({
3498
3626
  id: entry.id,
3499
3627
  ...entry.cwd === void 0 ? {} : { cwd: entry.cwd },
@@ -568,7 +568,7 @@ export interface UsageLedgerDocument {
568
568
  * 会话费用只剩最近一段,issue #29)。
569
569
  * 持久账本行据此区分新旧算法:日志已删/不可读而只能沿用旧行时,UI 标注置信度提示。
570
570
  */
571
- export declare const FOLD_VERSION = 18;
571
+ export declare const FOLD_VERSION = 20;
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.25",
4
+ "version": "1.4.27",
5
5
  "keywords": [
6
6
  "deepseek-harness",
7
7
  "deepseek",