@hashimkarim/usagestat-linux-x64-gnu 2.0.2 → 2.1.0
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/native-manifest.json +685 -133
- package/package.json +94 -2
- package/plugins/abliteration/LICENSE +21 -0
- package/plugins/abliteration/icon.svg +5 -0
- package/plugins/abliteration/plugin.js +89 -0
- package/plugins/abliteration/plugin.json +24 -0
- package/plugins/aerostack/LICENSE +21 -0
- package/plugins/aerostack/icon.svg +1 -0
- package/plugins/aerostack/plugin.js +94 -0
- package/plugins/aerostack/plugin.json +24 -0
- package/plugins/aixy/icon.svg +1 -0
- package/plugins/aixy/plugin.js +5 -0
- package/plugins/aixy/plugin.json +9 -1
- package/plugins/antigravity/plugin.js +19 -10
- package/plugins/antigravity-cli/plugin.js +8 -3
- package/plugins/antigravity-ide/plugin.js +8 -5
- package/plugins/atlascloud/plugin.js +5 -0
- package/plugins/atlascloud/plugin.json +2 -1
- package/plugins/bifrost/icon.svg +3 -0
- package/plugins/bifrost/plugin.js +5 -0
- package/plugins/bifrost/plugin.json +9 -1
- package/plugins/chatbox/LICENSE +21 -0
- package/plugins/chatbox/icon.svg +4 -0
- package/plugins/chatbox/plugin.js +208 -0
- package/plugins/chatbox/plugin.json +24 -0
- package/plugins/claude/plugin.js +39 -2
- package/plugins/claudeplatform/LICENSE +21 -0
- package/plugins/claudeplatform/icon.svg +3 -0
- package/plugins/claudeplatform/plugin.js +244 -0
- package/plugins/claudeplatform/plugin.json +25 -0
- package/plugins/codex/plugin.js +3 -2
- package/plugins/codex/plugin.json +1 -1
- package/plugins/cosmic/LICENSE +21 -0
- package/plugins/cosmic/icon.svg +1 -0
- package/plugins/cosmic/plugin.js +134 -0
- package/plugins/cosmic/plugin.json +32 -0
- package/plugins/cursor/plugin.js +9 -2
- package/plugins/cursor-nightly/plugin.json +1 -1
- package/plugins/devpass/icon.svg +3 -0
- package/plugins/devpass/plugin.js +5 -0
- package/plugins/devpass/plugin.json +2 -1
- package/plugins/exa/LICENSE +21 -0
- package/plugins/exa/icon-color.svg +1 -0
- package/plugins/exa/icon.svg +1 -0
- package/plugins/exa/plugin.js +75 -0
- package/plugins/exa/plugin.json +32 -0
- package/plugins/fal/LICENSE +21 -0
- package/plugins/fal/icon-color.svg +1 -0
- package/plugins/fal/icon.svg +1 -0
- package/plugins/fal/plugin.js +74 -0
- package/plugins/fal/plugin.json +24 -0
- package/plugins/flora/LICENSE +21 -0
- package/plugins/flora/icon.svg +4 -0
- package/plugins/flora/plugin.js +93 -0
- package/plugins/flora/plugin.json +32 -0
- package/plugins/futureagi/LICENSE +21 -0
- package/plugins/futureagi/icon.svg +24 -0
- package/plugins/futureagi/plugin.js +139 -0
- package/plugins/futureagi/plugin.json +32 -0
- package/plugins/gemini-apps/LICENSE +1 -2
- package/plugins/gemini-apps/plugin.js +136 -465
- package/plugins/gemini-apps/plugin.json +13 -7
- package/plugins/gitkraken/icon.svg +2 -0
- package/plugins/gitkraken/plugin.js +5 -0
- package/plugins/gitkraken/plugin.json +9 -1
- package/plugins/helmcode/icon.svg +5 -0
- package/plugins/helmcode/plugin.js +48 -40
- package/plugins/helmcode/plugin.json +10 -2
- package/plugins/huggingface/plugin.js +6 -1
- package/plugins/huggingface/plugin.json +4 -3
- package/plugins/hyper/plugin.js +53 -47
- package/plugins/hyper/plugin.json +3 -2
- package/plugins/kimi/plugin.js +39 -14
- package/plugins/langdock/LICENSE +21 -0
- package/plugins/langdock/icon.svg +4 -0
- package/plugins/langdock/plugin.js +106 -0
- package/plugins/langdock/plugin.json +25 -0
- package/plugins/linkup/LICENSE +21 -0
- package/plugins/linkup/icon.svg +10 -0
- package/plugins/linkup/plugin.js +46 -0
- package/plugins/linkup/plugin.json +24 -0
- package/plugins/lithosai/plugin.js +5 -0
- package/plugins/lithosai/plugin.json +2 -1
- package/plugins/llmman/icon.svg +4 -0
- package/plugins/llmman/plugin.js +5 -0
- package/plugins/llmman/plugin.json +9 -1
- package/plugins/munito/LICENSE +21 -0
- package/plugins/munito/icon.svg +7 -0
- package/plugins/munito/plugin.js +171 -0
- package/plugins/munito/plugin.json +24 -0
- package/plugins/muse/icon.svg +3 -0
- package/plugins/muse/plugin.js +5 -0
- package/plugins/muse/plugin.json +9 -1
- package/plugins/museai/plugin.js +5 -0
- package/plugins/museai/plugin.json +2 -1
- package/plugins/nous/plugin.js +5 -0
- package/plugins/nous/plugin.json +9 -1
- package/plugins/ollama/plugin.js +58 -0
- package/plugins/opencode-go/plugin.js +17 -6
- package/plugins/parallel/LICENSE +21 -0
- package/plugins/parallel/icon.svg +11 -0
- package/plugins/parallel/plugin.js +97 -0
- package/plugins/parallel/plugin.json +25 -0
- package/plugins/qwencloud/LICENSE +21 -0
- package/plugins/qwencloud/plugin.js +197 -0
- package/plugins/qwencloud/plugin.json +17 -0
- package/plugins/raycast/icon.svg +4 -0
- package/plugins/raycast/plugin.js +5 -0
- package/plugins/raycast/plugin.json +9 -1
- package/plugins/replicate/plugin.js +5 -0
- package/plugins/replicate/plugin.json +2 -1
- package/plugins/sailresearch/LICENSE +21 -0
- package/plugins/sailresearch/icon.svg +4 -0
- package/plugins/sailresearch/plugin.js +104 -0
- package/plugins/sailresearch/plugin.json +24 -0
- package/plugins/sofya/LICENSE +21 -0
- package/plugins/sofya/icon.svg +3 -0
- package/plugins/sofya/plugin.js +86 -0
- package/plugins/sofya/plugin.json +24 -0
- package/plugins/soniox/LICENSE +21 -0
- package/plugins/soniox/icon.svg +3 -0
- package/plugins/soniox/plugin.js +103 -0
- package/plugins/soniox/plugin.json +24 -0
- package/plugins/tavily/LICENSE +21 -0
- package/plugins/tavily/icon.svg +3 -0
- package/plugins/tavily/plugin.js +61 -0
- package/plugins/tavily/plugin.json +24 -0
- package/plugins/tinyapi/LICENSE +21 -0
- package/plugins/tinyapi/icon.svg +4 -0
- package/plugins/tinyapi/plugin.js +73 -0
- package/plugins/tinyapi/plugin.json +25 -0
- package/plugins/traecn/LICENSE +21 -0
- package/plugins/traecn/icon.svg +3 -0
- package/plugins/traecn/plugin.js +104 -0
- package/plugins/traecn/plugin.json +25 -0
- package/plugins/typesafe/icon.svg +4 -0
- package/plugins/typesafe/plugin.js +30 -25
- package/plugins/typesafe/plugin.json +3 -2
- package/plugins/v0/plugin.js +5 -0
- package/plugins/v0/plugin.json +9 -1
- package/plugins/vercel/plugin.js +147 -0
- package/plugins/vercel/plugin.json +34 -3
- package/plugins/workbuddy/icon.svg +1 -1
- package/plugins/workbuddy/plugin.js +9 -4
- package/plugins/workbuddy/plugin.json +20 -2
- package/plugins/xai/plugin.js +9 -0
- package/plugins/xapi/LICENSE +21 -0
- package/plugins/xapi/icon.svg +1 -0
- package/plugins/xapi/plugin.js +90 -0
- package/plugins/xapi/plugin.json +25 -0
- package/plugins/xkiro/icon.svg +1 -0
- package/plugins/xkiro/plugin.js +5 -0
- package/plugins/xkiro/plugin.json +2 -1
- package/usagestat +0 -0
- package/usagestatd +0 -0
- package/plugins/cursor-nightly/plugin.js +0 -1416
package/package.json
CHANGED
|
@@ -22,10 +22,19 @@
|
|
|
22
22
|
"plugins/abacus-ai/icon.svg",
|
|
23
23
|
"plugins/abacus-ai/plugin.js",
|
|
24
24
|
"plugins/abacus-ai/plugin.json",
|
|
25
|
+
"plugins/abliteration/LICENSE",
|
|
26
|
+
"plugins/abliteration/icon.svg",
|
|
27
|
+
"plugins/abliteration/plugin.js",
|
|
28
|
+
"plugins/abliteration/plugin.json",
|
|
29
|
+
"plugins/aerostack/LICENSE",
|
|
30
|
+
"plugins/aerostack/icon.svg",
|
|
31
|
+
"plugins/aerostack/plugin.js",
|
|
32
|
+
"plugins/aerostack/plugin.json",
|
|
25
33
|
"plugins/aiand/icon.svg",
|
|
26
34
|
"plugins/aiand/plugin.js",
|
|
27
35
|
"plugins/aiand/plugin.json",
|
|
28
36
|
"plugins/aixy/LICENSE",
|
|
37
|
+
"plugins/aixy/icon.svg",
|
|
29
38
|
"plugins/aixy/plugin.js",
|
|
30
39
|
"plugins/aixy/plugin.json",
|
|
31
40
|
"plugins/alibaba-token-plan/icon-color.svg",
|
|
@@ -72,8 +81,13 @@
|
|
|
72
81
|
"plugins/azure-openai/plugin.js",
|
|
73
82
|
"plugins/azure-openai/plugin.json",
|
|
74
83
|
"plugins/bifrost/LICENSE",
|
|
84
|
+
"plugins/bifrost/icon.svg",
|
|
75
85
|
"plugins/bifrost/plugin.js",
|
|
76
86
|
"plugins/bifrost/plugin.json",
|
|
87
|
+
"plugins/chatbox/LICENSE",
|
|
88
|
+
"plugins/chatbox/icon.svg",
|
|
89
|
+
"plugins/chatbox/plugin.js",
|
|
90
|
+
"plugins/chatbox/plugin.json",
|
|
77
91
|
"plugins/chutes/icon.svg",
|
|
78
92
|
"plugins/chutes/plugin.js",
|
|
79
93
|
"plugins/chutes/plugin.json",
|
|
@@ -81,6 +95,10 @@
|
|
|
81
95
|
"plugins/claude/icon.svg",
|
|
82
96
|
"plugins/claude/plugin.js",
|
|
83
97
|
"plugins/claude/plugin.json",
|
|
98
|
+
"plugins/claudeplatform/LICENSE",
|
|
99
|
+
"plugins/claudeplatform/icon.svg",
|
|
100
|
+
"plugins/claudeplatform/plugin.js",
|
|
101
|
+
"plugins/claudeplatform/plugin.json",
|
|
84
102
|
"plugins/clawrouter/icon.svg",
|
|
85
103
|
"plugins/clawrouter/plugin.js",
|
|
86
104
|
"plugins/clawrouter/plugin.json",
|
|
@@ -107,6 +125,10 @@
|
|
|
107
125
|
"plugins/copilot/icon.svg",
|
|
108
126
|
"plugins/copilot/plugin.js",
|
|
109
127
|
"plugins/copilot/plugin.json",
|
|
128
|
+
"plugins/cosmic/LICENSE",
|
|
129
|
+
"plugins/cosmic/icon.svg",
|
|
130
|
+
"plugins/cosmic/plugin.js",
|
|
131
|
+
"plugins/cosmic/plugin.json",
|
|
110
132
|
"plugins/crof/icon-color.svg",
|
|
111
133
|
"plugins/crof/icon.svg",
|
|
112
134
|
"plugins/crof/plugin.js",
|
|
@@ -116,7 +138,6 @@
|
|
|
116
138
|
"plugins/crofai/plugin.js",
|
|
117
139
|
"plugins/crofai/plugin.json",
|
|
118
140
|
"plugins/cursor-nightly/icon.png",
|
|
119
|
-
"plugins/cursor-nightly/plugin.js",
|
|
120
141
|
"plugins/cursor-nightly/plugin.json",
|
|
121
142
|
"plugins/cursor/icon-color.svg",
|
|
122
143
|
"plugins/cursor/icon-conflict.svg",
|
|
@@ -138,6 +159,7 @@
|
|
|
138
159
|
"plugins/devin/plugin.js",
|
|
139
160
|
"plugins/devin/plugin.json",
|
|
140
161
|
"plugins/devpass/LICENSE",
|
|
162
|
+
"plugins/devpass/icon.svg",
|
|
141
163
|
"plugins/devpass/plugin.js",
|
|
142
164
|
"plugins/devpass/plugin.json",
|
|
143
165
|
"plugins/doubao/icon-color.svg",
|
|
@@ -150,15 +172,33 @@
|
|
|
150
172
|
"plugins/elevenlabs/icon.svg",
|
|
151
173
|
"plugins/elevenlabs/plugin.js",
|
|
152
174
|
"plugins/elevenlabs/plugin.json",
|
|
175
|
+
"plugins/exa/LICENSE",
|
|
176
|
+
"plugins/exa/icon-color.svg",
|
|
177
|
+
"plugins/exa/icon.svg",
|
|
178
|
+
"plugins/exa/plugin.js",
|
|
179
|
+
"plugins/exa/plugin.json",
|
|
153
180
|
"plugins/factory/icon-color.svg",
|
|
154
181
|
"plugins/factory/icon-conflict.svg",
|
|
155
182
|
"plugins/factory/icon.svg",
|
|
156
183
|
"plugins/factory/plugin.js",
|
|
157
184
|
"plugins/factory/plugin.json",
|
|
185
|
+
"plugins/fal/LICENSE",
|
|
186
|
+
"plugins/fal/icon-color.svg",
|
|
187
|
+
"plugins/fal/icon.svg",
|
|
188
|
+
"plugins/fal/plugin.js",
|
|
189
|
+
"plugins/fal/plugin.json",
|
|
158
190
|
"plugins/fireworks-ai/icon-color.svg",
|
|
159
191
|
"plugins/fireworks-ai/icon.svg",
|
|
160
192
|
"plugins/fireworks-ai/plugin.js",
|
|
161
193
|
"plugins/fireworks-ai/plugin.json",
|
|
194
|
+
"plugins/flora/LICENSE",
|
|
195
|
+
"plugins/flora/icon.svg",
|
|
196
|
+
"plugins/flora/plugin.js",
|
|
197
|
+
"plugins/flora/plugin.json",
|
|
198
|
+
"plugins/futureagi/LICENSE",
|
|
199
|
+
"plugins/futureagi/icon.svg",
|
|
200
|
+
"plugins/futureagi/plugin.js",
|
|
201
|
+
"plugins/futureagi/plugin.json",
|
|
162
202
|
"plugins/gemini-apps/LICENSE",
|
|
163
203
|
"plugins/gemini-apps/icon-color.svg",
|
|
164
204
|
"plugins/gemini-apps/icon.svg",
|
|
@@ -169,6 +209,7 @@
|
|
|
169
209
|
"plugins/gemini/plugin.js",
|
|
170
210
|
"plugins/gemini/plugin.json",
|
|
171
211
|
"plugins/gitkraken/LICENSE",
|
|
212
|
+
"plugins/gitkraken/icon.svg",
|
|
172
213
|
"plugins/gitkraken/plugin.js",
|
|
173
214
|
"plugins/gitkraken/plugin.json",
|
|
174
215
|
"plugins/grok/icon-color.svg",
|
|
@@ -180,6 +221,7 @@
|
|
|
180
221
|
"plugins/groqcloud/plugin.js",
|
|
181
222
|
"plugins/groqcloud/plugin.json",
|
|
182
223
|
"plugins/helmcode/LICENSE",
|
|
224
|
+
"plugins/helmcode/icon.svg",
|
|
183
225
|
"plugins/helmcode/plugin.js",
|
|
184
226
|
"plugins/helmcode/plugin.json",
|
|
185
227
|
"plugins/huggingface/LICENSE",
|
|
@@ -216,6 +258,14 @@
|
|
|
216
258
|
"plugins/kiro/icon.svg",
|
|
217
259
|
"plugins/kiro/plugin.js",
|
|
218
260
|
"plugins/kiro/plugin.json",
|
|
261
|
+
"plugins/langdock/LICENSE",
|
|
262
|
+
"plugins/langdock/icon.svg",
|
|
263
|
+
"plugins/langdock/plugin.js",
|
|
264
|
+
"plugins/langdock/plugin.json",
|
|
265
|
+
"plugins/linkup/LICENSE",
|
|
266
|
+
"plugins/linkup/icon.svg",
|
|
267
|
+
"plugins/linkup/plugin.js",
|
|
268
|
+
"plugins/linkup/plugin.json",
|
|
219
269
|
"plugins/litellm/icon.svg",
|
|
220
270
|
"plugins/litellm/plugin.js",
|
|
221
271
|
"plugins/litellm/plugin.json",
|
|
@@ -227,6 +277,7 @@
|
|
|
227
277
|
"plugins/llm-proxy/plugin.js",
|
|
228
278
|
"plugins/llm-proxy/plugin.json",
|
|
229
279
|
"plugins/llmman/LICENSE",
|
|
280
|
+
"plugins/llmman/icon.svg",
|
|
230
281
|
"plugins/llmman/plugin.js",
|
|
231
282
|
"plugins/llmman/plugin.json",
|
|
232
283
|
"plugins/longcat/icon-color.svg",
|
|
@@ -254,7 +305,12 @@
|
|
|
254
305
|
"plugins/moonshot/icon.svg",
|
|
255
306
|
"plugins/moonshot/plugin.js",
|
|
256
307
|
"plugins/moonshot/plugin.json",
|
|
308
|
+
"plugins/munito/LICENSE",
|
|
309
|
+
"plugins/munito/icon.svg",
|
|
310
|
+
"plugins/munito/plugin.js",
|
|
311
|
+
"plugins/munito/plugin.json",
|
|
257
312
|
"plugins/muse/LICENSE",
|
|
313
|
+
"plugins/muse/icon.svg",
|
|
258
314
|
"plugins/muse/plugin.js",
|
|
259
315
|
"plugins/muse/plugin.json",
|
|
260
316
|
"plugins/museai/LICENSE",
|
|
@@ -297,6 +353,10 @@
|
|
|
297
353
|
"plugins/openrouter/icon.svg",
|
|
298
354
|
"plugins/openrouter/plugin.js",
|
|
299
355
|
"plugins/openrouter/plugin.json",
|
|
356
|
+
"plugins/parallel/LICENSE",
|
|
357
|
+
"plugins/parallel/icon.svg",
|
|
358
|
+
"plugins/parallel/plugin.js",
|
|
359
|
+
"plugins/parallel/plugin.json",
|
|
300
360
|
"plugins/perplexity/icon-color.svg",
|
|
301
361
|
"plugins/perplexity/icon-conflict.svg",
|
|
302
362
|
"plugins/perplexity/icon.svg",
|
|
@@ -310,11 +370,13 @@
|
|
|
310
370
|
"plugins/qoder/icon.svg",
|
|
311
371
|
"plugins/qoder/plugin.js",
|
|
312
372
|
"plugins/qoder/plugin.json",
|
|
373
|
+
"plugins/qwencloud/LICENSE",
|
|
313
374
|
"plugins/qwencloud/icon-color.svg",
|
|
314
375
|
"plugins/qwencloud/icon.svg",
|
|
315
376
|
"plugins/qwencloud/plugin.js",
|
|
316
377
|
"plugins/qwencloud/plugin.json",
|
|
317
378
|
"plugins/raycast/LICENSE",
|
|
379
|
+
"plugins/raycast/icon.svg",
|
|
318
380
|
"plugins/raycast/plugin.js",
|
|
319
381
|
"plugins/raycast/plugin.json",
|
|
320
382
|
"plugins/replicate/LICENSE",
|
|
@@ -322,9 +384,21 @@
|
|
|
322
384
|
"plugins/replicate/icon.svg",
|
|
323
385
|
"plugins/replicate/plugin.js",
|
|
324
386
|
"plugins/replicate/plugin.json",
|
|
387
|
+
"plugins/sailresearch/LICENSE",
|
|
388
|
+
"plugins/sailresearch/icon.svg",
|
|
389
|
+
"plugins/sailresearch/plugin.js",
|
|
390
|
+
"plugins/sailresearch/plugin.json",
|
|
325
391
|
"plugins/sakana/icon.svg",
|
|
326
392
|
"plugins/sakana/plugin.js",
|
|
327
393
|
"plugins/sakana/plugin.json",
|
|
394
|
+
"plugins/sofya/LICENSE",
|
|
395
|
+
"plugins/sofya/icon.svg",
|
|
396
|
+
"plugins/sofya/plugin.js",
|
|
397
|
+
"plugins/sofya/plugin.json",
|
|
398
|
+
"plugins/soniox/LICENSE",
|
|
399
|
+
"plugins/soniox/icon.svg",
|
|
400
|
+
"plugins/soniox/plugin.js",
|
|
401
|
+
"plugins/soniox/plugin.json",
|
|
328
402
|
"plugins/stepfun/icon-color.svg",
|
|
329
403
|
"plugins/stepfun/icon.svg",
|
|
330
404
|
"plugins/stepfun/plugin.js",
|
|
@@ -341,7 +415,20 @@
|
|
|
341
415
|
"plugins/t3chat/icon.svg",
|
|
342
416
|
"plugins/t3chat/plugin.js",
|
|
343
417
|
"plugins/t3chat/plugin.json",
|
|
418
|
+
"plugins/tavily/LICENSE",
|
|
419
|
+
"plugins/tavily/icon.svg",
|
|
420
|
+
"plugins/tavily/plugin.js",
|
|
421
|
+
"plugins/tavily/plugin.json",
|
|
422
|
+
"plugins/tinyapi/LICENSE",
|
|
423
|
+
"plugins/tinyapi/icon.svg",
|
|
424
|
+
"plugins/tinyapi/plugin.js",
|
|
425
|
+
"plugins/tinyapi/plugin.json",
|
|
426
|
+
"plugins/traecn/LICENSE",
|
|
427
|
+
"plugins/traecn/icon.svg",
|
|
428
|
+
"plugins/traecn/plugin.js",
|
|
429
|
+
"plugins/traecn/plugin.json",
|
|
344
430
|
"plugins/typesafe/LICENSE",
|
|
431
|
+
"plugins/typesafe/icon.svg",
|
|
345
432
|
"plugins/typesafe/plugin.js",
|
|
346
433
|
"plugins/typesafe/plugin.json",
|
|
347
434
|
"plugins/v0/LICENSE",
|
|
@@ -382,7 +469,12 @@
|
|
|
382
469
|
"plugins/xai/icon.svg",
|
|
383
470
|
"plugins/xai/plugin.js",
|
|
384
471
|
"plugins/xai/plugin.json",
|
|
472
|
+
"plugins/xapi/LICENSE",
|
|
473
|
+
"plugins/xapi/icon.svg",
|
|
474
|
+
"plugins/xapi/plugin.js",
|
|
475
|
+
"plugins/xapi/plugin.json",
|
|
385
476
|
"plugins/xkiro/LICENSE",
|
|
477
|
+
"plugins/xkiro/icon.svg",
|
|
386
478
|
"plugins/xkiro/plugin.js",
|
|
387
479
|
"plugins/xkiro/plugin.json",
|
|
388
480
|
"plugins/zai/icon-color.svg",
|
|
@@ -421,5 +513,5 @@
|
|
|
421
513
|
"type": "git",
|
|
422
514
|
"url": "https://github.com/hashimkarim/usagestat.git"
|
|
423
515
|
},
|
|
424
|
-
"version": "2.0
|
|
516
|
+
"version": "2.1.0"
|
|
425
517
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Peter Steinberger
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="1000" height="1000" viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M282.521 230H199V770.458H282.521V230Z" fill="#000000"/>
|
|
3
|
+
<path d="M801.487 230H712.348L501.571 740.998L489.954 770.458H577.195L788.58 261.434L801.487 230Z" fill="#000000"/>
|
|
4
|
+
<path d="M506.281 230H422.533L346.528 758.613L344.706 770.458H428.151L502.029 257.942L506.281 230Z" fill="#000000"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// Generated by tools/vendor-codexbar-providers.cjs; see LICENSE.
|
|
2
|
+
globalThis.__usagestat_bundled_options = {"labels":["Credits","Additional","Additional"],"defaults":{},"autoMode":"api"};
|
|
3
|
+
(function(defineProvider) {
|
|
4
|
+
// BEGIN UPSTREAM Sources/CodexBarCore/Resources/Plugins/abliteration.js
|
|
5
|
+
function _optionalChain(ops) {
|
|
6
|
+
let lastAccessLHS = undefined;
|
|
7
|
+
let value = ops[0];
|
|
8
|
+
let i = 1;
|
|
9
|
+
while (i < ops.length) {
|
|
10
|
+
const op = ops[i];
|
|
11
|
+
const fn = ops[i + 1];
|
|
12
|
+
i += 2;
|
|
13
|
+
if ((op === "optionalAccess" || op === "optionalCall") && value == null) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (op === "access" || op === "optionalAccess") {
|
|
17
|
+
lastAccessLHS = value;
|
|
18
|
+
value = fn(value);
|
|
19
|
+
} else if (op === "call" || op === "optionalCall") {
|
|
20
|
+
value = fn((...args) => value.call(lastAccessLHS, ...args));
|
|
21
|
+
lastAccessLHS = undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
defineProvider({
|
|
27
|
+
id: "abliteration",
|
|
28
|
+
name: "abliteration.ai",
|
|
29
|
+
endpoints: ["https://api.abliteration.ai"],
|
|
30
|
+
auth: { type: "bearer", secret: "ABLITERATION_API_KEY" },
|
|
31
|
+
settings: [
|
|
32
|
+
{ key: "ABLITERATION_API_KEY", title: "API key", type: "secure" },
|
|
33
|
+
{ key: "MESSAGES", title: "abliteration.ai", type: "plain" },
|
|
34
|
+
],
|
|
35
|
+
capabilities: ["http-status"],
|
|
36
|
+
async fetchUsage(ctx) {
|
|
37
|
+
const messages = JSON.parse(ctx.settings.get("MESSAGES") || "{}");
|
|
38
|
+
const message = (key) => messages[key] || key;
|
|
39
|
+
const response = await ctx.http.get("https://api.abliteration.ai/v1/credits");
|
|
40
|
+
if (response.status === 401 || response.status === 403)
|
|
41
|
+
throw ctx.fail.authenticationExpired(message("Check your API key in Settings."));
|
|
42
|
+
if (response.status === 429)
|
|
43
|
+
throw ctx.fail.rateLimited(message("abliteration.ai is rate limiting requests. Try again later."));
|
|
44
|
+
if (response.status >= 500)
|
|
45
|
+
throw ctx.fail.providerUnavailable(message("abliteration.ai request failed. Try refreshing later."));
|
|
46
|
+
if (response.status !== 200)
|
|
47
|
+
throw ctx.fail.apiFailure(message("abliteration.ai request failed. Try refreshing later."));
|
|
48
|
+
const fail = () => {
|
|
49
|
+
throw ctx.fail.parseFailure(
|
|
50
|
+
message("abliteration.ai returned an unrecognized response. Update CodexBar and try again."),
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
const record = (value) => (value && typeof value === "object" && !Array.isArray(value) ? value : undefined);
|
|
54
|
+
let decoded;
|
|
55
|
+
try {
|
|
56
|
+
decoded = JSON.parse(response.bodyText);
|
|
57
|
+
} catch (error) {
|
|
58
|
+
void error;
|
|
59
|
+
return fail();
|
|
60
|
+
}
|
|
61
|
+
const data = record(_optionalChain([record, "call", (_) => _(decoded), "optionalAccess", (_2) => _2.data]));
|
|
62
|
+
const money = (value) => (typeof value === "number" && Number.isFinite(value) && value >= 0 ? value : fail());
|
|
63
|
+
const total = money(_optionalChain([data, "optionalAccess", (_3) => _3.total_credits]));
|
|
64
|
+
const used = money(_optionalChain([data, "optionalAccess", (_4) => _4.total_usage]));
|
|
65
|
+
return {
|
|
66
|
+
primary:
|
|
67
|
+
total > 0
|
|
68
|
+
? {
|
|
69
|
+
usedPercent: ctx.pct(used, total),
|
|
70
|
+
resetDescription: `${ctx.format.usd(used)} / ${ctx.format.usd(total)}`,
|
|
71
|
+
}
|
|
72
|
+
: undefined,
|
|
73
|
+
details: [
|
|
74
|
+
{
|
|
75
|
+
title: "Credits",
|
|
76
|
+
rows: [
|
|
77
|
+
{ label: "Balance", value: ctx.format.usd(Math.max(0, total - used)) },
|
|
78
|
+
{ label: "Credits used", value: ctx.format.usd(used) },
|
|
79
|
+
{ label: "Credits", value: ctx.format.usd(total) },
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
dataConfidence: "exact",
|
|
84
|
+
};
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// END UPSTREAM
|
|
89
|
+
})(globalThis.defineProvider);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "abliteration",
|
|
4
|
+
"name": "abliteration.ai",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"entry": "plugin.js",
|
|
7
|
+
"enabledByDefault": false,
|
|
8
|
+
"supportedModes": [
|
|
9
|
+
"api"
|
|
10
|
+
],
|
|
11
|
+
"autoMode": "api",
|
|
12
|
+
"usageDashboardUrl": "https://abliteration.ai",
|
|
13
|
+
"envVars": [
|
|
14
|
+
"ABLITERATION_API_KEY"
|
|
15
|
+
],
|
|
16
|
+
"setupFields": [],
|
|
17
|
+
"upstream": {
|
|
18
|
+
"repository": "https://github.com/steipete/CodexBar",
|
|
19
|
+
"revision": "6070b29a1a5d51193a634dc1b0a14a67c39d0ccc",
|
|
20
|
+
"path": "Sources/CodexBarCore/Resources/Plugins/abliteration.js",
|
|
21
|
+
"sha256": "16982dfb14ae7e1181c688f5084e6b17ea84f72a28c1a98623ebc03c1dff5516",
|
|
22
|
+
"license": "MIT"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Peter Steinberger
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="currentColor" d="m12 2 10 18h-5l-5-9-5 9H2Z"/><path fill="currentColor" d="M9 19h6v3H9Z"/></svg>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Generated by tools/vendor-codexbar-providers.cjs; see LICENSE.
|
|
2
|
+
globalThis.__usagestat_bundled_options = {"labels":["Monthly AI tokens","Additional","Additional"],"defaults":{},"autoMode":"api"};
|
|
3
|
+
(function(defineProvider) {
|
|
4
|
+
// BEGIN UPSTREAM Sources/CodexBarCore/Resources/Plugins/aerostack.js
|
|
5
|
+
function _optionalChain(ops) {
|
|
6
|
+
let lastAccessLHS = undefined;
|
|
7
|
+
let value = ops[0];
|
|
8
|
+
let i = 1;
|
|
9
|
+
while (i < ops.length) {
|
|
10
|
+
const op = ops[i];
|
|
11
|
+
const fn = ops[i + 1];
|
|
12
|
+
i += 2;
|
|
13
|
+
if ((op === "optionalAccess" || op === "optionalCall") && value == null) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
if (op === "access" || op === "optionalAccess") {
|
|
17
|
+
lastAccessLHS = value;
|
|
18
|
+
value = fn(value);
|
|
19
|
+
} else if (op === "call" || op === "optionalCall") {
|
|
20
|
+
value = fn((...args) => value.call(lastAccessLHS, ...args));
|
|
21
|
+
lastAccessLHS = undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return value;
|
|
25
|
+
}
|
|
26
|
+
defineProvider({
|
|
27
|
+
id: "aerostack",
|
|
28
|
+
name: "Aerostack",
|
|
29
|
+
endpoints: ["https://api.aerostack.dev"],
|
|
30
|
+
auth: { type: "bearer", secret: "AEROSTACK_TOKEN" },
|
|
31
|
+
settings: [{ key: "AEROSTACK_TOKEN", title: "Account JWT", type: "secure" }],
|
|
32
|
+
capabilities: ["http-status"],
|
|
33
|
+
async fetchUsage(ctx) {
|
|
34
|
+
const response = await ctx.http.get("https://api.aerostack.dev/api/billing/usage");
|
|
35
|
+
const message = `Aerostack returned HTTP ${response.status}.`;
|
|
36
|
+
if (response.status === 401) throw ctx.fail.authenticationExpired("Aerostack account JWT expired or was rejected.");
|
|
37
|
+
if (response.status === 403) throw ctx.fail.permissionDenied(message);
|
|
38
|
+
if (response.status === 429) throw ctx.fail.rateLimited(message);
|
|
39
|
+
if (response.status >= 500) throw ctx.fail.providerUnavailable(message);
|
|
40
|
+
if (response.status !== 200) throw ctx.fail.apiFailure(message);
|
|
41
|
+
const fail = () => {
|
|
42
|
+
throw ctx.fail.parseFailure("Aerostack returned an unrecognized account AI-token usage response.");
|
|
43
|
+
};
|
|
44
|
+
const record = (value) => (value && typeof value === "object" && !Array.isArray(value) ? value : undefined);
|
|
45
|
+
let decoded;
|
|
46
|
+
try {
|
|
47
|
+
decoded = JSON.parse(response.bodyText);
|
|
48
|
+
} catch (error) {
|
|
49
|
+
void error;
|
|
50
|
+
return fail();
|
|
51
|
+
}
|
|
52
|
+
const root = record(decoded);
|
|
53
|
+
const tokens = record(
|
|
54
|
+
_optionalChain([
|
|
55
|
+
record,
|
|
56
|
+
"call",
|
|
57
|
+
(_) => _(_optionalChain([root, "optionalAccess", (_2) => _2.usage])),
|
|
58
|
+
"optionalAccess",
|
|
59
|
+
(_3) => _3.ai_tokens,
|
|
60
|
+
]),
|
|
61
|
+
);
|
|
62
|
+
if (!tokens) return fail();
|
|
63
|
+
const counter = (value) => {
|
|
64
|
+
if (value === undefined || value === null) return undefined;
|
|
65
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value >= 0 ? value : fail();
|
|
66
|
+
};
|
|
67
|
+
const used = counter(tokens.used);
|
|
68
|
+
const limit = counter(tokens.limit);
|
|
69
|
+
if (used === undefined && limit === undefined) return fail();
|
|
70
|
+
const rows = [];
|
|
71
|
+
if (used !== undefined) rows.push({ label: "Tokens used", value: ctx.format.number(used) });
|
|
72
|
+
if (limit !== undefined) rows.push({ label: "Allowance", value: ctx.format.number(limit) });
|
|
73
|
+
if (used !== undefined && limit !== undefined) {
|
|
74
|
+
rows.push({ label: "Remaining", value: ctx.format.number(Math.max(0, limit - used)) });
|
|
75
|
+
if (used > limit) rows.push({ label: "Above allowance", value: ctx.format.number(used - limit) });
|
|
76
|
+
}
|
|
77
|
+
if (_optionalChain([root, "optionalAccess", (_4) => _4.period]) !== undefined && root.period !== null) {
|
|
78
|
+
if (typeof root.period !== "string" || !/^\d{4}-(0[1-9]|1[0-2])$/.test(root.period)) return fail();
|
|
79
|
+
rows.push({ label: "Period", value: root.period });
|
|
80
|
+
}
|
|
81
|
+
const tier = _optionalChain([root, "optionalAccess", (_5) => _5.tier]);
|
|
82
|
+
if (tier !== undefined && tier !== null && (typeof tier !== "string" || tier.length > 120)) return fail();
|
|
83
|
+
return {
|
|
84
|
+
primary:
|
|
85
|
+
used !== undefined && limit !== undefined && limit > 0 ? { usedPercent: ctx.pct(used, limit) } : undefined,
|
|
86
|
+
details: [{ title: "Monthly AI tokens", rows }],
|
|
87
|
+
identity: { loginMethod: typeof tier === "string" ? tier.trim() || undefined : undefined },
|
|
88
|
+
dataConfidence: "exact",
|
|
89
|
+
};
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// END UPSTREAM
|
|
94
|
+
})(globalThis.defineProvider);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"id": "aerostack",
|
|
4
|
+
"name": "Aerostack",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"entry": "plugin.js",
|
|
7
|
+
"enabledByDefault": false,
|
|
8
|
+
"supportedModes": [
|
|
9
|
+
"api"
|
|
10
|
+
],
|
|
11
|
+
"autoMode": "api",
|
|
12
|
+
"usageDashboardUrl": "https://app.aerostack.dev",
|
|
13
|
+
"envVars": [
|
|
14
|
+
"AEROSTACK_TOKEN"
|
|
15
|
+
],
|
|
16
|
+
"setupFields": [],
|
|
17
|
+
"upstream": {
|
|
18
|
+
"repository": "https://github.com/steipete/CodexBar",
|
|
19
|
+
"revision": "6070b29a1a5d51193a634dc1b0a14a67c39d0ccc",
|
|
20
|
+
"path": "Sources/CodexBarCore/Resources/Plugins/aerostack.js",
|
|
21
|
+
"sha256": "f0ead202fc5ee40481ea22122b7f4d9238013cbc68cb6b218592d6a64439a9f3",
|
|
22
|
+
"license": "MIT"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 64 64" role="img" aria-labelledby="title"><title id="title">Aixy</title><g transform="translate(32 32) scale(1.1) translate(-34.5 -30)"><path fill="#123650" fill-rule="evenodd" d="M18 47 30.6 16h4.6L48 47h-8.2l-2.6-7.2H27L24.2 47H18z M31.8 24.6l-2.7 8.2h6l-2.8-8.2h-.5z"/><circle cx="47" cy="17" r="4" fill="#ec744a"/></g></svg>
|
package/plugins/aixy/plugin.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// Generated by tools/vendor-codexbar-providers.cjs; see LICENSE.
|
|
2
2
|
globalThis.__usagestat_bundled_options = {"labels":["Budget","Secondary budget","Additional"],"defaults":{"AIXY_BASE_URL":"https://api.aixy-gateway.com"},"autoMode":"api"};
|
|
3
|
+
(function(defineProvider) {
|
|
4
|
+
// BEGIN UPSTREAM Sources/CodexBarCore/Resources/Plugins/aixy.js
|
|
3
5
|
function _optionalChain(ops) {
|
|
4
6
|
let lastAccessLHS = undefined;
|
|
5
7
|
let value = ops[0];
|
|
@@ -259,3 +261,6 @@ defineProvider({
|
|
|
259
261
|
};
|
|
260
262
|
},
|
|
261
263
|
});
|
|
264
|
+
|
|
265
|
+
// END UPSTREAM
|
|
266
|
+
})(globalThis.defineProvider);
|
package/plugins/aixy/plugin.json
CHANGED
|
@@ -14,9 +14,17 @@
|
|
|
14
14
|
"AIXY_API_KEY",
|
|
15
15
|
"AIXY_BASE_URL"
|
|
16
16
|
],
|
|
17
|
+
"setupFields": [
|
|
18
|
+
{
|
|
19
|
+
"key": "AIXY_BASE_URL",
|
|
20
|
+
"title": "Base URL",
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "Provider-specific account or source selection."
|
|
23
|
+
}
|
|
24
|
+
],
|
|
17
25
|
"upstream": {
|
|
18
26
|
"repository": "https://github.com/steipete/CodexBar",
|
|
19
|
-
"revision": "
|
|
27
|
+
"revision": "6070b29a1a5d51193a634dc1b0a14a67c39d0ccc",
|
|
20
28
|
"path": "Sources/CodexBarCore/Resources/Plugins/aixy.js",
|
|
21
29
|
"sha256": "975d98525503e286f9425c2a1d64fe00da8e2fdc0b00890e15c2cbcb9a37c125",
|
|
22
30
|
"license": "MIT"
|