dsh-all-usage 1.1.2 → 1.1.4
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/CHANGELOG.md +111 -0
- package/README.md +183 -36
- package/assets/model-icons/LICENSE.upstream-lobe-icons.txt +51 -0
- package/assets/model-icons/claude-color.svg +1 -0
- package/assets/model-icons/deepseek-color.svg +1 -0
- package/assets/model-icons/doubao-color.svg +1 -0
- package/assets/model-icons/gemini-color.svg +1 -0
- package/assets/model-icons/grok.svg +1 -0
- package/assets/model-icons/kimi-color.svg +1 -0
- package/assets/model-icons/manifest.json +213 -0
- package/assets/model-icons/meta-color.svg +1 -0
- package/assets/model-icons/minimax-color.svg +1 -0
- package/assets/model-icons/openai-color.svg +1 -0
- package/assets/model-icons/qwen-color.svg +1 -0
- package/assets/model-icons/zhipu-color.svg +1 -0
- package/assets/screenshot-1.png +0 -0
- package/assets/screenshot-2.png +0 -0
- package/assets/screenshot-3.png +0 -0
- package/fixtures/usage-events.json +172 -0
- package/lib/aggregation.js +1050 -0
- package/lib/balance.js +112 -0
- package/lib/client.js +1 -2906
- package/lib/http.js +305 -0
- package/lib/index.js +2 -2119
- package/lib/ledger.js +491 -0
- package/lib/plugin.js +277 -0
- package/lib/pricing-runtime.js +406 -0
- package/lib/pricing.js +631 -39
- package/lib/session-sync.js +642 -0
- package/lib/usage-core.js +171 -0
- package/package.json +28 -3
- package/scripts/replay-fixture.mjs +155 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"note": "Brand-level model icons embedded into lib/client.js at build time as data: URIs. The runtime never reads these files, the network, or any machine-local icon directory.",
|
|
4
|
+
"upstream": {
|
|
5
|
+
"project": "lobe-icons",
|
|
6
|
+
"repository": "https://github.com/lobehub/lobe-icons",
|
|
7
|
+
"revision": "0863807f3a6ce4d7ea23ad86a6693a17638747da",
|
|
8
|
+
"revisionUrl": "https://github.com/lobehub/lobe-icons/tree/0863807f3a6ce4d7ea23ad86a6693a17638747da",
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"licenseUrl": "https://github.com/lobehub/lobe-icons/blob/0863807f3a6ce4d7ea23ad86a6693a17638747da/LICENSE",
|
|
11
|
+
"licenseFile": "LICENSE.upstream-lobe-icons.txt",
|
|
12
|
+
"copyright": "Copyright (c) 2023 LobeHub",
|
|
13
|
+
"notice": "MIT-licensed SVG sources. Brand names, logos and trademarks remain the property of their respective owners; they are bundled solely to identify the vendor that served a request (nominative use), not to imply endorsement."
|
|
14
|
+
},
|
|
15
|
+
"modifications": [
|
|
16
|
+
"Whitespace between tags is collapsed at build time before base64 encoding (no visual change).",
|
|
17
|
+
"grok.svg and openai-color.svg: fill=\"currentColor\" replaced with the fixed neutral #8a8f98, because currentColor does not inherit into an <img> element.",
|
|
18
|
+
"openai-color.svg was taken from the vendor mark set below after the original download produced an HTTP 404 body instead of an SVG."
|
|
19
|
+
],
|
|
20
|
+
"fallbackKey": null,
|
|
21
|
+
"icons": [
|
|
22
|
+
{
|
|
23
|
+
"key": "deepseek",
|
|
24
|
+
"file": "deepseek-color.svg",
|
|
25
|
+
"label": "DeepSeek",
|
|
26
|
+
"upstreamPath": "packages/static-svg/svg/deepseek-color.svg",
|
|
27
|
+
"modified": false,
|
|
28
|
+
"providers": [
|
|
29
|
+
"deepseek",
|
|
30
|
+
"deepseek-official"
|
|
31
|
+
],
|
|
32
|
+
"prefixes": [
|
|
33
|
+
"deepseek-"
|
|
34
|
+
],
|
|
35
|
+
"exact": []
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"key": "openai",
|
|
39
|
+
"file": "openai-color.svg",
|
|
40
|
+
"label": "OpenAI",
|
|
41
|
+
"upstreamPath": "packages/static-svg/svg/openai.svg",
|
|
42
|
+
"modified": true,
|
|
43
|
+
"providers": [
|
|
44
|
+
"openai",
|
|
45
|
+
"azure-openai"
|
|
46
|
+
],
|
|
47
|
+
"prefixes": [
|
|
48
|
+
"gpt-",
|
|
49
|
+
"o1-",
|
|
50
|
+
"o3-",
|
|
51
|
+
"o4-",
|
|
52
|
+
"o5-",
|
|
53
|
+
"codex-"
|
|
54
|
+
],
|
|
55
|
+
"exact": [
|
|
56
|
+
"o1",
|
|
57
|
+
"o3",
|
|
58
|
+
"o4",
|
|
59
|
+
"o5"
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"key": "claude",
|
|
64
|
+
"file": "claude-color.svg",
|
|
65
|
+
"label": "Anthropic Claude",
|
|
66
|
+
"upstreamPath": "packages/static-svg/svg/claude-color.svg",
|
|
67
|
+
"modified": false,
|
|
68
|
+
"providers": [
|
|
69
|
+
"anthropic"
|
|
70
|
+
],
|
|
71
|
+
"prefixes": [
|
|
72
|
+
"claude-"
|
|
73
|
+
],
|
|
74
|
+
"exact": []
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"key": "gemini",
|
|
78
|
+
"file": "gemini-color.svg",
|
|
79
|
+
"label": "Google Gemini",
|
|
80
|
+
"upstreamPath": "packages/static-svg/svg/gemini-color.svg",
|
|
81
|
+
"modified": false,
|
|
82
|
+
"providers": [
|
|
83
|
+
"google",
|
|
84
|
+
"google-vertex",
|
|
85
|
+
"vertex"
|
|
86
|
+
],
|
|
87
|
+
"prefixes": [
|
|
88
|
+
"gemini-",
|
|
89
|
+
"gemma-"
|
|
90
|
+
],
|
|
91
|
+
"exact": []
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"key": "meta",
|
|
95
|
+
"file": "meta-color.svg",
|
|
96
|
+
"label": "Meta Llama",
|
|
97
|
+
"upstreamPath": "packages/static-svg/svg/meta-color.svg",
|
|
98
|
+
"modified": false,
|
|
99
|
+
"providers": [
|
|
100
|
+
"meta",
|
|
101
|
+
"meta-llama"
|
|
102
|
+
],
|
|
103
|
+
"prefixes": [
|
|
104
|
+
"llama-",
|
|
105
|
+
"meta-llama"
|
|
106
|
+
],
|
|
107
|
+
"exact": []
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"key": "zhipu",
|
|
111
|
+
"file": "zhipu-color.svg",
|
|
112
|
+
"label": "Zhipu GLM",
|
|
113
|
+
"upstreamPath": "packages/static-svg/svg/zhipu-color.svg",
|
|
114
|
+
"modified": false,
|
|
115
|
+
"providers": [
|
|
116
|
+
"zhipu",
|
|
117
|
+
"zhipuai",
|
|
118
|
+
"zai",
|
|
119
|
+
"bigmodel"
|
|
120
|
+
],
|
|
121
|
+
"prefixes": [
|
|
122
|
+
"glm-",
|
|
123
|
+
"chatglm-"
|
|
124
|
+
],
|
|
125
|
+
"exact": []
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"key": "grok",
|
|
129
|
+
"file": "grok.svg",
|
|
130
|
+
"label": "xAI Grok",
|
|
131
|
+
"upstreamPath": "packages/static-svg/svg/grok.svg",
|
|
132
|
+
"modified": true,
|
|
133
|
+
"providers": [
|
|
134
|
+
"xai"
|
|
135
|
+
],
|
|
136
|
+
"prefixes": [
|
|
137
|
+
"grok-"
|
|
138
|
+
],
|
|
139
|
+
"exact": [
|
|
140
|
+
"grok"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"key": "qwen",
|
|
145
|
+
"file": "qwen-color.svg",
|
|
146
|
+
"label": "Qwen",
|
|
147
|
+
"upstreamPath": "packages/static-svg/svg/qwen-color.svg",
|
|
148
|
+
"modified": false,
|
|
149
|
+
"providers": [
|
|
150
|
+
"qwen",
|
|
151
|
+
"alibaba",
|
|
152
|
+
"dashscope",
|
|
153
|
+
"bailian"
|
|
154
|
+
],
|
|
155
|
+
"prefixes": [
|
|
156
|
+
"qwen",
|
|
157
|
+
"qwq-",
|
|
158
|
+
"qvq-"
|
|
159
|
+
],
|
|
160
|
+
"exact": []
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"key": "doubao",
|
|
164
|
+
"file": "doubao-color.svg",
|
|
165
|
+
"label": "Doubao",
|
|
166
|
+
"upstreamPath": "packages/static-svg/svg/doubao-color.svg",
|
|
167
|
+
"modified": false,
|
|
168
|
+
"providers": [
|
|
169
|
+
"doubao",
|
|
170
|
+
"bytedance",
|
|
171
|
+
"volcengine",
|
|
172
|
+
"ark"
|
|
173
|
+
],
|
|
174
|
+
"prefixes": [
|
|
175
|
+
"doubao-"
|
|
176
|
+
],
|
|
177
|
+
"exact": []
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"key": "kimi",
|
|
181
|
+
"file": "kimi-color.svg",
|
|
182
|
+
"label": "Moonshot Kimi",
|
|
183
|
+
"upstreamPath": "packages/static-svg/svg/kimi-color.svg",
|
|
184
|
+
"modified": false,
|
|
185
|
+
"providers": [
|
|
186
|
+
"moonshot",
|
|
187
|
+
"moonshotai"
|
|
188
|
+
],
|
|
189
|
+
"prefixes": [
|
|
190
|
+
"kimi-",
|
|
191
|
+
"moonshot-"
|
|
192
|
+
],
|
|
193
|
+
"exact": [
|
|
194
|
+
"kimi"
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"key": "minimax",
|
|
199
|
+
"file": "minimax-color.svg",
|
|
200
|
+
"label": "MiniMax",
|
|
201
|
+
"upstreamPath": "packages/static-svg/svg/minimax-color.svg",
|
|
202
|
+
"modified": false,
|
|
203
|
+
"providers": [
|
|
204
|
+
"minimax"
|
|
205
|
+
],
|
|
206
|
+
"prefixes": [
|
|
207
|
+
"minimax-",
|
|
208
|
+
"abab"
|
|
209
|
+
],
|
|
210
|
+
"exact": []
|
|
211
|
+
}
|
|
212
|
+
]
|
|
213
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Meta</title><path d="M6.897 4h-.024l-.031 2.615h.022c1.715 0 3.046 1.357 5.94 6.246l.175.297.012.02 1.62-2.438-.012-.019a48.763 48.763 0 00-1.098-1.716 28.01 28.01 0 00-1.175-1.629C10.413 4.932 8.812 4 6.896 4z" fill="url(#lobe-icons-meta-0-_R_0_)"></path><path d="M6.873 4C4.95 4.01 3.247 5.258 2.02 7.17a4.352 4.352 0 00-.01.017l2.254 1.231.011-.017c.718-1.083 1.61-1.774 2.568-1.785h.021L6.896 4h-.023z" fill="url(#lobe-icons-meta-1-_R_0_)"></path><path d="M2.019 7.17l-.011.017C1.2 8.447.598 9.995.274 11.664l-.005.022 2.534.6.004-.022c.27-1.467.786-2.828 1.456-3.845l.011-.017L2.02 7.17z" fill="url(#lobe-icons-meta-2-_R_0_)"></path><path d="M2.807 12.264l-2.533-.6-.005.022c-.177.918-.267 1.851-.269 2.786v.023l2.598.233v-.023a12.591 12.591 0 01.21-2.44z" fill="url(#lobe-icons-meta-3-_R_0_)"></path><path d="M2.677 15.537a5.462 5.462 0 01-.079-.813v-.022L0 14.468v.024a8.89 8.89 0 00.146 1.652l2.535-.585a4.106 4.106 0 01-.004-.022z" fill="url(#lobe-icons-meta-4-_R_0_)"></path><path d="M3.27 16.89c-.284-.31-.484-.756-.589-1.328l-.004-.021-2.535.585.004.021c.192 1.01.568 1.85 1.106 2.487l.014.017 2.018-1.745a2.106 2.106 0 01-.015-.016z" fill="url(#lobe-icons-meta-5-_R_0_)"></path><path d="M10.78 9.654c-1.528 2.35-2.454 3.825-2.454 3.825-2.035 3.2-2.739 3.917-3.871 3.917a1.545 1.545 0 01-1.186-.508l-2.017 1.744.014.017C2.01 19.518 3.058 20 4.356 20c1.963 0 3.374-.928 5.884-5.33l1.766-3.13a41.283 41.283 0 00-1.227-1.886z" fill="#0082FB"></path><path d="M13.502 5.946l-.016.016c-.4.43-.786.908-1.16 1.416.378.483.768 1.024 1.175 1.63.48-.743.928-1.345 1.367-1.807l.016-.016-1.382-1.24z" fill="url(#lobe-icons-meta-6-_R_0_)"></path><path d="M20.918 5.713C19.853 4.633 18.583 4 17.225 4c-1.432 0-2.637.787-3.723 1.944l-.016.016 1.382 1.24.016-.017c.715-.747 1.408-1.12 2.176-1.12.826 0 1.6.39 2.27 1.075l.015.016 1.589-1.425-.016-.016z" fill="#0082FB"></path><path d="M23.998 14.125c-.06-3.467-1.27-6.566-3.064-8.396l-.016-.016-1.588 1.424.015.016c1.35 1.392 2.277 3.98 2.361 6.971v.023h2.292v-.022z" fill="url(#lobe-icons-meta-7-_R_0_)"></path><path d="M23.998 14.15v-.023h-2.292v.022c.004.14.006.282.006.424 0 .815-.121 1.474-.368 1.95l-.011.022 1.708 1.782.013-.02c.62-.96.946-2.293.946-3.91 0-.083 0-.165-.002-.247z" fill="url(#lobe-icons-meta-8-_R_0_)"></path><path d="M21.344 16.52l-.011.02c-.214.402-.519.67-.917.787l.778 2.462a3.493 3.493 0 00.438-.182 3.558 3.558 0 001.366-1.218l.044-.065.012-.02-1.71-1.784z" fill="url(#lobe-icons-meta-9-_R_0_)"></path><path d="M19.92 17.393c-.262 0-.492-.039-.718-.14l-.798 2.522c.449.153.927.222 1.46.222.492 0 .943-.073 1.352-.215l-.78-2.462c-.167.05-.341.075-.517.073z" fill="url(#lobe-icons-meta-10-_R_0_)"></path><path d="M18.323 16.534l-.014-.017-1.836 1.914.016.017c.637.682 1.246 1.105 1.937 1.337l.797-2.52c-.291-.125-.573-.353-.9-.731z" fill="url(#lobe-icons-meta-11-_R_0_)"></path><path d="M18.309 16.515c-.55-.642-1.232-1.712-2.303-3.44l-1.396-2.336-.011-.02-1.62 2.438.012.02.989 1.668c.959 1.61 1.74 2.774 2.493 3.585l.016.016 1.834-1.914a2.353 2.353 0 01-.014-.017z" fill="url(#lobe-icons-meta-12-_R_0_)"></path><defs><linearGradient id="lobe-icons-meta-0-_R_0_" x1="75.897%" x2="26.312%" y1="89.199%" y2="12.194%"><stop offset=".06%" stop-color="#0867DF"></stop><stop offset="45.39%" stop-color="#0668E1"></stop><stop offset="85.91%" stop-color="#0064E0"></stop></linearGradient><linearGradient id="lobe-icons-meta-1-_R_0_" x1="21.67%" x2="97.068%" y1="75.874%" y2="23.985%"><stop offset="13.23%" stop-color="#0064DF"></stop><stop offset="99.88%" stop-color="#0064E0"></stop></linearGradient><linearGradient id="lobe-icons-meta-2-_R_0_" x1="38.263%" x2="60.895%" y1="89.127%" y2="16.131%"><stop offset="1.47%" stop-color="#0072EC"></stop><stop offset="68.81%" stop-color="#0064DF"></stop></linearGradient><linearGradient id="lobe-icons-meta-3-_R_0_" x1="47.032%" x2="52.15%" y1="90.19%" y2="15.745%"><stop offset="7.31%" stop-color="#007CF6"></stop><stop offset="99.43%" stop-color="#0072EC"></stop></linearGradient><linearGradient id="lobe-icons-meta-4-_R_0_" x1="52.155%" x2="47.591%" y1="58.301%" y2="37.004%"><stop offset="7.31%" stop-color="#007FF9"></stop><stop offset="100%" stop-color="#007CF6"></stop></linearGradient><linearGradient id="lobe-icons-meta-5-_R_0_" x1="37.689%" x2="61.961%" y1="12.502%" y2="63.624%"><stop offset="7.31%" stop-color="#007FF9"></stop><stop offset="100%" stop-color="#0082FB"></stop></linearGradient><linearGradient id="lobe-icons-meta-6-_R_0_" x1="34.808%" x2="62.313%" y1="68.859%" y2="23.174%"><stop offset="27.99%" stop-color="#007FF8"></stop><stop offset="91.41%" stop-color="#0082FB"></stop></linearGradient><linearGradient id="lobe-icons-meta-7-_R_0_" x1="43.762%" x2="57.602%" y1="6.235%" y2="98.514%"><stop offset="0%" stop-color="#0082FB"></stop><stop offset="99.95%" stop-color="#0081FA"></stop></linearGradient><linearGradient id="lobe-icons-meta-8-_R_0_" x1="60.055%" x2="39.88%" y1="4.661%" y2="69.077%"><stop offset="6.19%" stop-color="#0081FA"></stop><stop offset="100%" stop-color="#0080F9"></stop></linearGradient><linearGradient id="lobe-icons-meta-9-_R_0_" x1="30.282%" x2="61.081%" y1="59.32%" y2="33.244%"><stop offset="0%" stop-color="#027AF3"></stop><stop offset="100%" stop-color="#0080F9"></stop></linearGradient><linearGradient id="lobe-icons-meta-10-_R_0_" x1="20.433%" x2="82.112%" y1="50.001%" y2="50.001%"><stop offset="0%" stop-color="#0377EF"></stop><stop offset="99.94%" stop-color="#0279F1"></stop></linearGradient><linearGradient id="lobe-icons-meta-11-_R_0_" x1="40.303%" x2="72.394%" y1="35.298%" y2="57.811%"><stop offset=".19%" stop-color="#0471E9"></stop><stop offset="100%" stop-color="#0377EF"></stop></linearGradient><linearGradient id="lobe-icons-meta-12-_R_0_" x1="32.254%" x2="68.003%" y1="19.719%" y2="84.908%"><stop offset="27.65%" stop-color="#0867DF"></stop><stop offset="100%" stop-color="#0471E9"></stop></linearGradient></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Minimax</title><defs><linearGradient id="lobe-icons-minimax-_R_0_" x1="0%" x2="100.182%" y1="50.057%" y2="50.057%"><stop offset="0%" stop-color="#E2167E"></stop><stop offset="100%" stop-color="#FE603C"></stop></linearGradient></defs><path d="M16.278 2c1.156 0 2.093.927 2.093 2.07v12.501a.74.74 0 00.744.709.74.74 0 00.743-.709V9.099a2.06 2.06 0 012.071-2.049A2.06 2.06 0 0124 9.1v6.561a.649.649 0 01-.652.645.649.649 0 01-.653-.645V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v7.472a2.037 2.037 0 01-2.048 2.026 2.037 2.037 0 01-2.048-2.026v-12.5a.785.785 0 00-.788-.753.785.785 0 00-.789.752l-.001 15.904A2.037 2.037 0 0113.441 22a2.037 2.037 0 01-2.048-2.026V18.04c0-.356.292-.645.652-.645.36 0 .652.289.652.645v1.934c0 .263.142.506.372.638.23.131.514.131.744 0a.734.734 0 00.372-.638V4.07c0-1.143.937-2.07 2.093-2.07zm-5.674 0c1.156 0 2.093.927 2.093 2.07v11.523a.648.648 0 01-.652.645.648.648 0 01-.652-.645V4.07a.785.785 0 00-.789-.78.785.785 0 00-.789.78v14.013a2.06 2.06 0 01-2.07 2.048 2.06 2.06 0 01-2.071-2.048V9.1a.762.762 0 00-.766-.758.762.762 0 00-.766.758v3.8a2.06 2.06 0 01-2.071 2.049A2.06 2.06 0 010 12.9v-1.378c0-.357.292-.646.652-.646.36 0 .653.29.653.646V12.9c0 .418.343.757.766.757s.766-.339.766-.757V9.099a2.06 2.06 0 012.07-2.048 2.06 2.06 0 012.071 2.048v8.984c0 .419.343.758.767.758.423 0 .766-.339.766-.758V4.07c0-1.143.937-2.07 2.093-2.07z" fill="url(#lobe-icons-minimax-_R_0_)" fill-rule="nonzero"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="#8a8f98" fill-rule="evenodd" height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>OpenAI</title><path d="M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Qwen</title><path d="M12.604 1.34c.393.69.784 1.382 1.174 2.075a.18.18 0 00.157.091h5.552c.174 0 .322.11.446.327l1.454 2.57c.19.337.24.478.024.837-.26.43-.513.864-.76 1.3l-.367.658c-.106.196-.223.28-.04.512l2.652 4.637c.172.301.111.494-.043.77-.437.785-.882 1.564-1.335 2.34-.159.272-.352.375-.68.37-.777-.016-1.552-.01-2.327.016a.099.099 0 00-.081.05 575.097 575.097 0 01-2.705 4.74c-.169.293-.38.363-.725.364-.997.003-2.002.004-3.017.002a.537.537 0 01-.465-.271l-1.335-2.323a.09.09 0 00-.083-.049H4.982c-.285.03-.553-.001-.805-.092l-1.603-2.77a.543.543 0 01-.002-.54l1.207-2.12a.198.198 0 000-.197 550.951 550.951 0 01-1.875-3.272l-.79-1.395c-.16-.31-.173-.496.095-.965.465-.813.927-1.625 1.387-2.436.132-.234.304-.334.584-.335a338.3 338.3 0 012.589-.001.124.124 0 00.107-.063l2.806-4.895a.488.488 0 01.422-.246c.524-.001 1.053 0 1.583-.006L11.704 1c.341-.003.724.032.9.34zm-3.432.403a.06.06 0 00-.052.03L6.254 6.788a.157.157 0 01-.135.078H3.253c-.056 0-.07.025-.041.074l5.81 10.156c.025.042.013.062-.034.063l-2.795.015a.218.218 0 00-.2.116l-1.32 2.31c-.044.078-.021.118.068.118l5.716.008c.046 0 .08.02.104.061l1.403 2.454c.046.081.092.082.139 0l5.006-8.76.783-1.382a.055.055 0 01.096 0l1.424 2.53a.122.122 0 00.107.062l2.763-.02a.04.04 0 00.035-.02.041.041 0 000-.04l-2.9-5.086a.108.108 0 010-.113l.293-.507 1.12-1.977c.024-.041.012-.062-.035-.062H9.2c-.059 0-.073-.026-.043-.077l1.434-2.505a.107.107 0 000-.114L9.225 1.774a.06.06 0 00-.053-.031zm6.29 8.02c.046 0 .058.02.034.06l-.832 1.465-2.613 4.585a.056.056 0 01-.05.029.058.058 0 01-.05-.029L8.498 9.841c-.02-.034-.01-.052.028-.054l.216-.012 6.722-.012z" fill="url(#lobe-icons-qwen-_R_0_)" fill-rule="nonzero"></path><defs><linearGradient id="lobe-icons-qwen-_R_0_" x1="0%" x2="100%" y1="0%" y2="0%"><stop offset="0%" stop-color="#6336E7" stop-opacity=".84"></stop><stop offset="100%" stop-color="#6F69F7" stop-opacity=".84"></stop></linearGradient></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="1em" style="flex:none;line-height:1" viewBox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><title>Zhipu</title><path d="M11.991 23.503a.24.24 0 00-.244.248.24.24 0 00.244.249.24.24 0 00.245-.249.24.24 0 00-.22-.247l-.025-.001zM9.671 5.365a1.697 1.697 0 011.099 2.132l-.071.172-.016.04-.018.054c-.07.16-.104.32-.104.498-.035.71.47 1.279 1.186 1.314h.366c1.309.053 2.338 1.173 2.286 2.523-.052 1.332-1.152 2.38-2.478 2.327h-.174c-.715.018-1.274.64-1.239 1.368 0 .124.018.23.053.337.209.373.54.658.96.8.75.23 1.517-.125 1.9-.782l.018-.035c.402-.64 1.17-.96 1.92-.711.854.284 1.378 1.226 1.099 2.167a1.661 1.661 0 01-2.077 1.102 1.711 1.711 0 01-.907-.711l-.017-.035c-.2-.323-.463-.58-.851-.711l-.056-.018a1.646 1.646 0 00-1.954.746 1.66 1.66 0 01-1.065.764 1.677 1.677 0 01-1.989-1.279c-.209-.906.332-1.83 1.257-2.043a1.51 1.51 0 01.296-.035h.018c.68-.071 1.151-.622 1.116-1.333a1.307 1.307 0 00-.227-.693 2.515 2.515 0 01-.366-1.403 2.39 2.39 0 01.366-1.208c.14-.195.21-.444.227-.693.018-.71-.506-1.261-1.186-1.332l-.07-.018a1.43 1.43 0 01-.299-.07l-.05-.019a1.7 1.7 0 01-1.047-2.114 1.68 1.68 0 012.094-1.101zm-5.575 10.11c.26-.264.639-.367.994-.27.355.096.633.379.728.74.095.362-.007.748-.267 1.013-.402.41-1.053.41-1.455 0a1.062 1.062 0 010-1.482zm14.845-.294c.359-.09.738.024.992.297.254.274.344.665.237 1.025-.107.36-.396.634-.756.718-.551.128-1.1-.22-1.23-.781a1.05 1.05 0 01.757-1.26zm-.064-4.39c.314.32.49.753.49 1.206 0 .452-.176.886-.49 1.206-.315.32-.74.5-1.185.5-.444 0-.87-.18-1.184-.5a1.727 1.727 0 010-2.412 1.654 1.654 0 012.369 0zm-11.243.163c.364.484.447 1.128.218 1.691a1.665 1.665 0 01-2.188.923c-.855-.36-1.26-1.358-.907-2.228a1.68 1.68 0 011.33-1.038c.593-.08 1.183.169 1.547.652zm11.545-4.221c.368 0 .708.2.892.524.184.324.184.724 0 1.048a1.026 1.026 0 01-.892.524c-.568 0-1.03-.47-1.03-1.048 0-.579.462-1.048 1.03-1.048zm-14.358 0c.368 0 .707.2.891.524.184.324.184.724 0 1.048a1.026 1.026 0 01-.891.524c-.569 0-1.03-.47-1.03-1.048 0-.579.461-1.048 1.03-1.048zm10.031-1.475c.925 0 1.675.764 1.675 1.706s-.75 1.705-1.675 1.705-1.674-.763-1.674-1.705c0-.942.75-1.706 1.674-1.706zm-2.626-.684c.362-.082.653-.356.761-.718a1.062 1.062 0 00-.238-1.028 1.017 1.017 0 00-.996-.294c-.547.14-.881.7-.752 1.257.13.558.675.907 1.225.783zm0 16.876c.359-.087.644-.36.75-.72a1.062 1.062 0 00-.237-1.019 1.018 1.018 0 00-.985-.301 1.037 1.037 0 00-.762.717c-.108.361-.017.754.239 1.028.245.263.606.377.953.305l.043-.01zM17.19 3.5a.631.631 0 00.628-.64c0-.355-.279-.64-.628-.64a.631.631 0 00-.628.64c0 .355.28.64.628.64zm-10.38 0a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64a.631.631 0 00-.628.64c0 .355.279.64.628.64zm-5.182 7.852a.631.631 0 00-.628.64c0 .354.28.639.628.639a.63.63 0 00.627-.606l.001-.034a.62.62 0 00-.628-.64zm5.182 9.13a.631.631 0 00-.628.64c0 .355.279.64.628.64a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64zm10.38.018a.631.631 0 00-.628.64c0 .355.28.64.628.64a.631.631 0 00.628-.64c0-.355-.279-.64-.628-.64zm5.182-9.148a.631.631 0 00-.628.64c0 .354.279.639.628.639a.631.631 0 00.628-.64c0-.355-.28-.64-.628-.64zm-.384-4.992a.24.24 0 00.244-.249.24.24 0 00-.244-.249.24.24 0 00-.244.249c0 .142.122.249.244.249zM11.991.497a.24.24 0 00.245-.248A.24.24 0 0011.99 0a.24.24 0 00-.244.249c0 .133.108.236.223.247l.021.001zM2.011 6.36a.24.24 0 00.245-.249.24.24 0 00-.244-.249.24.24 0 00-.244.249.24.24 0 00.244.249zm0 11.263a.24.24 0 00-.243.248.24.24 0 00.244.249.24.24 0 00.244-.249.252.252 0 00-.244-.248zm19.995-.018a.24.24 0 00-.245.248.24.24 0 00.245.25.24.24 0 00.244-.25.252.252 0 00-.244-.248z" fill="#3859FF" fill-rule="nonzero"></path></svg>
|
package/assets/screenshot-1.png
CHANGED
|
Binary file
|
package/assets/screenshot-2.png
CHANGED
|
Binary file
|
package/assets/screenshot-3.png
CHANGED
|
Binary file
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"name": "redacted-usage-fixture",
|
|
4
|
+
"description": "Synthetic DSH session events covering a failed request, an orphan usage chunk, and a chunk replaced by a final message.",
|
|
5
|
+
"timezone": "UTC",
|
|
6
|
+
"query": { "start": "2024-01-01", "end": "2024-01-01", "utc": "1" },
|
|
7
|
+
"workspaces": [
|
|
8
|
+
{
|
|
9
|
+
"id": "workspace-example",
|
|
10
|
+
"path": "/redacted/example-workspace",
|
|
11
|
+
"title": "Example Workspace"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"sessions": [
|
|
15
|
+
{ "header": { "id": "session-failed", "cwd": "/redacted/example-workspace" } },
|
|
16
|
+
{ "header": { "id": "session-complete", "cwd": "/redacted/example-workspace" } },
|
|
17
|
+
{ "header": { "id": "session-orphan", "cwd": "/redacted/example-workspace" } }
|
|
18
|
+
],
|
|
19
|
+
"events": {
|
|
20
|
+
"session-failed": [
|
|
21
|
+
{
|
|
22
|
+
"seq": 1,
|
|
23
|
+
"time": 1704110400000,
|
|
24
|
+
"type": "request/context",
|
|
25
|
+
"data": { "provider": "deepseek", "model": "deepseek-chat" }
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"seq": 2,
|
|
29
|
+
"time": 1704110400000,
|
|
30
|
+
"type": "assistant/chunk",
|
|
31
|
+
"data": {
|
|
32
|
+
"turn": 1,
|
|
33
|
+
"step": 1,
|
|
34
|
+
"chunk": {
|
|
35
|
+
"type": "usage",
|
|
36
|
+
"usage": {
|
|
37
|
+
"inputTokens": 100,
|
|
38
|
+
"outputTokens": 20,
|
|
39
|
+
"cacheReadTokens": 50,
|
|
40
|
+
"cacheWriteTokens": 5,
|
|
41
|
+
"reasoningTokens": 7
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"seq": 3,
|
|
48
|
+
"time": 1704110400000,
|
|
49
|
+
"type": "request/error",
|
|
50
|
+
"data": { "code": "upstream-failed" }
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"session-complete": [
|
|
54
|
+
{
|
|
55
|
+
"seq": 1,
|
|
56
|
+
"time": 1704110400000,
|
|
57
|
+
"type": "request/context",
|
|
58
|
+
"data": { "provider": "deepseek", "model": "deepseek-chat" }
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"seq": 2,
|
|
62
|
+
"time": 1704110400000,
|
|
63
|
+
"type": "assistant/chunk",
|
|
64
|
+
"data": {
|
|
65
|
+
"turn": 1,
|
|
66
|
+
"step": 1,
|
|
67
|
+
"chunk": {
|
|
68
|
+
"type": "usage",
|
|
69
|
+
"usage": {
|
|
70
|
+
"inputTokens": 10,
|
|
71
|
+
"outputTokens": 15,
|
|
72
|
+
"cacheReadTokens": 3,
|
|
73
|
+
"cacheWriteTokens": 2,
|
|
74
|
+
"reasoningTokens": 1
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"seq": 3,
|
|
81
|
+
"time": 1704110400000,
|
|
82
|
+
"type": "assistant/message",
|
|
83
|
+
"data": {
|
|
84
|
+
"turn": 1,
|
|
85
|
+
"step": 1,
|
|
86
|
+
"message": { "source": { "provider": "deepseek", "model": "deepseek-chat" } },
|
|
87
|
+
"usage": {
|
|
88
|
+
"inputTokens": 12,
|
|
89
|
+
"outputTokens": 18,
|
|
90
|
+
"cacheReadTokens": 4,
|
|
91
|
+
"cacheWriteTokens": 2,
|
|
92
|
+
"reasoningTokens": 2
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"seq": 4,
|
|
98
|
+
"time": 1704110400000,
|
|
99
|
+
"type": "turn/end",
|
|
100
|
+
"data": { "turn": 1, "reason": { "kind": "completed" } }
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"session-orphan": [
|
|
104
|
+
{
|
|
105
|
+
"seq": 1,
|
|
106
|
+
"time": 1704110400000,
|
|
107
|
+
"type": "assistant/chunk",
|
|
108
|
+
"data": {
|
|
109
|
+
"turn": 1,
|
|
110
|
+
"step": 1,
|
|
111
|
+
"chunk": {
|
|
112
|
+
"type": "usage",
|
|
113
|
+
"usage": {
|
|
114
|
+
"inputTokens": 7,
|
|
115
|
+
"outputTokens": 4,
|
|
116
|
+
"cacheReadTokens": 8,
|
|
117
|
+
"cacheWriteTokens": 1,
|
|
118
|
+
"reasoningTokens": 0
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"expected": {
|
|
126
|
+
"totals": {
|
|
127
|
+
"turns": 1,
|
|
128
|
+
"sessions": 3,
|
|
129
|
+
"input": 119,
|
|
130
|
+
"output": 42,
|
|
131
|
+
"cacheRead": 62,
|
|
132
|
+
"cacheWrite": 8,
|
|
133
|
+
"reasoning": 9
|
|
134
|
+
},
|
|
135
|
+
"records": 3,
|
|
136
|
+
"models": [
|
|
137
|
+
{
|
|
138
|
+
"provider": "deepseek",
|
|
139
|
+
"requestedModel": "deepseek-chat",
|
|
140
|
+
"actualModel": null,
|
|
141
|
+
"calls": 1,
|
|
142
|
+
"input": 100,
|
|
143
|
+
"output": 20,
|
|
144
|
+
"cacheRead": 50,
|
|
145
|
+
"cacheWrite": 5,
|
|
146
|
+
"reasoning": 7
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"provider": "deepseek",
|
|
150
|
+
"requestedModel": "deepseek-chat",
|
|
151
|
+
"actualModel": "deepseek-chat",
|
|
152
|
+
"calls": 1,
|
|
153
|
+
"input": 12,
|
|
154
|
+
"output": 18,
|
|
155
|
+
"cacheRead": 4,
|
|
156
|
+
"cacheWrite": 2,
|
|
157
|
+
"reasoning": 2
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"provider": null,
|
|
161
|
+
"requestedModel": null,
|
|
162
|
+
"actualModel": null,
|
|
163
|
+
"calls": 1,
|
|
164
|
+
"input": 7,
|
|
165
|
+
"output": 4,
|
|
166
|
+
"cacheRead": 8,
|
|
167
|
+
"cacheWrite": 1,
|
|
168
|
+
"reasoning": 0
|
|
169
|
+
}
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
}
|