@hashimkarim/usagestat-linux-x64-gnu 2.0.0-alpha.3 → 2.0.0-alpha.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.
Files changed (142) hide show
  1. package/native-manifest.json +731 -65
  2. package/package.json +112 -1
  3. package/plugins/UPSTREAM-LICENSES.md +6 -2
  4. package/plugins/_provider-icons/LICENSE +21 -0
  5. package/plugins/_provider-icons/NOTICE +12 -0
  6. package/plugins/_provider-icons/licenses/CodexBar-MIT.txt +21 -0
  7. package/plugins/_provider-icons/licenses/LobeHub-MIT.txt +21 -0
  8. package/plugins/_provider-icons/licenses/UsageStat-Bar-MIT.txt +21 -0
  9. package/plugins/_provider-icons/manifest.json +1219 -0
  10. package/plugins/_provider-icons/provenance.json +269 -0
  11. package/plugins/_provider-icons/source.json +4 -0
  12. package/plugins/abacus-ai/icon-color.svg +18 -0
  13. package/plugins/aixy/LICENSE +21 -0
  14. package/plugins/aixy/plugin.js +261 -0
  15. package/plugins/aixy/plugin.json +24 -0
  16. package/plugins/antigravity/plugin.js +136 -46
  17. package/plugins/antigravity-cli/icon-color.svg +1 -0
  18. package/plugins/antigravity-cli/icon.svg +1 -3
  19. package/plugins/antigravity-cli/plugin.js +11 -15
  20. package/plugins/antigravity-ide/icon-color.svg +1 -0
  21. package/plugins/antigravity-ide/icon.svg +1 -3
  22. package/plugins/atlascloud/LICENSE +21 -0
  23. package/plugins/atlascloud/icon-color.svg +1 -0
  24. package/plugins/atlascloud/icon.svg +1 -0
  25. package/plugins/atlascloud/plugin.js +49 -0
  26. package/plugins/atlascloud/plugin.json +23 -0
  27. package/plugins/augment/icon-color.svg +14 -0
  28. package/plugins/bifrost/LICENSE +21 -0
  29. package/plugins/bifrost/plugin.js +361 -0
  30. package/plugins/bifrost/plugin.json +23 -0
  31. package/plugins/claude/plugin.js +302 -152
  32. package/plugins/claude/plugin.json +1 -1
  33. package/plugins/clinepass/plugin.js +19 -3
  34. package/plugins/codebuff/icon-color.svg +92 -0
  35. package/plugins/coderabbit/plugin.js +25 -0
  36. package/plugins/coderabbit/plugin.json +12 -0
  37. package/plugins/codex/plugin.js +1 -0
  38. package/plugins/command-code/icon-color.svg +3 -0
  39. package/plugins/command-code/plugin.js +7 -3
  40. package/plugins/copilot/icon.svg +1 -1
  41. package/plugins/crof/icon-color.svg +3 -0
  42. package/plugins/crofai/icon-color.svg +3 -0
  43. package/plugins/crofai/icon.svg +2 -15
  44. package/plugins/cursor/icon-color.svg +1 -0
  45. package/plugins/deepinfra/icon-color.svg +1 -0
  46. package/plugins/deepinfra/icon.svg +1 -4
  47. package/plugins/deepseek/plugin.js +150 -59
  48. package/plugins/deepseek/plugin.json +3 -1
  49. package/plugins/devin/plugin.js +3 -0
  50. package/plugins/devpass/LICENSE +21 -0
  51. package/plugins/devpass/plugin.js +115 -0
  52. package/plugins/devpass/plugin.json +23 -0
  53. package/plugins/elevenlabs/icon-color.svg +4 -0
  54. package/plugins/factory/icon-color.svg +1 -0
  55. package/plugins/fireworks-ai/icon-color.svg +1 -0
  56. package/plugins/fireworks-ai/icon.svg +1 -6
  57. package/plugins/gemini-apps/LICENSE +22 -0
  58. package/plugins/gemini-apps/icon-color.svg +1 -0
  59. package/plugins/gemini-apps/icon.svg +1 -0
  60. package/plugins/gemini-apps/plugin.js +470 -0
  61. package/plugins/gemini-apps/plugin.json +19 -0
  62. package/plugins/gitkraken/LICENSE +21 -0
  63. package/plugins/gitkraken/plugin.js +153 -0
  64. package/plugins/gitkraken/plugin.json +24 -0
  65. package/plugins/grok/icon-color.svg +1 -0
  66. package/plugins/groqcloud/icon-color.svg +1 -0
  67. package/plugins/helmcode/LICENSE +21 -0
  68. package/plugins/helmcode/plugin.js +188 -0
  69. package/plugins/helmcode/plugin.json +24 -0
  70. package/plugins/huggingface/LICENSE +21 -0
  71. package/plugins/huggingface/icon-color.svg +1 -0
  72. package/plugins/huggingface/icon.svg +1 -0
  73. package/plugins/huggingface/plugin.js +293 -0
  74. package/plugins/huggingface/plugin.json +25 -0
  75. package/plugins/hyper/LICENSE +21 -0
  76. package/plugins/hyper/plugin.js +131 -0
  77. package/plugins/hyper/plugin.json +26 -0
  78. package/plugins/kilo/icon-color.svg +1 -0
  79. package/plugins/litellm/plugin.js +54 -3
  80. package/plugins/llmman/LICENSE +21 -0
  81. package/plugins/llmman/plugin.js +133 -0
  82. package/plugins/llmman/plugin.json +23 -0
  83. package/plugins/longcat/icon-color.svg +1 -0
  84. package/plugins/longcat/icon.svg +1 -4
  85. package/plugins/manus/icon-color.svg +6 -0
  86. package/plugins/mimo/icon-color.svg +4 -0
  87. package/plugins/mimo/icon.svg +4 -1
  88. package/plugins/mistral/plugin.js +110 -5
  89. package/plugins/moonshot/icon-color.svg +1 -0
  90. package/plugins/muse/LICENSE +21 -0
  91. package/plugins/muse/plugin.js +319 -0
  92. package/plugins/muse/plugin.json +26 -0
  93. package/plugins/nous/LICENSE +21 -0
  94. package/plugins/nous/icon-color.svg +1 -0
  95. package/plugins/nous/icon.svg +1 -0
  96. package/plugins/nous/plugin.js +124 -0
  97. package/plugins/nous/plugin.json +24 -0
  98. package/plugins/ollama/icon-color.svg +1 -0
  99. package/plugins/openai-api/icon-color.svg +1 -0
  100. package/plugins/opencode/icon-color.svg +1 -0
  101. package/plugins/opencode-go/icon-color.svg +1 -0
  102. package/plugins/opencode-go/plugin.js +30 -12
  103. package/plugins/openrouter/icon-color.svg +1 -0
  104. package/plugins/pi/plugin.js +113 -0
  105. package/plugins/pi/plugin.json +11 -0
  106. package/plugins/qwencloud/icon-color.svg +1 -0
  107. package/plugins/qwencloud/icon.svg +1 -4
  108. package/plugins/raycast/LICENSE +21 -0
  109. package/plugins/raycast/plugin.js +174 -0
  110. package/plugins/raycast/plugin.json +24 -0
  111. package/plugins/replicate/LICENSE +21 -0
  112. package/plugins/replicate/icon-color.svg +1 -0
  113. package/plugins/replicate/icon.svg +1 -0
  114. package/plugins/replicate/plugin.js +165 -0
  115. package/plugins/replicate/plugin.json +24 -0
  116. package/plugins/synthetic/icon-color.svg +14 -0
  117. package/plugins/typesafe/LICENSE +21 -0
  118. package/plugins/typesafe/plugin.js +225 -0
  119. package/plugins/typesafe/plugin.json +24 -0
  120. package/plugins/v0/LICENSE +21 -0
  121. package/plugins/v0/icon-color.svg +1 -0
  122. package/plugins/v0/icon.svg +1 -0
  123. package/plugins/v0/plugin.js +214 -0
  124. package/plugins/v0/plugin.json +24 -0
  125. package/plugins/venice/plugin.js +50 -1
  126. package/plugins/venice/plugin.json +2 -1
  127. package/plugins/vercel/LICENSE +21 -0
  128. package/plugins/vercel/icon-color.svg +1 -0
  129. package/plugins/vercel/icon.svg +1 -0
  130. package/plugins/vercel/plugin.js +55 -0
  131. package/plugins/vercel/plugin.json +23 -0
  132. package/plugins/windsurf/icon-color.svg +1 -0
  133. package/plugins/xai/icon-color.svg +1 -0
  134. package/plugins/xai/icon.svg +1 -7
  135. package/plugins/xkiro/LICENSE +21 -0
  136. package/plugins/xkiro/plugin.js +99 -0
  137. package/plugins/xkiro/plugin.json +23 -0
  138. package/plugins/zai/icon-color.svg +1 -0
  139. package/plugins/zenmux/icon-color.svg +1 -0
  140. package/plugins/zenmux/icon.svg +1 -3
  141. package/usagestat +0 -0
  142. package/usagestatd +0 -0
@@ -0,0 +1,269 @@
1
+ {
2
+ "repository": "https://github.com/hashimkarim/usagestat-bar",
3
+ "commit": "f73f1d60e77ec857dfa27e97804efbba59b7ae33",
4
+ "path": "assets/provider-icons",
5
+ "files": {
6
+ "abacus.svg": "b1432e0fdda04716dfaa3a7858f30f74fcd11a56bc2bd7b6f2656f65bc4ba853",
7
+ "ai21.svg": "6c80f2c0d8b11d1bee179666049b00e0ab7f58f5ee8c307ca0dd3327bb49f282",
8
+ "ai302-color.svg": "35ede625cfc22335fc9b252e96dc7992e4e08a399bb7a714f8570f6779d19e11",
9
+ "ai302.svg": "d834782560ad37a479df0b2ed6eb6b7b4fbd4468283809166cb274f6200b83a6",
10
+ "ai360-color.svg": "59366fe04a4336518b8277b430f4a464a91e7ec944c9cf6f40a945c74002386d",
11
+ "ai360.svg": "e8af6c1fc0d6b231ef18762a18d9468f9bbc4e40e99961064d01445101a86b19",
12
+ "aihubmix-color.svg": "e0ba11dd4b14fce9df434604cb081749b8f3347392d263d7d6f291b81f113f7f",
13
+ "aihubmix.svg": "41ad4cc30733cde03b3b08efd0c873936b66c54ee42efaa3033cd9e101006089",
14
+ "aimass-color.svg": "59eaa3bc23c72094a9adc38b252db87a53374cacae1d10e1ee69e0c499e7b1b5",
15
+ "aimass.svg": "fc903247b090faf14d10de6145295e7915e21cb8bb24d847fad4eb1313836c43",
16
+ "aistudio.svg": "ca05675a319ba0b530fe396150357f5dddd7f7bbb2d15ffe5e21178e568a167c",
17
+ "akashchat-color.svg": "ac00554360ea4393f95c256865edbd7f28dd0287da8334bc03c8191b57cba386",
18
+ "akashchat.svg": "080d49be6a2ac5fa7ea1467b1e5f65d38ef8ddb6f221b0da0599da2e94173a36",
19
+ "alephalpha.svg": "466340f37bb1958d24a10e5ced4d980a7a246d4f4efdc3e6bc2a206bb3dc571b",
20
+ "alibaba-color.svg": "48ee796c5b1da5f5f11dbd70c5c64a3f7efcb9eeb9022ae687d81fc813e942ee",
21
+ "alibaba.svg": "9ecd942970e4616933c9e1c014f58ad31ea4c1775efefc4f41b55ea166f443ee",
22
+ "alibabacloud-color.svg": "73ea97baf919edb3d888a77cd45b21574e190a80124a59e199ea6953a28a959c",
23
+ "alibabacloud.svg": "7a62c43622e764c416b9069a8ce505d2560f4b4bcf71ed46bbc32d7259416c56",
24
+ "amp-color.svg": "6df4cced9e35703d6263d65968985e8afdff68b61358daf9cc09fa16dd9b2aad",
25
+ "amp.svg": "aa6d3fd2fed46e5bd3fdf0e80adab9ed22cbe48e8aa9cd6ea5f7a3ffffc606b1",
26
+ "antgroup-color.svg": "d8ee74ad28e56310258002abf3c4194f4a962ffa51bc5e4d615818750eab04c0",
27
+ "antgroup.svg": "0da4c28aae987c169ccd73d572659e3eca89df8e64efd0c3bcdde73f6c79fab9",
28
+ "anthropic.svg": "e833fdfa7e7187a86a05b870925067556a506dcd4239089aed73e1e58c9366a3",
29
+ "antigravity-color.svg": "652128cf55a28bb958563ee372d0bd00208d9e6fd446f523f77aafd811eef8ca",
30
+ "antigravity.svg": "43f551fd125c17fb54c8c74eb461924fb97f32bb64ac89f73bb73852753a6461",
31
+ "anyscale-color.svg": "c0d5ba61c5248bee216d12dbbecbfdb9e8ac5a8e4718d4345794d61ae5929917",
32
+ "anyscale.svg": "a9e8912200c19bf0a442012a6a140d910b444d898917aca5c3912d6552988d9a",
33
+ "apple.svg": "100637681febc38512bf8d43f7d5f79f2aa8caead15b256cd28b378b053fca69",
34
+ "atlascloud.svg": "f4b4170259c722a970176763fd9f3b18fe34a661e063afb88ae340f4c7ff1474",
35
+ "augment.svg": "a9a0e8cc02ec1969715b5cccea09c3049a8bb1c8ce5848328436d539db14c99c",
36
+ "aws-color.svg": "b23f044479fe5c80f7df0a9515f969e5ea710c5f40d26dffa08969a0151731f3",
37
+ "aws.svg": "f73f2506defea5df3b064bcea998339e183c4f979b2bb4af4fcbf42c29ae151c",
38
+ "azure-color.svg": "abc639d094593943c1b201270f4903c74d02d2e26acf26abf592a29c222c5181",
39
+ "azure.svg": "a48fa106b32093acac4cb858df39c4ee6bf1049d2ecec92ad556190f7c4d9a0e",
40
+ "azureai-color.svg": "89bef85d67f45984dba85f8d7e6a8ed91585f706c43f7236a89590d8f4940fde",
41
+ "azureai.svg": "86369e6bb5862eb88b0bb9dc873bc0025d21f343c7a158b05c8689ba77445272",
42
+ "baichuan-color.svg": "7d49311206402734850ed9dc112759780429bb363dcee31eccb5a92f428532a6",
43
+ "baichuan.svg": "6f2640b1b3eca4bd3758bb823b1a2df0327d286959706ba14bb564de11ae0ffb",
44
+ "baidu-color.svg": "1059750a2069aec6080ff48732931e87a99bd3d22db3e8471cebe255b6014b75",
45
+ "baidu.svg": "6eb0cf7d291162b803e0440e61b5a165fc9c36af61b83c8c90d69f5811177f65",
46
+ "baiducloud-color.svg": "2269f4c82a3a810f42691c82d0d5086961c2b684a2dcc1e7523cd9f8564e2f35",
47
+ "baiducloud.svg": "21d141d12d3aad70dd39e5ef0f0713de1dbe5f403298f9a939c23394a47a3ec8",
48
+ "bailian-color.svg": "5cc26dc961b2ecd0912f4e023c8ce745bcc52ac45b1c4baeadd7201f6b60de25",
49
+ "bailian.svg": "e9a43dd5ed7a39e01f8be3cc7e875ac195ba276e4832d2a906e9fcdf94e21063",
50
+ "baseten.svg": "d560883f6df500c1290b2fb2018836d853c72697c1fc252793538fabf53ff28d",
51
+ "bedrock-color.svg": "a149a5678ce2b5d821759aabca7b815867027a8231a76723b3673580e8177a60",
52
+ "bedrock.svg": "b07f07bb6b77a1ee83916430250dc9adfc799ec43fbc5932947af099bcfcb9f9",
53
+ "bfl.svg": "c08f545c77c40f2447fb91d75f78db81dc2aeebb7291bb51ad2a982276219dc7",
54
+ "bilibili-color.svg": "daab1fb9ba8466de6178020db2ee7ef9fd6a01895ce383fa1c79269cc97288ff",
55
+ "bilibili.svg": "eab353e8cc1f0828c2d558fb174f65e7b87cbba35b7f6cb8b8d5e98e4fea3400",
56
+ "burncloud-color.svg": "d51a3c8049a0a6e20fb1b33a249aced927a8682e568b61d4b83d1ccdfc0be01b",
57
+ "burncloud.svg": "8c6ae871bc348bee796c41f0ed4d0af503e1017350c384375b756ecc7bbd31a9",
58
+ "bytedance-color.svg": "3d37647be262c79b044e293bb1a4993202537e9f9ffdbd2bbe7e9fc5378d1005",
59
+ "bytedance.svg": "f7ae0a574bd2e28b17258e6e65061c564f764d807cba65d6d1013f50cbfdd7f5",
60
+ "centml-color.svg": "682b135388265ae656d2a6c28400043c0f11cc5057c2a789000a261c7602e9f4",
61
+ "centml.svg": "0648efe0625231a9f441852c147db86a1e44c9a30d7251365170d182a145229a",
62
+ "cerebras-color.svg": "355c2225284cd06c9cf4246110b60cb21bc86039872981e1be6bb82deec2ffa7",
63
+ "cerebras.svg": "05af9593eca3fefdb30c5ad042040f008beea2b27e0a6b7315c319492f7a44ff",
64
+ "civitai-color.svg": "5a6f20166d590730d63269685e6f1b563fd155a550018f99a223d8fa9c4e1f60",
65
+ "civitai.svg": "5f5d505778bb74ba217f3b86023b2de6538ede2f63f77cddeb568142adceb54f",
66
+ "claude-color.svg": "a3101f3047a119aa11825ad9369510f0c472428c8c52d420e31bc62db44a8364",
67
+ "claude.svg": "365a70a7eb3956d9b9a96086058ebe04e1dbd8e291a756ad964e8a283fbd6d38",
68
+ "claudecode-color.svg": "670b3d8d749d0815ad8f7e62a59d51cb5e2053cb19403f3541a8aed7036a877f",
69
+ "claudecode.svg": "d7eb2d876b49e51cc16291a42b681d7cf4906e60e0150776dbfb353ec4ca3746",
70
+ "cloudflare-color.svg": "cee35d3f0ecb7925ce0a89aeaff8b907cadae7c3fe44a23e4001cc8d5ee57502",
71
+ "cloudflare.svg": "78f8973dad59f8af7c4042ef6be451d809a4e14bdb2151a75a76b4e0811fd22f",
72
+ "codebuff.svg": "02076da099686727cf188568914d6b8be2cf0d8f7d7af90204bac6d9a52d26d8",
73
+ "codex-color.svg": "602c684539c311e736077539438d141d6102de84102fd8490410c8d7730dbc1e",
74
+ "codex.svg": "d08b4e824cd6727e89617f59e4737273ff53e44c1da849d016dd64dfd08b33e1",
75
+ "cohere-color.svg": "84d0ee3cbe66f030e5a18cb2c86da9166ab2137c7a98781693bb1fbf31e392b9",
76
+ "cohere.svg": "72851dd36d6ab017f535202744765eead8f99cfb5ced77e1840bfdb70db7a85c",
77
+ "cometapi-color.svg": "069903c78f5f468da16bfb82ed1de0f74030904183f764b71deb0c7e94213c23",
78
+ "cometapi.svg": "841ac39e46df8ec3f5d1d786c0d085e4d0749875a3a8af6c18f432f02c9c1b7d",
79
+ "comfyui-color.svg": "2f14161b0c6ce1c314b66cac785ac81948bf2b34b784b114e5df09b6797894c6",
80
+ "comfyui.svg": "1169cfa777743f92e268502a56edf820c04314e0219b95cbe95536aaf44682db",
81
+ "commandcode.svg": "e7c513163be92918f38e9c77630d2bdf0845436fd003d77cd8c989ec035b7303",
82
+ "copilot-color.svg": "04f15d0556fbac10a4e0f82d1560610db8b33cd04780a4f24ad3b91c4abd278d",
83
+ "copilot.svg": "6708c5eb7fd426d3bd0de54edcecbb2a96bfcfd40ae1eb5745b0c12e19c8f1d2",
84
+ "crof.svg": "66a00c94aca5ce87bd54aa502908a00d84017360a10e09334fdb8a5a621296c3",
85
+ "crusoe-color.svg": "4aaec4fa4b003d63d03ec9f2ab14d4c1fb94bb40d919cd57d7194f0d4f6bf2e8",
86
+ "crusoe.svg": "186eb55326510e34ed5d91a13a223dc5b35622cd268983ccac4efa79deb70ddc",
87
+ "cursor.svg": "0cb51bddf264ae108926fd554c063ef40fc1aac3c5c921ddb39ad184e4e5d0ef",
88
+ "deepinfra-color.svg": "bfc78853fe658f6446651d03218f3e809215fd7cb3bce841a6526de383286544",
89
+ "deepinfra.svg": "2a20be86e90b3c2085d5b3213f52c75e4f0041b239d6140475f5809863d45392",
90
+ "deepmind-color.svg": "f19b4db1fcf8660ab53743416262ee29e84856f5904c640aab1ded9c27e070bc",
91
+ "deepmind.svg": "ce8ce6adeecdb972aaa2a10d73153312c6573def02a9da2375a49d3380c0dd62",
92
+ "deepseek-color.svg": "deba5f98a5c1796e20fcac3149bcd7eb8a32f0bdd04d048819400b1f28bd1439",
93
+ "deepseek.svg": "8f9443e351b6dacce71871790201b799d92e8bf96a45ef79aeb5e9bf4db423e2",
94
+ "doubao-color.svg": "3cd31ba03ae44b8c29561597a3b863809efecb13fcdfd08407a086df86a69b55",
95
+ "doubao.svg": "cbda61929dbe7263a969d34ca8a022226d45d20fddfe333c1608abcb52de7b52",
96
+ "elevenlabs.svg": "2c56c8c39ec39388b1d43f37ca72c2193ade94c75f8907d4876a99f01d4be7cf",
97
+ "exa-color.svg": "8d8113b2d6796bc680cccba6578a1487e49407adf08bbe20fccd949b59a8371a",
98
+ "exa.svg": "b1ae01ccce6798d7b9a129807e0fb9b0629cc035f4ead27d6300ab2adde792bb",
99
+ "factory.svg": "2e5456a98bd699fe96d5df792be909ed2d81db57641ebc6edf7e6798d21e5fd1",
100
+ "fal-color.svg": "577d952ac6f863d6b0dd129918597692230b2fe0633cb4ea0e0a5085aa3f8c7d",
101
+ "fal.svg": "622cdc2ccc3aefe55d60f2bb65af9e16c74143da980a806c4074c98e31b0e5b7",
102
+ "featherless-color.svg": "45efbd887b9cfbef1bcef24c202df762ea2fa71a8fa5d96903cdad72a23a0965",
103
+ "featherless.svg": "22f864afda9bf71b9295825d0f737fdf99b74574e1ce0c219f296260341dac69",
104
+ "fireworks-color.svg": "f1c4782b86bc03a36323fd68ad6cc376c6b2ebe57b701cc958ebd6b8d37effd6",
105
+ "fireworks.svg": "9991ab2a8331096d3f408e07a5f2e1cb54c369143dd9fc7a97f6458478b33fe3",
106
+ "friendli.svg": "0ea6e5b955988d330951c463ea99babb3292e9859008cf8b66c85bf853d4a4aa",
107
+ "gemini-color.svg": "8ab0a9bafec11f7e69bcb9fc4ffd8f1bc927d1ddcbbb6ff36dee5ae8b5a9d602",
108
+ "gemini.svg": "87d5b3c4be75a66f54c1936482a263df68185545b741129badd1b7c2449c18d3",
109
+ "giteeai.svg": "bff2da7cbd9839118593bb79b30fa2342425005024e06a8e1d46a4b9a123acda",
110
+ "github.svg": "1bd763b5d53ab1618e0afce72aacffc7e93d1249c395f713b3b055c087526625",
111
+ "githubcopilot.svg": "bbc7fddc13448236e5edea8c399d2072dc40aa5da5bca07f7a2f412405c500a3",
112
+ "google-color.svg": "4e6aa8892ef15a6b431f40f2c9045979bf7e2357524e7bbb89b353cf4f32a5ac",
113
+ "google.svg": "c4bb45d362cb0a98b33b1f2fb424db2a5cd95a90e1043ae4e387de81a5e64951",
114
+ "googlecloud-color.svg": "c0faf37b180dfc1efe12440c039047b0e1c60a3c424cca6616e580f6f219a7dc",
115
+ "googlecloud.svg": "b291bfc3a243a3a15b058837d6a3d22aa919ef2996cc2907a632779a1ea8dd96",
116
+ "groq.svg": "078d5cf6e7a54905040c15ddacf5ea33c13042fe7739e820cedc2096e4406651",
117
+ "higress-color.svg": "09cf4bf0233c6c5434da8c64e76cbd57f1c9ec2b1c85b427b9108692aeee5ca1",
118
+ "higress.svg": "4370b29cd6d1d4a72d486c9fd4de6b44369090050c07722942196cdf847bd6a8",
119
+ "huawei-color.svg": "ca9af4229ba3d538811cad7939b5f3f9edc87ec9448eae579506c659cd133d4a",
120
+ "huawei.svg": "edc88427effc3f4459f15f2f134a95d90609d630fef68b67639288bfc3dbc34d",
121
+ "huaweicloud-color.svg": "8a5e4cb6452046ecaf3a500e3a89955efdf54bfd0bed46a9c364fbd5f13290e4",
122
+ "huaweicloud.svg": "6b091e0e2ec49e68499e77e4e2fcb7c855c26be4303f8e1ac92a5a04c942db80",
123
+ "huggingface-color.svg": "5d39d66bb6c9b026d3cb5de7bd9978dad3906570df2aca8f00078a6f8a3d0f5e",
124
+ "huggingface.svg": "de7f2c60f974b75b385116ef0dc6a9fa62f2fd7bf58156b5623301a5436b91c4",
125
+ "hunyuan-color.svg": "510e7bb438506b5aadfaf8b9551d1606efd5b4171161a64a64204c72a453658a",
126
+ "hunyuan.svg": "7306a65eb71c4de61e21a637e5c4fef94afde823678e225c46f891cc783f6531",
127
+ "hyperbolic-color.svg": "459ebd5a986f2ba3dded01c29b97fb708893064ba64f5aa2131fd9690b32f503",
128
+ "hyperbolic.svg": "2213d21037cd6ffa2d61ef14e7c86036f4f3ea45c7a18f6f91d67664ca5b8493",
129
+ "ibm.svg": "62c37af8c3f191572921197a29c90687079e62d3033f503faae59cdc96af0fb2",
130
+ "iflytekcloud-color.svg": "0012c7c24cf8d987a9e2fd17e9b555ff8082e4a7369b3e57dc0a827146bb0868",
131
+ "iflytekcloud.svg": "2d2f601e8892d8cea8ff1e210d720039ec45dbce5703930aa27c0cd2c59aa739",
132
+ "inference.svg": "289a6a94c69929eb55a47ddc5652fbdfa2b60a0914cdddf5ed432f978fbc080c",
133
+ "infermatic-color.svg": "cf4fb5e51f4f70c37f14b17f29c683c825db0d5d66ea1b7b01d8b427cc1c6393",
134
+ "infermatic.svg": "aa4513f45302cb4e495908eb546a52fb1563057121507b62b13ad376bd8f0a2b",
135
+ "infinigence-color.svg": "4b9f3e7da2bfa38bfad46906c821520d6dfc36f77886d746a4b40a0cc9b60f84",
136
+ "infinigence.svg": "c1b34b9873722c8f9f2b8f11a2bf0f017ac0c7a920e88f3e68cdf514b372b056",
137
+ "internlm-color.svg": "0e84741d3fb76e65fd86a57d18b6e31f31fa2e6156166c4bfa2487db894221a6",
138
+ "internlm.svg": "2507dd5e17f3ba47e0ed2c89181a677389a24620157aa4e56e9970dd5ecec2f9",
139
+ "jetbrains-ai-assistant-color.svg": "bbf81b7a31ed57842d9888b9e8cecaf510254a9c8e68bf7ef2cf0dcdb23876cb",
140
+ "jetbrains-ai-assistant.svg": "f1b81544c69637679322f54534c35d4d71639b90e30ca78c156a82a2f26a4331",
141
+ "jina.svg": "dbb78d6217774ddde8c57a6f5c94a3294c59e99c4a1e6ec786e409648b9bdb84",
142
+ "kilo.svg": "a2aef0e0bb992ebe768bfb8c3a3ab6ff2c2638448b09dd88db27877de1c07a22",
143
+ "kimi-color.svg": "74a7292aeb0220445d14c5d397d75760e2e8c6ed6a9e5fe4f3023471bf62a9ff",
144
+ "kimi.svg": "ed08131b46acf70e6e2144eceb775e74098b58ea65fa21eaee04be7b05cfe63b",
145
+ "kiro-color.svg": "a615030856efb1d2807916ae91b26ccd3c33e06c33ffde0b87e0941bd728a940",
146
+ "kiro.svg": "1b9faa274f7186465c7d3ddda8d639b49c844df11ba05b397526699cc0302670",
147
+ "kluster-color.svg": "dc4ae673ebd04f1b68245f188778fc7c086bd76328dba6f0feb1c1a29080b305",
148
+ "kluster.svg": "1b2de6dc029fc468a829ae4ab8ca3111f0e95900b55c99cf78d09e45289398e8",
149
+ "lambda.svg": "0fda3913e9969665646d82752c785189fa07c851c90272ff93f68139d369d3b5",
150
+ "leptonai-color.svg": "7e74337360b476dfec2e4cf88d16971d83033d17a1c99169885a3d86672d4111",
151
+ "leptonai.svg": "f85f96d3d8587b660f470d237357762bf33dad216bec0588d870070cdb4bece5",
152
+ "lg-color.svg": "379fdab6494a237f6ab61053d3a9b28bab724164f33de08018bbb945ed46415e",
153
+ "lg.svg": "170748b661b83c24cec2ccaf0bffacd37f16f1ee840c832518e5fc369308e379",
154
+ "lmstudio.svg": "4a575e8382b52ce742ac5d21d361a7d2a08cea7c12390ee1bbb755ef7d3cc25b",
155
+ "lobehub-color.svg": "13953f9e8520daea7c06119e824a946946bbfa1232e998cefdd71467bb54d835",
156
+ "lobehub.svg": "eb054e280cd94f07a3283682b72fcb13a660a34ce615650d9f4b19ad7ec40ebb",
157
+ "longcat-color.svg": "227f808520d700bc4dc762d8978a737ab149fb53cecb581d71548bacfd26722a",
158
+ "longcat.svg": "4f1ff7194ad6752ea48773b73c48b5de4de9d8d6ee265b7d31df8053e519182d",
159
+ "manus.svg": "5672e9d2d0923a922e346de20d3a69d724ccaa1136f79804bbd6fdb6b3c46f5d",
160
+ "menlo-color.svg": "1ae89562836a8bd8bc364a6e8b55c624c1289eee225b9be992d1b30bf4564ef6",
161
+ "menlo.svg": "453b4738e4826ef4b65ec00ff9a4db38a3fe304e14336cf4a437888b5c7c95eb",
162
+ "meta-color.svg": "adf9f2c1a646ccd3a37ca8c2e7e5985d64630cd633f4b95fba393d1d44e0578c",
163
+ "meta.svg": "805ef9a35305393eb5a89be46b0708c9b119b3308ca44aaedd1457ff04857060",
164
+ "microsoft-color.svg": "5cfb0ffa3231313c2968b5e3fedfcce8e2e96c61bde4572384c3889a77a80350",
165
+ "microsoft.svg": "0617d6111e99845e7ab06dd4ff1e16c2c1ad381575b3204ef02dd71b716ffa4b",
166
+ "mimo.svg": "c1fc2d692803a2c4b2b7b2a5f11f6983870e3d03338dab92f0b8bb7f5d6c1160",
167
+ "minimax-color.svg": "7f7187fa6d9b341ac5f22f6c5a970523afb439dc45566d64eb4f4b9b604d6b01",
168
+ "minimax.svg": "bb96e2005081494716de6af5fd030701ae551ee68393ad61b325c07325607848",
169
+ "mistral-color.svg": "722f74b289d95486b43662fe24fa883b333701296f618406cd0ed502299170b6",
170
+ "mistral.svg": "a06cfa54e7deff7f7544175b006b7f8a03fbc5624c44f7d553a44d07ea96e629",
171
+ "modelscope-color.svg": "21841ddba0c560ad44c4def00a66f2a9b31703438ba390ea0b8e01cfbf39b5e4",
172
+ "modelscope.svg": "e2f89ef46b3fd764c1847b6d1f6390d1c5a9f5b012c9d3dec373e804fd3d7c23",
173
+ "moonshot.svg": "435f41b74e6a87639b6bf860e9628f20cbe7d6229bece412d548f4cea3081852",
174
+ "nanogpt-color.svg": "b57547b2925e8c44a862798a12454c78906d666896ed7e8381bf3c9bbb68052c",
175
+ "nanogpt.svg": "688e3cfc8c1fc4a9d2f99c21243225c7adfd5debf5c06387031f87a7e81006ee",
176
+ "nebius.svg": "4213ea25ec4c782688a7dafdad4bb828096151639077001c4df9c10a315f1af1",
177
+ "newapi-color.svg": "b54496a735b49c4e5d7d1b5f00be9f33e0e4ef3f04a7c4c167dc9209dcae334b",
178
+ "newapi.svg": "05ec0868ab6bccc17f716d0611f98448f14f6c39e96915888b448609981267df",
179
+ "nousresearch.svg": "4dc3c7cdf13d2f0bdf16b872d76293f048010a00f580df68a85e1f9c4e500e5d",
180
+ "novita-color.svg": "e41321ff6a421b958c7f402f11ffcf44dbcef9c703c952736bcc92c0fd6624c4",
181
+ "novita.svg": "118af2fde0c68b129f85d28154eedd52f9c0456ecc4870823424c81c7f7bc523",
182
+ "nplcloud-color.svg": "c77cd413880fbfb1a1cf5115d1b75959de9805b6db6af3ce81b106e267d84069",
183
+ "nplcloud.svg": "4f567fc42ae659fcad83865217ae1cdc4755b066ac163f54304d222f6a8764aa",
184
+ "nvidia-color.svg": "8c941e4eb8b782eccaaea1240c059d20be33ab8eda28d7c9ed9b53ac802fe683",
185
+ "nvidia.svg": "5a419b99e0ffdbfbe8caa7ec25581054eae03024da59cb860c54ea55ac8e7e73",
186
+ "ollama.svg": "3a268218fb2e6e81fa31df70f70b51331625047794db81db21d35359428fae7a",
187
+ "openai.svg": "a595df6b423920c67a7f8f73c063e4bfb72d415948097b6cac063a2366bb5186",
188
+ "opencode-go.svg": "7cfa6e9d6726f7c9fa26c7d9aef0dfec52d20a137380454340f30f12ccbfd302",
189
+ "openrouter.svg": "c9e48eae623a76ff784877bad6f70f57c67811a05a4ab2450814c7d285b17d24",
190
+ "parasail.svg": "0083857f48835c3c4f83bc4263331cfdbebdb6e4768e200e0279c1d152972231",
191
+ "perplexity-color.svg": "8353f3ab20822f1a933224b0ea32cc39f0c32d5740f4af8c254b0f418e0a3a70",
192
+ "perplexity.svg": "c66c64e9e3c273ef6c235f743808d67ffa7d482e8cbe4a79496a42b60333e1fe",
193
+ "player2-color.svg": "4ec87e3efb6aeb8d3a87b8438b884059ef5cd17e9081faa16bfc66bd4e89d050",
194
+ "player2.svg": "f7e23738e3984a77cfff870f0af6e3559e4faeaf2d2980e9d3dc7cb39c269f74",
195
+ "ppio-color.svg": "a1735277c456430e099bdc397b29e817c27c3890a7d072926be3125812ce0942",
196
+ "ppio.svg": "b6f815ab19730f01c6a3857a3de6232cf33a64401c110033696d6a0c837b044e",
197
+ "qiniu-color.svg": "a3b7b47f1127448d32efee0abc38b495ed183518fb9847905fcad7b05839ba53",
198
+ "qiniu.svg": "bd9a8bc3b8ba3338da11ca335d66c4cc246b6c8524936ebf800ad1320294e8ed",
199
+ "qwen-color.svg": "77f5768c66d08ce1d3d14e73373975c1bc0454be88c81523ddd0ffd7e2974029",
200
+ "qwen.svg": "dcb3ba2f2b55ccbacbade0ca0bf98921fbaf8a07848972974b4a9bf8077376cf",
201
+ "replicate.svg": "ff02158db5bc4a693d7f690c36cd7d547b8ca3313accba0783b2d3af28dae1e6",
202
+ "sambanova-color.svg": "411ab881318738b7689e5fc6c4e0879a22913aabb9bc2125e3fc03f24e3214d5",
203
+ "sambanova.svg": "4f82732325bba2496cb91f2e72636d05c03276763562b75795c37f764ae4357f",
204
+ "search1api-color.svg": "4cbb94ff861a06d447808d8746f230d244733857d465feaa0a80022ed6339f6e",
205
+ "search1api.svg": "81d5fe1295044aa2aee8c14659d25145a843f1190837fbc6ce7555a4ac79648e",
206
+ "searchapi.svg": "23c8ca301e5dd89b931846e6b3fb71a769c99ec16da8ee68552555a4925bf5b5",
207
+ "sensenova-color.svg": "bd2e0f8e310ff6a5edcc56a85560221923262767ba76b660a193f45c40c123fa",
208
+ "sensenova.svg": "6dbe2705669ffb174bdb9dd3f489dfadec0018b6c6580794337378c9842cb621",
209
+ "siliconcloud-color.svg": "a02d8d7ccb81739fbc720e2e5daaf149013dd5088605dc2dce1b71df0784d424",
210
+ "siliconcloud.svg": "50025587d401e07f7d82a2977146176bd8c9d9f52c54c452f31bb49c16d0cf3c",
211
+ "snowflake-color.svg": "f9e4d625d1563a0228fc738e3903c72a200da1aa75d156dac46c31067be0b314",
212
+ "snowflake.svg": "4e814ab515ea483f674946d39279da9b6400abf650c68dccbfe06c837e0e3ab6",
213
+ "sophnet-color.svg": "ef90bf51bc6c55ca1208973e4e6bdc4690e949c4ee6d71d4c494eeb2372e56d2",
214
+ "sophnet.svg": "36a9cd334837401ee9a6f833527cdd8331acd52c45f211a350e23934c9db5ffc",
215
+ "spark-color.svg": "4068581452b808e4d9f8c5b43b42d324512d6801de26e57cf848125c28db85bc",
216
+ "spark.svg": "e19b6b5d7c398d115934e4c8762a8fde525db792e2c4e8bc6934a71e70e7ce7c",
217
+ "stability-color.svg": "61c4593effe20b4fa1f0811861bb6ac199348d955b21a5c3f719bc07c9d27d3a",
218
+ "stability.svg": "6cf25e3b187754f804f8a2f54a5955a166f877d907c83517adfe95b432585562",
219
+ "statecloud-color.svg": "cb789480d4394c856cef6c857a6b0243be0dceb3d82c87997378be20fa9c6fa0",
220
+ "statecloud.svg": "487865ea5e58009be7a61ed4fb6f17199ce877d2374436ab0101b2caa740c9fd",
221
+ "stepfun-color.svg": "f55afc0e6004c8854f76bd5bbcc0fce9fc0ed9316691d54fb02d088c24fab40d",
222
+ "stepfun.svg": "f46fbd1eee00a3dc7874395484bcc3e25a803e9eb4b79f07b7eec377a1e2f25c",
223
+ "straico-color.svg": "590fc23e586e03b8026c993e1694045044d7c84b3b09261c872c4bd1178c8a2b",
224
+ "straico.svg": "02a98b2b841795a3551048c78fc067e65e5b06f73b70eca8afe7c58db0257835",
225
+ "streamlake-color.svg": "29d922732dd3e5c1ebdc83829e03f6502ecf00d341bdc96f9ba066c9b3e65e03",
226
+ "streamlake.svg": "545798ab29ac2704b9108b2a449c776c073fd58701ef18df4261b75148f6966e",
227
+ "submodel-color.svg": "de65dab573c676c9ece150bff30f5c8fe01856f6ee5e7f8264d26ee5b3ba9811",
228
+ "submodel.svg": "23ccd6698138a775740954a9e57124592bf463fcaca74e865136d066db687269",
229
+ "synthetic.svg": "e1404ce02aca7eb604f8f12bb08c4d0d34d326f46fd37548731db47e9e4fd864",
230
+ "targon-color.svg": "bf5408cb3d59fc0046db6eb41bdc1cf18058e742a664731d6722bdd3f343d3a7",
231
+ "targon.svg": "e418195adf2c1f39f789356b4b460efa455c9270c2bec8ce3f8e23629d83c457",
232
+ "tencent-color.svg": "7c370ad4b75e3f30d0fa7da71f90466a0ee95a887189479aa9df414079b50eb6",
233
+ "tencent.svg": "24f53f9f8195a04d0183e5ffa6b3e05e783e043d56b11ed65d066eb9211e5dc8",
234
+ "tencentcloud-color.svg": "f860dae064a3afd24970efd2bc5892f39438526bf52c3a9748f61fc05c1cfd58",
235
+ "tencentcloud.svg": "0563b1dbaa01aff4f20352bc9eb49bec17debeb3901a9ee80b044ac4d792c97d",
236
+ "tii-color.svg": "9d44157df5d74cbccd44c183ab979d860e1b44c1b2ba90705622da44ca1500dd",
237
+ "tii.svg": "93030a4904ca3aa3535c08d115d579e9ada7f1bc02e3d57b6660558b87f975a3",
238
+ "upstage-color.svg": "206e23f9143cd308998cddae36b674651d7435eebc357c596dacb2b39228a485",
239
+ "upstage.svg": "2b740c9457fdbe4b0e7e3ff2e10f99882314a813e1e81f8d291b7b61d56a2416",
240
+ "v0.svg": "fc253b71563a3a4db26ebc5a7b5402b30fb52d3f1f600025381e4f734ef1a2c3",
241
+ "venice-color.svg": "a4a909b289b05d3b4cc716452d0c744619b23e110d2853bafd81bfba7c8c165f",
242
+ "venice.svg": "2199c468fef49ebadfdabd4280461d700c290daaf9ab03fbf94564f9230538ee",
243
+ "vercel.svg": "4874d52d8b2ce7c309cbd10c424fee123b2c9483e76d76ad0dca41794483eb24",
244
+ "vertexai-color.svg": "40f8bb6f7aca8d80ce2b0bd0d976e8e3ddeada3719758d262ea20075c11ad764",
245
+ "vertexai.svg": "3a78043e65f2dad8a6278f5eaf7b5d636810a7b901efe03430ef2f40f3b38b2e",
246
+ "vllm-color.svg": "3f837bad8d7f85d19e860a089639289ddd7492e67dc1ac7bd0f129f8f19b8ae6",
247
+ "vllm.svg": "5b025970b51c270775d0528a68ad96583372c94a2a94c4d92b40b74cbe9f7153",
248
+ "volcengine-color.svg": "84f9e2cd1da7e73dc6c9a0f2521745d39cae96c008752cdb1baf57a8c94393a1",
249
+ "volcengine.svg": "f29d0bdc284b33d8664ef221add7fbf06a5b370ef92767fa33f6020c914d3d33",
250
+ "warp-color.svg": "aa07416df773b0c4d1920891d1a9761eaf5d19eff2aa422a5fdacaab75f44430",
251
+ "warp.svg": "6eaaab5ee21f27bae5ee3f125c281463ac1109ad4cfa8145231de87bc1456f4d",
252
+ "wenxin-color.svg": "9fb88d8b6f7be470ddb07f0574ec276b08a35ba96d73ec5f2f3b6fc338da5cb6",
253
+ "wenxin.svg": "3624b6084ce8ebefcbbb90ae6ab6485c4df9083187ae6e4012e1aba9a4bcea04",
254
+ "windsurf.svg": "e3c836aae05a3741e33d5c5a38d4167aacfbb69e480d098b8b94cad8c90e0d08",
255
+ "workersai-color.svg": "22617d11289857c70fe9d626e1622e0eb77f53a875177d866ffc3f95def6ab7e",
256
+ "workersai.svg": "dd630bc6ad3d584ebeacbff07a50976485cc300e069e3ec9b7012263cd58643d",
257
+ "xai.svg": "89eb7de9f0d02a41cfecd9109e253d7fd3529e27467dee4254faa67f3ac21451",
258
+ "xiaomimimo.svg": "b04ad7dad52af2212c4567daf0ee6856f2c4625c92c680a27f9880295d558b71",
259
+ "xinference-color.svg": "9fb12f4b6b3451a6295ce66d3596c8b36249077ad24d7b817b70ef0171529007",
260
+ "xinference.svg": "cfe962cb02a55aaee029c9ea74ce97f440ca1ba42fc0aa39afb976b35e44374b",
261
+ "yandex.svg": "390d3758093817548b39bc60f9400369708c290093059796b25d4604813d3450",
262
+ "zai.svg": "e748cb5108ce37b116d7a5ba97d37e0ae97eadf6849b0de11afb248e244a01e1",
263
+ "zenmux.svg": "1f9fab4e48601ca583e44ff06f22040a8b40f8952bc6bd67e67b065bef00b4b5",
264
+ "zeroone-color.svg": "d28b873a212c497e64aa555eb70383128e13570865f61a2f010c7a7cb8621ebd",
265
+ "zeroone.svg": "548126aabc59e4fcfbb773d40758ace786a8089397bcd1a135cfa6bed03b7d74",
266
+ "zhipu-color.svg": "8174e65ff71647d5c705c920c953a82bd723d9e3e42887bdd4ffc9dfe51207a0",
267
+ "zhipu.svg": "d4c3fe5ff92820b2ae5e3ddaaa30e6fc622cb746b75baad97f4bb2428fa25c5d"
268
+ }
269
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "archive": "https://github.com/agenticdriver/provider-icons/releases/download/v0.1.0-alpha.1/agenticdriver-provider-icons-0.1.0-alpha.1.tgz",
3
+ "sha256": "a98be910723f37595ba4755bc5d0a3fa00b7fa9436ae3fee5a55a305b4f2639a"
4
+ }
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <!-- Abacus AI logo: stylized vertical lines with dots -->
4
+ <g transform="translate(15, 10)">
5
+ <!-- Vertical lines -->
6
+ <rect x="0" y="0" width="4" height="80" rx="2" fill="currentColor"/>
7
+ <rect x="17.5" y="0" width="4" height="80" rx="2" fill="currentColor"/>
8
+ <rect x="35" y="0" width="4" height="80" rx="2" fill="currentColor"/>
9
+ <rect x="52.5" y="0" width="4" height="80" rx="2" fill="currentColor"/>
10
+ <rect x="66" y="0" width="4" height="80" rx="2" fill="currentColor"/>
11
+ <!-- Dots on the lines (beads on an abacus) -->
12
+ <circle cx="2" cy="20" r="7" fill="currentColor"/>
13
+ <circle cx="19.5" cy="45" r="7" fill="currentColor"/>
14
+ <circle cx="37" cy="30" r="7" fill="currentColor"/>
15
+ <circle cx="54.5" cy="60" r="7" fill="currentColor"/>
16
+ <circle cx="68" cy="40" r="7" fill="currentColor"/>
17
+ </g>
18
+ </svg>
@@ -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,261 @@
1
+ // Generated by tools/vendor-codexbar-providers.cjs; see LICENSE.
2
+ globalThis.__usagestat_bundled_options = {"labels":["Budget","Secondary budget","Additional"],"defaults":{"AIXY_BASE_URL":"https://api.aixy-gateway.com"},"autoMode":"api"};
3
+ function _optionalChain(ops) {
4
+ let lastAccessLHS = undefined;
5
+ let value = ops[0];
6
+ let i = 1;
7
+ while (i < ops.length) {
8
+ const op = ops[i];
9
+ const fn = ops[i + 1];
10
+ i += 2;
11
+ if ((op === "optionalAccess" || op === "optionalCall") && value == null) {
12
+ return undefined;
13
+ }
14
+ if (op === "access" || op === "optionalAccess") {
15
+ lastAccessLHS = value;
16
+ value = fn(value);
17
+ } else if (op === "call" || op === "optionalCall") {
18
+ value = fn((...args) => value.call(lastAccessLHS, ...args));
19
+ lastAccessLHS = undefined;
20
+ }
21
+ }
22
+ return value;
23
+ }
24
+ defineProvider({
25
+ id: "aixy",
26
+ name: "Aixy",
27
+ endpoints: [{ setting: "AIXY_BASE_URL", policy: "https-or-private-network-http" }],
28
+ auth: { type: "bearer", secret: "AIXY_API_KEY" },
29
+ settings: [
30
+ { key: "AIXY_API_KEY", title: "API key", type: "secure" },
31
+ { key: "AIXY_BASE_URL", title: "Base URL", type: "plain" },
32
+ ],
33
+ capabilities: ["http-status"],
34
+ async fetchUsage(ctx) {
35
+ const fail = (message) => {
36
+ throw ctx.fail.parseFailure(`Aixy: ${message}`);
37
+ };
38
+ const object = (value) => {
39
+ if (!value || typeof value !== "object" || Array.isArray(value)) return fail("expected an object");
40
+ return value;
41
+ };
42
+ const text = (value) => {
43
+ if (typeof value !== "string" || !value.trim()) return fail("invalid text");
44
+ return value.trim();
45
+ };
46
+ const bounded = (value) => Array.from(value).slice(0, 120).join("");
47
+ const number = (value) => {
48
+ if (value == null) return undefined;
49
+ if (typeof value === "string" && /^\d+(?:\.\d+)?$/u.test(value)) value = Number(value);
50
+ if (typeof value !== "number" || !Number.isFinite(value) || value < 0) return fail("invalid amount");
51
+ return value;
52
+ };
53
+ const count = (value) => {
54
+ const parsed = number(value);
55
+ if (parsed === undefined || !Number.isSafeInteger(parsed)) return fail("invalid count");
56
+ return parsed;
57
+ };
58
+ const date = (value) => {
59
+ if (value == null) return undefined;
60
+ let parsed;
61
+ try {
62
+ parsed = ctx.date.iso(text(value));
63
+ } catch (error) {
64
+ void error;
65
+ return fail("invalid date");
66
+ }
67
+ if (!Number.isFinite(parsed.getTime())) return fail("invalid date");
68
+ return parsed;
69
+ };
70
+ const base = (ctx.settings.get("AIXY_BASE_URL") || "https://api.aixy-gateway.com").replace(/\/+$/u, "");
71
+ if (/[?#]/u.test(base)) throw ctx.fail.apiFailure("Aixy Base URL must not contain a query or fragment.");
72
+ const endpoint = `${base.replace(/\/v1$/u, "")}/v1/usage`;
73
+ const response = await ctx.http.get(endpoint);
74
+ const message = `Aixy usage request failed (HTTP ${response.status}).`;
75
+ if (response.status === 401)
76
+ throw ctx.fail.authenticationExpired("Aixy rejected the API key. Check its expiry or revocation.");
77
+ if (response.status === 403) throw ctx.fail.permissionDenied("Aixy denied access to this key's usage.");
78
+ if (response.status === 404)
79
+ throw ctx.fail.apiFailure(
80
+ "This Aixy installation does not provide the usage endpoint. Update the gateway or check its Base URL.",
81
+ );
82
+ if (response.status === 429) throw ctx.fail.rateLimited(message);
83
+ if (response.status >= 500) throw ctx.fail.providerUnavailable(message);
84
+ if (response.status < 200 || response.status >= 300) throw ctx.fail.apiFailure(message);
85
+ let decoded;
86
+ try {
87
+ decoded = JSON.parse(response.bodyText);
88
+ } catch (error) {
89
+ void error;
90
+ return fail("invalid usage JSON");
91
+ }
92
+ const root = object(decoded);
93
+ if (root.object !== "key.usage" || root.currency !== "USD") return fail("unsupported usage contract");
94
+ const asOf = date(root.as_of);
95
+ if (!asOf) return fail("missing observation time");
96
+ const key = object(root.key);
97
+ const keyID = text(key.id);
98
+ if (!Array.isArray(root.budgets)) return fail("invalid budgets");
99
+ const labels = {
100
+ organization: "Organization",
101
+ project: "Project",
102
+ team: "Team",
103
+ user: "User",
104
+ api_key: "Key",
105
+ daily: "Daily",
106
+ weekly: "Weekly",
107
+ monthly: "Monthly",
108
+ lifetime: "Lifetime",
109
+ };
110
+ if (root.budgets.length > 64) return fail("too many budgets");
111
+ const ids = new Set();
112
+ const budgets = root.budgets
113
+ .map((raw) => {
114
+ const budget = object(raw),
115
+ id = text(budget.id);
116
+ if (ids.has(id)) return fail("duplicate budget");
117
+ ids.add(id);
118
+ const scope = text(budget.scope),
119
+ interval = text(budget.interval);
120
+ if (
121
+ !["organization", "project", "team", "user", "api_key"].includes(scope) ||
122
+ !["daily", "weekly", "monthly", "lifetime"].includes(interval)
123
+ )
124
+ return fail("invalid budget scope or interval");
125
+ if (budget.enforcement !== "hard" && budget.enforcement !== "monitor") return fail("invalid enforcement");
126
+ if (typeof budget.shared !== "boolean") return fail("invalid shared scope");
127
+ const limit = number(budget.limit_usd);
128
+ if (limit === undefined || limit <= 0) return fail("invalid budget limit");
129
+ if (
130
+ !Array.isArray(budget.applies_to) ||
131
+ !budget.applies_to.length ||
132
+ budget.applies_to.some(
133
+ (item) => object(item).api_key_id !== keyID || object(item).project_id !== key.project_id,
134
+ )
135
+ )
136
+ return fail("budget belongs to another key");
137
+ const availability = object(budget.availability);
138
+ const hard = budget.enforcement === "hard";
139
+ if (!["available", "unavailable", "not_enforced"].includes(text(availability.status)))
140
+ return fail("invalid availability");
141
+ if (!["available", "unavailable"].includes(text(budget.spend_status))) return fail("invalid spend status");
142
+ const known = hard ? availability.status === "available" : budget.spend_status === "available";
143
+ const spent = number(hard ? availability.spent_usd : budget.spend_usd);
144
+ const reserved = hard ? number(availability.reserved_usd) : 0;
145
+ const remaining = number(hard ? availability.remaining_usd : budget.remaining_usd);
146
+ if (known && (spent === undefined || reserved === undefined || remaining === undefined))
147
+ return fail("incomplete budget balance");
148
+ const used = known ? spent + reserved : undefined;
149
+ if (used !== undefined && !Number.isFinite(used)) return fail("budget amount overflow");
150
+ const startsAt = date(budget.starts_at),
151
+ resetsAt = date(budget.resets_at);
152
+ if (startsAt && resetsAt && resetsAt <= startsAt) return fail("invalid budget period");
153
+ const minutes = startsAt && resetsAt ? (resetsAt.getTime() - startsAt.getTime()) / 60000 : undefined;
154
+ const title = bounded(
155
+ `${labels[scope]} · ${labels[interval]} · ${budget.shared ? "Shared" : "Personal"} · ${hard ? "Hard" : "Monitor"}`,
156
+ );
157
+ return {
158
+ id: `aixy-${id}`,
159
+ title,
160
+ known,
161
+ hard,
162
+ spent,
163
+ reserved,
164
+ remaining,
165
+ limit,
166
+ used,
167
+ window: {
168
+ usedPercent: known ? ctx.pct(used, limit) : 0,
169
+ windowMinutes: minutes !== undefined && Number.isSafeInteger(minutes) && minutes > 0 ? minutes : undefined,
170
+ resetsAt,
171
+ resetDescription: `${title} · ${known ? `${ctx.format.usd(remaining)} remaining` : "Unavailable"}`,
172
+ },
173
+ };
174
+ })
175
+ .sort(
176
+ (a, b) =>
177
+ Number(b.hard) - Number(a.hard) ||
178
+ Number(b.known) - Number(a.known) ||
179
+ b.window.usedPercent - a.window.usedPercent ||
180
+ (a.id < b.id ? -1 : a.id > b.id ? 1 : 0),
181
+ );
182
+ const known = budgets.filter((budget) => budget.known);
183
+ const selected = known.slice(0, 2);
184
+ const details = [
185
+ {
186
+ title: "Aixy key",
187
+ rows: [
188
+ { label: "Key", value: bounded(key.name == null ? keyID : text(key.name)) },
189
+ {
190
+ label: "Project",
191
+ value: bounded(key.project_name == null ? text(key.project_id) : text(key.project_name)),
192
+ },
193
+ { label: "Observed", value: asOf.toISOString() },
194
+ ],
195
+ },
196
+ ];
197
+ for (let offset = 0; offset < budgets.length; offset += 24)
198
+ details.push({
199
+ title: "Applicable budgets",
200
+ rows: budgets.slice(offset, offset + 24).map((budget) => ({
201
+ label: budget.title,
202
+ value: budget.known
203
+ ? `${ctx.format.usd(budget.remaining)} / ${ctx.format.usd(budget.limit)} remaining`
204
+ : "Unavailable",
205
+ secondaryValue: budget.known
206
+ ? `${ctx.format.usd(budget.spent)} spent${budget.hard ? ` · ${ctx.format.usd(budget.reserved)} reserved` : ""}`
207
+ : undefined,
208
+ progress: budget.known ? budget.window.usedPercent / 100 : undefined,
209
+ usageValue: budget.used,
210
+ })),
211
+ });
212
+ let cost;
213
+ let confidence = "unknown";
214
+ if (root.usage != null) {
215
+ const usage = object(root.usage);
216
+ if (usage.window !== "7d") return fail("unsupported reporting period");
217
+ const requests = count(usage.requests),
218
+ tokens = count(usage.total_tokens);
219
+ const attributed = count(usage.attributed_requests),
220
+ partial = count(usage.partial_requests);
221
+ const spend = number(usage.spend_usd);
222
+ if (attributed > requests || partial > attributed || (spend !== undefined && spend > 0 && attributed === 0))
223
+ return fail("invalid attribution coverage");
224
+ if (spend !== undefined) {
225
+ cost = { used: spend, currency: "USD", period: "Last 7 days · attributed" };
226
+ confidence = "estimated";
227
+ }
228
+ details.push({
229
+ title: "Last 7 days · this key",
230
+ rows: [
231
+ { label: "Requests", value: ctx.format.number(requests) },
232
+ { label: "Tokens", value: ctx.format.number(tokens) },
233
+ { label: "Attributed spend", value: spend === undefined ? "Unavailable" : ctx.format.usd(spend) },
234
+ {
235
+ label: "Cost coverage",
236
+ value: `${attributed} / ${requests} requests`,
237
+ secondaryValue: `${partial} partial`,
238
+ },
239
+ ],
240
+ });
241
+ } else {
242
+ details.push({ title: "Last 7 days · this key", rows: [{ label: "Usage", value: "Unavailable" }] });
243
+ }
244
+ return {
245
+ primary: _optionalChain([selected, "access", (_) => _[0], "optionalAccess", (_2) => _2.window]),
246
+ secondary: _optionalChain([selected, "access", (_3) => _3[1], "optionalAccess", (_4) => _4.window]),
247
+ extraWindows: budgets
248
+ .filter((budget) => !selected.includes(budget))
249
+ .map((budget) => ({
250
+ id: budget.id,
251
+ title: budget.title,
252
+ usageKnown: budget.known,
253
+ window: budget.window,
254
+ })),
255
+ cost,
256
+ details,
257
+ dataConfidence: confidence,
258
+ identity: { accountID: keyID, loginMethod: "API key" },
259
+ };
260
+ },
261
+ });
@@ -0,0 +1,24 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "id": "aixy",
4
+ "name": "Aixy",
5
+ "version": "0.1.0",
6
+ "entry": "plugin.js",
7
+ "enabledByDefault": false,
8
+ "supportedModes": [
9
+ "api"
10
+ ],
11
+ "autoMode": "api",
12
+ "usageDashboardUrl": "https://dash.aixy-gateway.com",
13
+ "envVars": [
14
+ "AIXY_API_KEY",
15
+ "AIXY_BASE_URL"
16
+ ],
17
+ "upstream": {
18
+ "repository": "https://github.com/steipete/CodexBar",
19
+ "revision": "78ba5a1e65e6859da59a21b799df95ab91bc0b89",
20
+ "path": "Sources/CodexBarCore/Resources/Plugins/aixy.js",
21
+ "sha256": "975d98525503e286f9425c2a1d64fe00da8e2fdc0b00890e15c2cbcb9a37c125",
22
+ "license": "MIT"
23
+ }
24
+ }