@hashimkarim/usagestat-linux-x64-gnu 2.0.0-alpha.1 → 2.0.0-alpha.3
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 +0 -0
- package/native-manifest.json +365 -77
- package/package.json +49 -1
- package/plugins/UPSTREAM-LICENSES.md +109 -0
- package/plugins/abacus-ai/icon.svg +0 -0
- package/plugins/abacus-ai/plugin.js +0 -0
- package/plugins/abacus-ai/plugin.json +0 -0
- package/plugins/aiand/icon.svg +6 -0
- package/plugins/aiand/plugin.js +108 -0
- package/plugins/aiand/plugin.json +22 -0
- package/plugins/alibaba/icon-color.svg +0 -0
- package/plugins/alibaba/icon.svg +0 -0
- package/plugins/alibaba/plugin.js +0 -0
- package/plugins/alibaba/plugin.json +0 -0
- package/plugins/alibaba-token-plan/icon-color.svg +0 -0
- package/plugins/alibaba-token-plan/icon.svg +0 -0
- package/plugins/alibaba-token-plan/plugin.js +0 -0
- package/plugins/alibaba-token-plan/plugin.json +0 -0
- package/plugins/amp/icon-color.svg +0 -0
- package/plugins/amp/icon-conflict.svg +0 -0
- package/plugins/amp/icon.svg +0 -0
- package/plugins/amp/plugin.js +0 -0
- package/plugins/amp/plugin.json +0 -0
- package/plugins/antigravity/icon-color.svg +0 -0
- package/plugins/antigravity/icon-conflict.svg +0 -0
- package/plugins/antigravity/icon.svg +0 -0
- package/plugins/antigravity/plugin.js +0 -0
- package/plugins/antigravity/plugin.json +0 -0
- package/plugins/antigravity-cli/icon.svg +0 -0
- package/plugins/antigravity-cli/plugin.js +0 -0
- package/plugins/antigravity-cli/plugin.json +0 -0
- package/plugins/antigravity-ide/icon.svg +0 -0
- package/plugins/antigravity-ide/plugin.js +0 -0
- package/plugins/antigravity-ide/plugin.json +0 -0
- package/plugins/augment/icon.svg +0 -0
- package/plugins/augment/plugin.js +0 -0
- package/plugins/augment/plugin.json +0 -0
- package/plugins/aws-bedrock/icon-color.svg +0 -0
- package/plugins/aws-bedrock/icon.svg +0 -0
- package/plugins/aws-bedrock/plugin.js +0 -0
- package/plugins/aws-bedrock/plugin.json +0 -0
- package/plugins/azure-openai/icon-color.svg +0 -0
- package/plugins/azure-openai/icon.svg +0 -0
- package/plugins/azure-openai/plugin.js +0 -0
- package/plugins/azure-openai/plugin.json +0 -0
- package/plugins/chutes/icon.svg +0 -0
- package/plugins/chutes/plugin.js +0 -0
- package/plugins/chutes/plugin.json +0 -0
- package/plugins/claude/icon-color.svg +0 -0
- package/plugins/claude/icon.svg +0 -0
- package/plugins/claude/plugin.js +70 -23
- package/plugins/claude/plugin.json +0 -0
- package/plugins/clawrouter/icon.svg +7 -0
- package/plugins/clawrouter/plugin.js +45 -0
- package/plugins/clawrouter/plugin.json +22 -0
- package/plugins/clinepass/icon.svg +4 -0
- package/plugins/clinepass/plugin.js +71 -0
- package/plugins/clinepass/plugin.json +23 -0
- package/plugins/codebuddy/plugin.js +331 -0
- package/plugins/codebuddy/plugin.json +30 -0
- package/plugins/codebuff/icon.svg +0 -0
- package/plugins/codebuff/plugin.js +0 -0
- package/plugins/codebuff/plugin.json +0 -0
- package/plugins/codex/icon-color.svg +0 -0
- package/plugins/codex/icon.svg +0 -0
- package/plugins/codex/plugin.js +7 -2
- package/plugins/codex/plugin.json +0 -0
- package/plugins/command-code/icon.svg +0 -0
- package/plugins/command-code/plugin.js +7 -0
- package/plugins/command-code/plugin.json +0 -0
- package/plugins/copilot/icon-color.svg +0 -0
- package/plugins/copilot/icon.svg +0 -0
- package/plugins/copilot/plugin.js +61 -9
- package/plugins/copilot/plugin.json +4 -1
- package/plugins/crof/icon.svg +0 -0
- package/plugins/crof/plugin.js +0 -0
- package/plugins/crof/plugin.json +0 -0
- package/plugins/crofai/icon.svg +0 -0
- package/plugins/crofai/plugin.js +0 -0
- package/plugins/crofai/plugin.json +0 -0
- package/plugins/cursor/icon-conflict.svg +0 -0
- package/plugins/cursor/icon.svg +0 -0
- package/plugins/cursor/plugin.js +46 -9
- package/plugins/cursor/plugin.json +3 -2
- package/plugins/cursor-nightly/icon.png +0 -0
- package/plugins/cursor-nightly/plugin.js +45 -8
- package/plugins/cursor-nightly/plugin.json +3 -2
- package/plugins/deepgram/icon.svg +0 -0
- package/plugins/deepgram/plugin.js +0 -0
- package/plugins/deepgram/plugin.json +0 -0
- package/plugins/deepinfra/icon.svg +4 -0
- package/plugins/deepinfra/plugin.js +97 -0
- package/plugins/deepinfra/plugin.json +28 -0
- package/plugins/deepseek/icon-color.svg +0 -0
- package/plugins/deepseek/icon.svg +0 -0
- package/plugins/deepseek/plugin.js +0 -0
- package/plugins/deepseek/plugin.json +0 -0
- package/plugins/devin/icon.svg +0 -0
- package/plugins/devin/plugin.js +111 -0
- package/plugins/devin/plugin.json +2 -1
- package/plugins/doubao/icon-color.svg +0 -0
- package/plugins/doubao/icon.svg +0 -0
- package/plugins/doubao/plugin.js +0 -0
- package/plugins/doubao/plugin.json +0 -0
- package/plugins/droid/icon.svg +0 -0
- package/plugins/droid/plugin.json +2 -1
- package/plugins/elevenlabs/icon.svg +0 -0
- package/plugins/elevenlabs/plugin.js +17 -2
- package/plugins/elevenlabs/plugin.json +0 -0
- package/plugins/factory/icon-conflict.svg +0 -0
- package/plugins/factory/icon.svg +0 -0
- package/plugins/factory/plugin.js +38 -14
- package/plugins/factory/plugin.json +2 -1
- package/plugins/fireworks-ai/icon.svg +0 -0
- package/plugins/fireworks-ai/plugin.js +0 -0
- package/plugins/fireworks-ai/plugin.json +0 -0
- package/plugins/gemini/icon-color.svg +0 -0
- package/plugins/gemini/icon.svg +0 -0
- package/plugins/gemini/plugin.js +0 -0
- package/plugins/gemini/plugin.json +0 -0
- package/plugins/grok/icon.svg +0 -0
- package/plugins/grok/plugin.js +30 -5
- package/plugins/grok/plugin.json +3 -1
- package/plugins/groqcloud/icon.svg +0 -0
- package/plugins/groqcloud/plugin.js +0 -0
- package/plugins/groqcloud/plugin.json +0 -0
- package/plugins/ibmbob/icon.svg +23 -0
- package/plugins/ibmbob/plugin.js +61 -0
- package/plugins/ibmbob/plugin.json +22 -0
- package/plugins/jetbrains-ai-assistant/icon-color.svg +0 -0
- package/plugins/jetbrains-ai-assistant/icon-conflict.svg +0 -0
- package/plugins/jetbrains-ai-assistant/icon.svg +0 -0
- package/plugins/jetbrains-ai-assistant/plugin.js +0 -0
- package/plugins/jetbrains-ai-assistant/plugin.json +0 -0
- package/plugins/kilo/icon.svg +0 -0
- package/plugins/kilo/plugin.js +0 -0
- package/plugins/kilo/plugin.json +0 -0
- package/plugins/kimi/icon-color.svg +0 -0
- package/plugins/kimi/icon-conflict.svg +0 -0
- package/plugins/kimi/icon.svg +0 -0
- package/plugins/kimi/plugin.js +122 -141
- package/plugins/kimi/plugin.json +5 -2
- package/plugins/kimi-k2/icon-color.svg +0 -0
- package/plugins/kimi-k2/icon.svg +0 -0
- package/plugins/kimi-k2/plugin.js +0 -0
- package/plugins/kimi-k2/plugin.json +0 -0
- package/plugins/kiro/icon-color.svg +0 -0
- package/plugins/kiro/icon-conflict.svg +0 -0
- package/plugins/kiro/icon.svg +0 -0
- package/plugins/kiro/plugin.js +49 -10
- package/plugins/kiro/plugin.json +3 -1
- package/plugins/litellm/icon.svg +0 -0
- package/plugins/litellm/plugin.js +0 -0
- package/plugins/litellm/plugin.json +0 -0
- package/plugins/llm-proxy/icon.svg +0 -0
- package/plugins/llm-proxy/plugin.js +0 -0
- package/plugins/llm-proxy/plugin.json +0 -0
- package/plugins/longcat/icon.svg +4 -0
- package/plugins/longcat/plugin.js +182 -0
- package/plugins/longcat/plugin.json +23 -0
- package/plugins/manus/icon.svg +0 -0
- package/plugins/manus/plugin.js +0 -0
- package/plugins/manus/plugin.json +0 -0
- package/plugins/mimo/icon.svg +0 -0
- package/plugins/mimo/plugin.js +0 -0
- package/plugins/mimo/plugin.json +0 -0
- package/plugins/minimax/icon-color.svg +0 -0
- package/plugins/minimax/icon-conflict.svg +0 -0
- package/plugins/minimax/icon.svg +0 -0
- package/plugins/minimax/plugin.js +25 -31
- package/plugins/minimax/plugin.json +0 -0
- package/plugins/mistral/icon-color.svg +0 -0
- package/plugins/mistral/icon.svg +0 -0
- package/plugins/mistral/plugin.js +0 -0
- package/plugins/mistral/plugin.json +0 -0
- package/plugins/moonshot/icon.svg +0 -0
- package/plugins/moonshot/plugin.js +8 -6
- package/plugins/moonshot/plugin.json +0 -0
- package/plugins/nanogpt/icon-color.svg +0 -0
- package/plugins/nanogpt/icon.svg +0 -0
- package/plugins/nanogpt/plugin.js +0 -0
- package/plugins/nanogpt/plugin.json +0 -0
- package/plugins/neuralwatt/icon.svg +0 -0
- package/plugins/neuralwatt/plugin.js +0 -0
- package/plugins/neuralwatt/plugin.json +0 -0
- package/plugins/notion/icon.svg +1 -0
- package/plugins/notion/plugin.js +282 -0
- package/plugins/notion/plugin.json +29 -0
- package/plugins/ollama/icon.svg +0 -0
- package/plugins/ollama/plugin.js +257 -56
- package/plugins/ollama/plugin.json +6 -3
- package/plugins/openai-api/icon.svg +0 -0
- package/plugins/openai-api/plugin.js +0 -0
- package/plugins/openai-api/plugin.json +0 -0
- package/plugins/opencode/icon.svg +0 -0
- package/plugins/opencode/plugin.js +0 -0
- package/plugins/opencode/plugin.json +0 -0
- package/plugins/opencode-go/icon-conflict.svg +0 -0
- package/plugins/opencode-go/icon.svg +0 -0
- package/plugins/opencode-go/plugin.js +78 -10
- package/plugins/opencode-go/plugin.json +5 -2
- package/plugins/openrouter/icon.svg +0 -0
- package/plugins/openrouter/plugin.js +371 -114
- package/plugins/openrouter/plugin.json +6 -0
- package/plugins/perplexity/icon-color.svg +0 -0
- package/plugins/perplexity/icon-conflict.svg +0 -0
- package/plugins/perplexity/icon.svg +0 -0
- package/plugins/perplexity/plugin.js +0 -0
- package/plugins/perplexity/plugin.json +0 -0
- package/plugins/poe/icon.svg +0 -0
- package/plugins/poe/plugin.js +24 -18
- package/plugins/poe/plugin.json +2 -0
- package/plugins/qoder/icon.svg +3 -0
- package/plugins/qoder/plugin.js +227 -0
- package/plugins/qoder/plugin.json +23 -0
- package/plugins/qwencloud/icon.svg +4 -0
- package/plugins/qwencloud/plugin.js +677 -0
- package/plugins/qwencloud/plugin.json +29 -0
- package/plugins/sakana/icon.svg +5 -0
- package/plugins/sakana/plugin.js +156 -0
- package/plugins/sakana/plugin.json +23 -0
- package/plugins/stepfun/icon-color.svg +0 -0
- package/plugins/stepfun/icon.svg +0 -0
- package/plugins/stepfun/plugin.js +0 -0
- package/plugins/stepfun/plugin.json +0 -0
- package/plugins/sub2api/icon.svg +4 -0
- package/plugins/sub2api/plugin.js +191 -0
- package/plugins/sub2api/plugin.json +16 -0
- package/plugins/synthetic/icon-conflict.svg +0 -0
- package/plugins/synthetic/icon.svg +0 -0
- package/plugins/synthetic/plugin.js +0 -0
- package/plugins/synthetic/plugin.json +0 -0
- package/plugins/t3chat/icon-color.svg +0 -0
- package/plugins/t3chat/icon.svg +0 -0
- package/plugins/t3chat/plugin.js +0 -0
- package/plugins/t3chat/plugin.json +0 -0
- package/plugins/venice/icon-color.svg +0 -0
- package/plugins/venice/icon.svg +0 -0
- package/plugins/venice/plugin.js +0 -0
- package/plugins/venice/plugin.json +0 -0
- package/plugins/vertex-ai/icon-color.svg +0 -0
- package/plugins/vertex-ai/icon.svg +0 -0
- package/plugins/vertex-ai/plugin.js +0 -0
- package/plugins/vertex-ai/plugin.json +0 -0
- package/plugins/warp/icon-color.svg +0 -0
- package/plugins/warp/icon.svg +0 -0
- package/plugins/warp/plugin.js +0 -0
- package/plugins/warp/plugin.json +0 -0
- package/plugins/wayfinder/icon.svg +5 -0
- package/plugins/wayfinder/plugin.js +47 -0
- package/plugins/wayfinder/plugin.json +16 -0
- package/plugins/windsurf/icon-conflict.svg +0 -0
- package/plugins/windsurf/icon.svg +0 -0
- package/plugins/windsurf/plugin.js +0 -0
- package/plugins/windsurf/plugin.json +0 -0
- package/plugins/xai/icon.svg +7 -0
- package/plugins/xai/plugin.js +162 -0
- package/plugins/xai/plugin.json +28 -0
- package/plugins/zai/icon-conflict.svg +0 -0
- package/plugins/zai/icon.svg +0 -0
- package/plugins/zai/plugin.js +111 -161
- package/plugins/zai/plugin.json +4 -1
- package/plugins/zed/icon.svg +0 -0
- package/plugins/zed/plugin.js +0 -0
- package/plugins/zed/plugin.json +0 -0
- package/plugins/zenmux/icon.svg +3 -0
- package/plugins/zenmux/plugin.js +102 -0
- package/plugins/zenmux/plugin.json +23 -0
- package/plugins/zoommate/icon.svg +1 -0
- package/plugins/zoommate/plugin.js +244 -0
- package/plugins/zoommate/plugin.json +29 -0
- package/usagestat +0 -0
- package/usagestatd +0 -0
package/package.json
CHANGED
|
@@ -9,9 +9,13 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"LICENSE",
|
|
12
|
+
"plugins/UPSTREAM-LICENSES.md",
|
|
12
13
|
"plugins/abacus-ai/icon.svg",
|
|
13
14
|
"plugins/abacus-ai/plugin.js",
|
|
14
15
|
"plugins/abacus-ai/plugin.json",
|
|
16
|
+
"plugins/aiand/icon.svg",
|
|
17
|
+
"plugins/aiand/plugin.js",
|
|
18
|
+
"plugins/aiand/plugin.json",
|
|
15
19
|
"plugins/alibaba-token-plan/icon-color.svg",
|
|
16
20
|
"plugins/alibaba-token-plan/icon.svg",
|
|
17
21
|
"plugins/alibaba-token-plan/plugin.js",
|
|
@@ -54,6 +58,14 @@
|
|
|
54
58
|
"plugins/claude/icon.svg",
|
|
55
59
|
"plugins/claude/plugin.js",
|
|
56
60
|
"plugins/claude/plugin.json",
|
|
61
|
+
"plugins/clawrouter/icon.svg",
|
|
62
|
+
"plugins/clawrouter/plugin.js",
|
|
63
|
+
"plugins/clawrouter/plugin.json",
|
|
64
|
+
"plugins/clinepass/icon.svg",
|
|
65
|
+
"plugins/clinepass/plugin.js",
|
|
66
|
+
"plugins/clinepass/plugin.json",
|
|
67
|
+
"plugins/codebuddy/plugin.js",
|
|
68
|
+
"plugins/codebuddy/plugin.json",
|
|
57
69
|
"plugins/codebuff/icon.svg",
|
|
58
70
|
"plugins/codebuff/plugin.js",
|
|
59
71
|
"plugins/codebuff/plugin.json",
|
|
@@ -84,6 +96,9 @@
|
|
|
84
96
|
"plugins/deepgram/icon.svg",
|
|
85
97
|
"plugins/deepgram/plugin.js",
|
|
86
98
|
"plugins/deepgram/plugin.json",
|
|
99
|
+
"plugins/deepinfra/icon.svg",
|
|
100
|
+
"plugins/deepinfra/plugin.js",
|
|
101
|
+
"plugins/deepinfra/plugin.json",
|
|
87
102
|
"plugins/deepseek/icon-color.svg",
|
|
88
103
|
"plugins/deepseek/icon.svg",
|
|
89
104
|
"plugins/deepseek/plugin.js",
|
|
@@ -117,6 +132,9 @@
|
|
|
117
132
|
"plugins/groqcloud/icon.svg",
|
|
118
133
|
"plugins/groqcloud/plugin.js",
|
|
119
134
|
"plugins/groqcloud/plugin.json",
|
|
135
|
+
"plugins/ibmbob/icon.svg",
|
|
136
|
+
"plugins/ibmbob/plugin.js",
|
|
137
|
+
"plugins/ibmbob/plugin.json",
|
|
120
138
|
"plugins/jetbrains-ai-assistant/icon-color.svg",
|
|
121
139
|
"plugins/jetbrains-ai-assistant/icon-conflict.svg",
|
|
122
140
|
"plugins/jetbrains-ai-assistant/icon.svg",
|
|
@@ -145,6 +163,9 @@
|
|
|
145
163
|
"plugins/llm-proxy/icon.svg",
|
|
146
164
|
"plugins/llm-proxy/plugin.js",
|
|
147
165
|
"plugins/llm-proxy/plugin.json",
|
|
166
|
+
"plugins/longcat/icon.svg",
|
|
167
|
+
"plugins/longcat/plugin.js",
|
|
168
|
+
"plugins/longcat/plugin.json",
|
|
148
169
|
"plugins/manus/icon.svg",
|
|
149
170
|
"plugins/manus/plugin.js",
|
|
150
171
|
"plugins/manus/plugin.json",
|
|
@@ -170,6 +191,9 @@
|
|
|
170
191
|
"plugins/neuralwatt/icon.svg",
|
|
171
192
|
"plugins/neuralwatt/plugin.js",
|
|
172
193
|
"plugins/neuralwatt/plugin.json",
|
|
194
|
+
"plugins/notion/icon.svg",
|
|
195
|
+
"plugins/notion/plugin.js",
|
|
196
|
+
"plugins/notion/plugin.json",
|
|
173
197
|
"plugins/ollama/icon.svg",
|
|
174
198
|
"plugins/ollama/plugin.js",
|
|
175
199
|
"plugins/ollama/plugin.json",
|
|
@@ -194,10 +218,22 @@
|
|
|
194
218
|
"plugins/poe/icon.svg",
|
|
195
219
|
"plugins/poe/plugin.js",
|
|
196
220
|
"plugins/poe/plugin.json",
|
|
221
|
+
"plugins/qoder/icon.svg",
|
|
222
|
+
"plugins/qoder/plugin.js",
|
|
223
|
+
"plugins/qoder/plugin.json",
|
|
224
|
+
"plugins/qwencloud/icon.svg",
|
|
225
|
+
"plugins/qwencloud/plugin.js",
|
|
226
|
+
"plugins/qwencloud/plugin.json",
|
|
227
|
+
"plugins/sakana/icon.svg",
|
|
228
|
+
"plugins/sakana/plugin.js",
|
|
229
|
+
"plugins/sakana/plugin.json",
|
|
197
230
|
"plugins/stepfun/icon-color.svg",
|
|
198
231
|
"plugins/stepfun/icon.svg",
|
|
199
232
|
"plugins/stepfun/plugin.js",
|
|
200
233
|
"plugins/stepfun/plugin.json",
|
|
234
|
+
"plugins/sub2api/icon.svg",
|
|
235
|
+
"plugins/sub2api/plugin.js",
|
|
236
|
+
"plugins/sub2api/plugin.json",
|
|
201
237
|
"plugins/synthetic/icon-conflict.svg",
|
|
202
238
|
"plugins/synthetic/icon.svg",
|
|
203
239
|
"plugins/synthetic/plugin.js",
|
|
@@ -218,10 +254,16 @@
|
|
|
218
254
|
"plugins/warp/icon.svg",
|
|
219
255
|
"plugins/warp/plugin.js",
|
|
220
256
|
"plugins/warp/plugin.json",
|
|
257
|
+
"plugins/wayfinder/icon.svg",
|
|
258
|
+
"plugins/wayfinder/plugin.js",
|
|
259
|
+
"plugins/wayfinder/plugin.json",
|
|
221
260
|
"plugins/windsurf/icon-conflict.svg",
|
|
222
261
|
"plugins/windsurf/icon.svg",
|
|
223
262
|
"plugins/windsurf/plugin.js",
|
|
224
263
|
"plugins/windsurf/plugin.json",
|
|
264
|
+
"plugins/xai/icon.svg",
|
|
265
|
+
"plugins/xai/plugin.js",
|
|
266
|
+
"plugins/xai/plugin.json",
|
|
225
267
|
"plugins/zai/icon-conflict.svg",
|
|
226
268
|
"plugins/zai/icon.svg",
|
|
227
269
|
"plugins/zai/plugin.js",
|
|
@@ -229,6 +271,12 @@
|
|
|
229
271
|
"plugins/zed/icon.svg",
|
|
230
272
|
"plugins/zed/plugin.js",
|
|
231
273
|
"plugins/zed/plugin.json",
|
|
274
|
+
"plugins/zenmux/icon.svg",
|
|
275
|
+
"plugins/zenmux/plugin.js",
|
|
276
|
+
"plugins/zenmux/plugin.json",
|
|
277
|
+
"plugins/zoommate/icon.svg",
|
|
278
|
+
"plugins/zoommate/plugin.js",
|
|
279
|
+
"plugins/zoommate/plugin.json",
|
|
232
280
|
"usagestat",
|
|
233
281
|
"usagestatd",
|
|
234
282
|
"native-manifest.json"
|
|
@@ -250,5 +298,5 @@
|
|
|
250
298
|
"type": "git",
|
|
251
299
|
"url": "https://github.com/hashimkarim/usagestat.git"
|
|
252
300
|
},
|
|
253
|
-
"version": "2.0.0-alpha.
|
|
301
|
+
"version": "2.0.0-alpha.3"
|
|
254
302
|
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Upstream Notices
|
|
2
|
+
|
|
3
|
+
The provider implementations adapt endpoint contracts and parsers from
|
|
4
|
+
[CodexBar](https://github.com/steipete/CodexBar),
|
|
5
|
+
[OpenUsage](https://github.com/robinebers/openusage),
|
|
6
|
+
[Win-CodexBar](https://github.com/Finesssee/Win-CodexBar), and
|
|
7
|
+
[CrossUsage](https://github.com/barramee27/crossusage).
|
|
8
|
+
The new provider icons, except CodeBuddy, are from CodexBar's
|
|
9
|
+
`Sources/CodexBar/Resources/ProviderIcon-*.svg` assets. Provider names and logos
|
|
10
|
+
belong to their respective owners; their inclusion does not imply endorsement.
|
|
11
|
+
|
|
12
|
+
The upstream MIT notices below apply to the adapted code and assets.
|
|
13
|
+
|
|
14
|
+
## CodexBar
|
|
15
|
+
|
|
16
|
+
MIT License
|
|
17
|
+
|
|
18
|
+
Copyright (c) 2026 Peter Steinberger
|
|
19
|
+
|
|
20
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
21
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
22
|
+
in the Software without restriction, including without limitation the rights
|
|
23
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
24
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
25
|
+
furnished to do so, subject to the following conditions:
|
|
26
|
+
|
|
27
|
+
The above copyright notice and this permission notice shall be included in all
|
|
28
|
+
copies or substantial portions of the Software.
|
|
29
|
+
|
|
30
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
31
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
32
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
33
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
34
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
35
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
36
|
+
SOFTWARE.
|
|
37
|
+
|
|
38
|
+
## OpenUsage
|
|
39
|
+
|
|
40
|
+
MIT License
|
|
41
|
+
|
|
42
|
+
Copyright (c) 2026 Robin Ebers
|
|
43
|
+
|
|
44
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
45
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
46
|
+
in the Software without restriction, including without limitation the rights
|
|
47
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
48
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
49
|
+
furnished to do so, subject to the following conditions:
|
|
50
|
+
|
|
51
|
+
The above copyright notice and this permission notice shall be included in all
|
|
52
|
+
copies or substantial portions of the Software.
|
|
53
|
+
|
|
54
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
55
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
56
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
57
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
58
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
59
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
60
|
+
SOFTWARE.
|
|
61
|
+
|
|
62
|
+
## CrossUsage
|
|
63
|
+
|
|
64
|
+
MIT License
|
|
65
|
+
|
|
66
|
+
Copyright (c) 2026 Robin Ebers (original macOS creator)
|
|
67
|
+
Copyright (c) 2026 barramee kottanawadee
|
|
68
|
+
|
|
69
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
70
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
71
|
+
in the Software without restriction, including without limitation the rights
|
|
72
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
73
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
74
|
+
furnished to do so, subject to the following conditions:
|
|
75
|
+
|
|
76
|
+
The above copyright notice and this permission notice shall be included in all
|
|
77
|
+
copies or substantial portions of the Software.
|
|
78
|
+
|
|
79
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
80
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
81
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
82
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
83
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
84
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
85
|
+
SOFTWARE.
|
|
86
|
+
|
|
87
|
+
## Win-CodexBar
|
|
88
|
+
|
|
89
|
+
MIT License
|
|
90
|
+
|
|
91
|
+
Copyright (c) 2025 Peter Steinberger
|
|
92
|
+
|
|
93
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
94
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
95
|
+
in the Software without restriction, including without limitation the rights
|
|
96
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
97
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
98
|
+
furnished to do so, subject to the following conditions:
|
|
99
|
+
|
|
100
|
+
The above copyright notice and this permission notice shall be included in all
|
|
101
|
+
copies or substantial portions of the Software.
|
|
102
|
+
|
|
103
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
104
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
105
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
106
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
107
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
108
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
109
|
+
SOFTWARE.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M18.2 11.4c0 4.9-3.5 8.9-8.1 8.9a4.7 4.7 0 0 1-4.7-4.7c0-5.9 7.7-4.4 7.7-8.8a2.9 2.9 0 1 0-5.8 0c0 3.2 2.8 8.9 11.9 13"/>
|
|
4
|
+
<path d="M16.5 11.4h3.2"/>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
var LOGS_URL = "https://api.aiand.com/logs";
|
|
3
|
+
var PAGE_LIMIT = 100;
|
|
4
|
+
var MAX_PAGES = 10;
|
|
5
|
+
|
|
6
|
+
function clean(value) {
|
|
7
|
+
if (typeof value !== "string") return null;
|
|
8
|
+
var v = value.trim();
|
|
9
|
+
if (!v) return null;
|
|
10
|
+
if ((v[0] === "\"" && v[v.length - 1] === "\"") || (v[0] === "'" && v[v.length - 1] === "'")) {
|
|
11
|
+
v = v.slice(1, -1).trim();
|
|
12
|
+
}
|
|
13
|
+
if (v.slice(0, 7).toLowerCase() === "bearer ") v = v.slice(7).trim();
|
|
14
|
+
return v || null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function env(ctx, name) {
|
|
18
|
+
try {
|
|
19
|
+
return clean(ctx.host.env.get(name));
|
|
20
|
+
} catch (_) {
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function apiKey(ctx) {
|
|
26
|
+
return clean(ctx.provider && ctx.provider.apiKey) || env(ctx, "AIAND_API_KEY");
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function requestPage(ctx, key, after, afterId) {
|
|
30
|
+
var url = LOGS_URL + "?range=30days&limit=" + PAGE_LIMIT;
|
|
31
|
+
if (after) url += "&after=" + encodeURIComponent(after);
|
|
32
|
+
if (afterId) url += "&after_id=" + encodeURIComponent(afterId);
|
|
33
|
+
var result = ctx.util.requestJson({
|
|
34
|
+
method: "GET",
|
|
35
|
+
url: url,
|
|
36
|
+
headers: { Authorization: "Bearer " + key, Accept: "application/json" },
|
|
37
|
+
timeoutMs: 15000,
|
|
38
|
+
});
|
|
39
|
+
if (result.resp.status === 401) throw "ai& rejected the API key. Create a new key at console.aiand.com.";
|
|
40
|
+
if (result.resp.status === 402) throw "ai& reports the organization is out of credits.";
|
|
41
|
+
if (result.resp.status === 429) throw "ai& rate limit exceeded. Usage will refresh on the next cycle.";
|
|
42
|
+
if (result.resp.status < 200 || result.resp.status >= 300) throw "ai& logs API returned HTTP " + result.resp.status + ".";
|
|
43
|
+
if (!result.json || typeof result.json !== "object") throw "Could not parse ai& usage.";
|
|
44
|
+
return result.json;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function summarize(rows, complete) {
|
|
48
|
+
var currency = null;
|
|
49
|
+
var total = 0;
|
|
50
|
+
for (var i = 0; i < rows.length; i++) {
|
|
51
|
+
var row = rows[i] || {};
|
|
52
|
+
var raw = row.cost;
|
|
53
|
+
var cost = Number(raw);
|
|
54
|
+
var code = typeof row.currency === "string" ? row.currency.trim().toUpperCase() : "";
|
|
55
|
+
if ((typeof raw !== "number" && typeof raw !== "string") || String(raw).trim() === "" || !Number.isFinite(cost) || cost < 0 || !code) {
|
|
56
|
+
complete = false;
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if (!currency) currency = code;
|
|
60
|
+
if (currency !== code) throw "ai& returned mixed currencies; spend cannot be combined.";
|
|
61
|
+
total += cost;
|
|
62
|
+
}
|
|
63
|
+
return { currency: currency, total: total, complete: complete };
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function money(value, currency) {
|
|
67
|
+
if (currency === "USD") return "$" + value.toFixed(2);
|
|
68
|
+
return currency + " " + value.toFixed(2);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function probe(ctx) {
|
|
72
|
+
var key = apiKey(ctx);
|
|
73
|
+
if (!key) throw "Missing ai& API key. Set AIAND_API_KEY or provider apiKey.";
|
|
74
|
+
|
|
75
|
+
var rows = [];
|
|
76
|
+
var after = null;
|
|
77
|
+
var afterId = null;
|
|
78
|
+
var complete = false;
|
|
79
|
+
var cursors = {};
|
|
80
|
+
for (var pageIndex = 0; pageIndex < MAX_PAGES; pageIndex++) {
|
|
81
|
+
var page = requestPage(ctx, key, after, afterId);
|
|
82
|
+
if (!Array.isArray(page.data)) throw "ai& logs response is missing requests.";
|
|
83
|
+
rows = rows.concat(page.data);
|
|
84
|
+
if (!page.has_more) {
|
|
85
|
+
complete = true;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
after = typeof page.next_after === "string" && page.next_after.trim() ? page.next_after.trim() : null;
|
|
89
|
+
afterId = typeof page.next_after_id === "string" && page.next_after_id.trim() ? page.next_after_id.trim() : null;
|
|
90
|
+
if (!after || !afterId) break;
|
|
91
|
+
var cursorKey = JSON.stringify([after, afterId]);
|
|
92
|
+
if (cursors[cursorKey]) break;
|
|
93
|
+
cursors[cursorKey] = true;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
var summary = summarize(rows, complete);
|
|
97
|
+
var period = summary.complete ? "Last 30 days" : "Last 30 days (partial)";
|
|
98
|
+
var metrics = [];
|
|
99
|
+
if (summary.currency) {
|
|
100
|
+
metrics.push(ctx.line.text({ label: "Cost", value: money(summary.total, summary.currency), subtitle: period }));
|
|
101
|
+
} else {
|
|
102
|
+
metrics.push(ctx.line.badge({ label: "Cost", text: "No priced requests", color: "#a3a3a3", subtitle: period }));
|
|
103
|
+
}
|
|
104
|
+
return { displayName: "ai&", source: "api", lines: metrics };
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
globalThis.__openusage_plugin = { id: "aiand", probe: probe };
|
|
108
|
+
})();
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "aiand",
|
|
4
|
+
"name": "ai&",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"entry": "plugin.js",
|
|
7
|
+
"enabledByDefault": false,
|
|
8
|
+
"supportedModes": [
|
|
9
|
+
"api"
|
|
10
|
+
],
|
|
11
|
+
"autoMode": "api",
|
|
12
|
+
"usageDashboardUrl": "https://console.aiand.com",
|
|
13
|
+
"links": [
|
|
14
|
+
{
|
|
15
|
+
"label": "Dashboard",
|
|
16
|
+
"url": "https://console.aiand.com"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"envVars": [
|
|
20
|
+
"AIAND_API_KEY"
|
|
21
|
+
]
|
|
22
|
+
}
|
|
File without changes
|
package/plugins/alibaba/icon.svg
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/plugins/amp/icon.svg
CHANGED
|
File without changes
|
package/plugins/amp/plugin.js
CHANGED
|
File without changes
|
package/plugins/amp/plugin.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/plugins/augment/icon.svg
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/plugins/chutes/icon.svg
CHANGED
|
File without changes
|
package/plugins/chutes/plugin.js
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/plugins/claude/icon.svg
CHANGED
|
File without changes
|