agent-usage-all-in-one 0.2.1
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/BUNDLED_DEPENDENCIES.json +9 -0
- package/BUNDLED_LICENSES.md +76 -0
- package/CODE_OF_CONDUCT.md +11 -0
- package/CONTRIBUTING.md +41 -0
- package/LICENSE +21 -0
- package/README.md +144 -0
- package/README.zh-CN.md +128 -0
- package/SECURITY.md +26 -0
- package/THIRD_PARTY_LICENSES.md +271 -0
- package/THIRD_PARTY_NOTICES.md +28 -0
- package/dist/cli.js +9170 -0
- package/dist/cli.js.map +1 -0
- package/dist/web/_app/immutable/assets/2.DZPQZVH3.css +1 -0
- package/dist/web/_app/immutable/chunks/6sns41Ww.js +3 -0
- package/dist/web/_app/immutable/chunks/Bjy-W4x2.js +81 -0
- package/dist/web/_app/immutable/chunks/DM8a3me-.js +1 -0
- package/dist/web/_app/immutable/chunks/xihTtKlq.js +1 -0
- package/dist/web/_app/immutable/entry/app.B_JvzxA9.js +2 -0
- package/dist/web/_app/immutable/entry/start.R2dkufKZ.js +1 -0
- package/dist/web/_app/immutable/nodes/0.CXfTLDxk.js +1 -0
- package/dist/web/_app/immutable/nodes/1.BwsUxisa.js +1 -0
- package/dist/web/_app/immutable/nodes/2.BNUhkRJ5.js +31 -0
- package/dist/web/_app/version.json +1 -0
- package/dist/web/brand/agent-usage-banner.svg +27 -0
- package/dist/web/brand/agent-usage-logo.svg +23 -0
- package/dist/web/brands/README.md +32 -0
- package/dist/web/brands/claude.svg +4 -0
- package/dist/web/brands/grok-dark.svg +4 -0
- package/dist/web/brands/grok-light.svg +4 -0
- package/dist/web/brands/openai.svg +6 -0
- package/dist/web/brands/opencode-dark.svg +1 -0
- package/dist/web/brands/opencode-light.svg +1 -0
- package/dist/web/brands/opencode.svg +4 -0
- package/dist/web/index.html +34 -0
- package/docs/open-source.md +38 -0
- package/package.json +97 -0
- package/static/brand/agent-usage-banner.svg +27 -0
- package/static/brand/agent-usage-logo.svg +23 -0
- package/static/brands/README.md +32 -0
- package/static/brands/claude.svg +4 -0
- package/static/brands/grok-dark.svg +4 -0
- package/static/brands/grok-light.svg +4 -0
- package/static/brands/openai.svg +6 -0
- package/static/brands/opencode-dark.svg +1 -0
- package/static/brands/opencode-light.svg +1 -0
- package/static/brands/opencode.svg +4 -0
package/package.json
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-usage-all-in-one",
|
|
3
|
+
"version": "0.2.1",
|
|
4
|
+
"description": "Local-first quota, token, and equivalent API cost dashboard for coding agents.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Agent Usage contributors",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/Blackman99/agent-usage-all-in-one.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/Blackman99/agent-usage-all-in-one#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/Blackman99/agent-usage-all-in-one/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"codex",
|
|
17
|
+
"claude-code",
|
|
18
|
+
"opencode",
|
|
19
|
+
"grok",
|
|
20
|
+
"token-usage",
|
|
21
|
+
"developer-tools"
|
|
22
|
+
],
|
|
23
|
+
"type": "module",
|
|
24
|
+
"bin": {
|
|
25
|
+
"agent-usage": "dist/cli.js"
|
|
26
|
+
},
|
|
27
|
+
"files": [
|
|
28
|
+
"dist",
|
|
29
|
+
"README.md",
|
|
30
|
+
"README.zh-CN.md",
|
|
31
|
+
"LICENSE",
|
|
32
|
+
"THIRD_PARTY_NOTICES.md",
|
|
33
|
+
"THIRD_PARTY_LICENSES.md",
|
|
34
|
+
"BUNDLED_LICENSES.md",
|
|
35
|
+
"BUNDLED_DEPENDENCIES.json",
|
|
36
|
+
"CONTRIBUTING.md",
|
|
37
|
+
"CODE_OF_CONDUCT.md",
|
|
38
|
+
"SECURITY.md",
|
|
39
|
+
"docs/open-source.md",
|
|
40
|
+
"static/brand",
|
|
41
|
+
"static/brands"
|
|
42
|
+
],
|
|
43
|
+
"publishConfig": {
|
|
44
|
+
"access": "public",
|
|
45
|
+
"provenance": true
|
|
46
|
+
},
|
|
47
|
+
"engines": {
|
|
48
|
+
"node": ">=24"
|
|
49
|
+
},
|
|
50
|
+
"dependencies": {
|
|
51
|
+
"commander": "latest",
|
|
52
|
+
"open": "latest",
|
|
53
|
+
"protobufjs": "^8.0.0",
|
|
54
|
+
"zod": "latest"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@changesets/cli": "^3.0.1",
|
|
58
|
+
"@eslint/js": "latest",
|
|
59
|
+
"@playwright/test": "latest",
|
|
60
|
+
"@sveltejs/adapter-static": "latest",
|
|
61
|
+
"@sveltejs/kit": "latest",
|
|
62
|
+
"@sveltejs/vite-plugin-svelte": "latest",
|
|
63
|
+
"@types/node": "latest",
|
|
64
|
+
"eslint": "latest",
|
|
65
|
+
"eslint-plugin-svelte": "latest",
|
|
66
|
+
"globals": "latest",
|
|
67
|
+
"prettier": "latest",
|
|
68
|
+
"prettier-plugin-svelte": "latest",
|
|
69
|
+
"svelte": "latest",
|
|
70
|
+
"svelte-check": "latest",
|
|
71
|
+
"tslib": "latest",
|
|
72
|
+
"tsup": "latest",
|
|
73
|
+
"tsx": "latest",
|
|
74
|
+
"typescript": "~6.0.0",
|
|
75
|
+
"typescript-eslint": "latest",
|
|
76
|
+
"vite": "latest",
|
|
77
|
+
"vitest": "latest"
|
|
78
|
+
},
|
|
79
|
+
"scripts": {
|
|
80
|
+
"dev": "node scripts/dev.mjs",
|
|
81
|
+
"build": "svelte-kit sync && vite build && tsup",
|
|
82
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
83
|
+
"typecheck": "pnpm check",
|
|
84
|
+
"test": "vitest run",
|
|
85
|
+
"test:watch": "vitest",
|
|
86
|
+
"test:e2e": "playwright test",
|
|
87
|
+
"test:package": "node scripts/package-smoke.mjs",
|
|
88
|
+
"licenses:generate": "node scripts/generate-third-party-licenses.mjs",
|
|
89
|
+
"licenses:check": "pnpm licenses:generate && git diff --exit-code -- THIRD_PARTY_LICENSES.md BUNDLED_LICENSES.md",
|
|
90
|
+
"changeset": "changeset",
|
|
91
|
+
"version-packages": "changeset version",
|
|
92
|
+
"release": "pnpm build && changeset publish",
|
|
93
|
+
"lint": "eslint .",
|
|
94
|
+
"format": "prettier --write .",
|
|
95
|
+
"format:check": "prettier --check ."
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 420" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Agent Usage</title>
|
|
3
|
+
<desc id="desc">Agent Usage with Codex, Claude Code, OpenCode Go, Grok, and room for more agents.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="background" x1="40" y1="10" x2="1560" y2="410" gradientUnits="userSpaceOnUse"><stop stop-color="#111a34"/><stop offset=".58" stop-color="#090e1a"/><stop offset="1" stop-color="#111b2f"/></linearGradient>
|
|
6
|
+
<radialGradient id="glow" cx="0" cy="0" r="1" gradientTransform="translate(1280 115) rotate(145) scale(520 350)" gradientUnits="userSpaceOnUse"><stop stop-color="#7184ff" stop-opacity=".28"/><stop offset="1" stop-color="#7184ff" stop-opacity="0"/></radialGradient>
|
|
7
|
+
<linearGradient id="meter" x1="42" y1="94" x2="88" y2="34" gradientUnits="userSpaceOnUse"><stop stop-color="#7c8dff"/><stop offset="1" stop-color="#69e4c6"/></linearGradient>
|
|
8
|
+
<filter id="shadow" x="-20%" y="-20%" width="140%" height="160%"><feDropShadow dx="0" dy="18" stdDeviation="18" flood-color="#02050c" flood-opacity=".34"/></filter>
|
|
9
|
+
</defs>
|
|
10
|
+
<rect width="1600" height="420" rx="36" fill="url(#background)"/><rect width="1600" height="420" rx="36" fill="url(#glow)"/>
|
|
11
|
+
<g opacity=".12" stroke="#8492bb"><path d="M0 330H1600M0 250H1600M0 170H1600M0 90H1600"/><path d="M1040 0V420M1180 0V420M1320 0V420M1460 0V420"/></g>
|
|
12
|
+
<g transform="translate(86 102)">
|
|
13
|
+
<rect width="104" height="104" rx="26" fill="#172347" stroke="#8190c4" stroke-opacity=".45"/><circle cx="52" cy="52" r="36" fill="none" stroke="#7180ad" stroke-opacity=".5" stroke-width="2.5" stroke-dasharray="6 7"/>
|
|
14
|
+
<circle cx="52" cy="16" r="5.5" fill="#f19a6b"/><circle cx="88" cy="52" r="5.5" fill="#8d9cff"/><circle cx="52" cy="88" r="5.5" fill="#71d8b8"/><circle cx="16" cy="52" r="5.5" fill="#e4e8f3"/>
|
|
15
|
+
<rect x="32" y="58" width="8" height="22" rx="4" fill="url(#meter)" opacity=".72"/><rect x="48" y="44" width="8" height="36" rx="4" fill="url(#meter)" opacity=".88"/><rect x="64" y="30" width="8" height="50" rx="4" fill="url(#meter)"/>
|
|
16
|
+
</g>
|
|
17
|
+
<text x="222" y="164" fill="#f4f6ff" font-family="Inter,ui-sans-serif,system-ui,sans-serif" font-size="68" font-weight="700" letter-spacing="-3">Agent Usage</text>
|
|
18
|
+
<text x="90" y="256" fill="#9ca8bf" font-family="Inter,ui-sans-serif,system-ui,sans-serif" font-size="23" font-weight="500">Quota · tokens · equivalent API cost</text>
|
|
19
|
+
<path d="M630 210H1510" stroke="#7786b7" stroke-opacity=".34" stroke-width="2" stroke-dasharray="7 10"/>
|
|
20
|
+
<g id="supported-agents" filter="url(#shadow)" font-family="Inter,ui-sans-serif,system-ui,sans-serif" font-size="16" font-weight="650" text-anchor="middle">
|
|
21
|
+
<g transform="translate(650 115)"><rect width="160" height="190" rx="24" fill="#131a29" stroke="#34415f"/><circle cx="80" cy="76" r="48" fill="#f5f5f3"/><image data-provider-asset="openai.svg" href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIxIiBoZWlnaHQ9IjcyMSIgdmlld0JveD0iMCAwIDcyMSA3MjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgY2xpcC1wYXRoPSJ1cmwoI2EpIj4KICAgIDxwYXRoIGQ9Ik0zMDQuMjQ2IDI5NC42MTF2LTQ1LjU4M2MwLTMuODM5IDEuNDQxLTYuNzE5IDQuNzk4LTguNjM2bDkxLjY0OC01Mi43OGMxMi40NzUtNy4xOTcgMjcuMzUtMTAuNTU0IDQyLjcwMi0xMC41NTQgNTcuNTc3IDAgOTQuMDQ2IDQ0LjYyNCA5NC4wNDYgOTIuMTI0IDAgMy4zNTggMCA3LjE5Ny0uNDgxIDExLjAzNmwtOTUuMDA1LTU1LjY2Yy01Ljc1Ny0zLjM1Ny0xMS41MTctMy4zNTctMTcuMjc0IDBsLTEyMC40MzQgNzAuMDUzWk01MTguMjQ1IDQ3Mi4xNDVWMzYzLjIyNGMwLTYuNzE5LTIuODgxLTExLjUxNy04LjYzNy0xNC44NzVsLTEyMC40MzQtNzAuMDUzIDM5LjM0NS0yMi41NTNjMy4zNTgtMS45MTcgNi4yMzgtMS45MTcgOS41OTYgMGw5MS42NDcgNTIuNzhjMjYuMzkyIDE1LjM1NiA0NC4xNDMgNDcuOTgyIDQ0LjE0MyA3OS42NDggMCAzNi40NjUtMjEuNTkgNzAuMDU0LTU1LjY2IDgzLjk3di4wMDRaTTI3NS45MzcgMzc2LjE4MmwtMzkuMzQ1LTIzLjAzYy0zLjM1Ny0xLjkxNy00Ljc5OC00Ljc5OC00Ljc5OC04LjYzN1YyMzguOTU2YzAtNTEuMzM5IDM5LjM0NS05MC4yMDcgOTIuNjA2LTkwLjIwNyAyMC4xNTUgMCAzOC44NjQgNi43MTkgNTQuNzAyIDE4LjcxNGwtOTQuNTI0IDU0LjcwMWMtNS43NTYgMy4zNTctOC42MzYgOC4xNTUtOC42MzYgMTQuODc1djEzOS4xNDdsLS4wMDUtLjAwNFpNMzYwLjYyNiA0MjUuMTIybC01Ni4zOC0zMS42Njd2LTY3LjE3Mmw1Ni4zOC0zMS42NjcgNTYuMzc2IDMxLjY2N3Y2Ny4xNzJsLTU2LjM3NiAzMS42NjdaTTM5Ni44NTIgNTcwLjk4OWMtMjAuMTU0IDAtMzguODYzLTYuNzE5LTU0LjcwMS0xOC43MTNsOTQuNTIzLTU0LjcwMmM1Ljc1Ny0zLjM1NyA4LjYzNy04LjE1NSA4LjYzNy0xNC44NzVWMzQzLjU1MmwzOS44MjcgMjMuMDNjMy4zNTcgMS45MTcgNC43OTggNC43OTcgNC43OTggOC42Mzd2MTA1LjU1OWMwIDUxLjMzOS0zOS44MjcgOTAuMjA3LTkzLjA4NCA5MC4yMDd2LjAwNFpNMjgzLjEzNCA0NjMuOTlsLTkxLjY0OC01Mi43NzljLTI2LjM5Mi0xNS4zNTctNDQuMTQzLTQ3Ljk4Mi00NC4xNDMtNzkuNjQ5IDAtMzYuOTQ2IDIyLjA3Mi03MC4wNTMgNTYuMTM3LTgzLjk2OXYxMDkuMzk4YzAgNi43MTkgMi44ODEgMTEuNTE3IDguNjM3IDE0Ljg3NWwxMTkuOTU3IDY5LjU3MS0zOS4zNDUgMjIuNTUzYy0zLjM1NyAxLjkxNy02LjIzOCAxLjkxNy05LjU5NSAwWk0yNzcuODU5IDU0Mi42OGMtNTQuMjIgMC05NC4wNDYtNDAuNzg1LTk0LjA0Ni05MS4xNjYgMC0zLjgzOS40ODEtNy42NzguOTU4LTExLjUxN2w5NC41MjQgNTQuNzAxYzUuNzU2IDMuMzU4IDExLjUxNyAzLjM1OCAxNy4yNzMgMGwxMjAuNDM0LTY5LjU3MXY0NS41ODNjMCAzLjgzOS0xLjQ0IDYuNzE5LTQuNzk4IDguNjM2bC05MS42NDcgNTIuNzhjLTEyLjQ3NiA3LjE5Ny0yNy4zNTEgMTAuNTU0LTQyLjcwMyAxMC41NTRoLjAwNVpNMzk2Ljg1MiA1OTkuNzc2YzU4LjA1OSAwIDEwNi41MTgtNDEuMjYzIDExNy41NTgtOTUuOTY0IDUzLjczOS0xMy45MTYgODguMjg2LTY0LjI5NyA4OC4yODYtMTE1LjYzNiAwLTMzLjU4OS0xNC4zOTMtNjYuMjE0LTQwLjMwNC04OS43MjYgMi4zOTktMTAuMDc3IDMuODM5LTIwLjE1NCAzLjgzOS0zMC4yMjYgMC02OC42MTMtNTUuNjYtMTE5Ljk1Ny0xMTkuOTU3LTExOS45NTctMTIuOTUyIDAtMjUuNDI4IDEuOTE3LTM3LjkwNCA2LjIzOC0yMS41OTUtMjEuMTEzLTUxLjM0NC0zNC41NDctODMuOTctMzQuNTQ3LTU4LjA1OCAwLTEwNi41MTcgNDEuMjYyLTExNy41NTcgOTUuOTYzLTUzLjczOSAxMy45MTYtODguMjg2IDY0LjI5Ny04OC4yODYgMTE1LjYzNiAwIDMzLjU4OSAxNC4zOTMgNjYuMjE0IDQwLjMwNCA4OS43MjYtMi4zOTkgMTAuMDc3LTMuODM5IDIwLjE1NC0zLjgzOSAzMC4yMjcgMCA2OC42MTMgNTUuNjYgMTE5Ljk1NiAxMTkuOTU2IDExOS45NTYgMTIuOTUzIDAgMjUuNDI5LTEuOTE3IDM3LjkwNS02LjIzOCAyMS41OSAyMS4xMTMgNTEuMzM5IDM0LjU0OCA4My45NjkgMzQuNTQ4WiIgZmlsbD0iY3VycmVudENvbG9yIi8+CiAgPC9nPgogIDxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHJlY3Qgd2lkdGg9IjcyMSIgaGVpZ2h0PSI3MjEiLz48L2NsaXBQYXRoPjwvZGVmcz4KPC9zdmc+Cg==" x="46" y="42" width="68" height="68"/><text x="80" y="157" fill="#edf0f7">Codex</text></g>
|
|
22
|
+
<g transform="translate(828 115)"><rect width="160" height="190" rx="24" fill="#131a29" stroke="#34415f"/><image data-provider-asset="claude.svg" href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTI4IiBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHJlY3Qgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiIGZpbGw9IiNEOTc3NTciLz4KICA8cGF0aCBkPSJtMzUuMDE2IDc5LjY5NCAxOC40MTYtMTAuMzI3LjMwNC0uOTA1LS4zMDQtLjUwM2gtLjkxbC0zLjA4Ny0uMTg4LTEwLjUyMy0uMjgyLTkuMTA4LS4zNzUtOC44NTQtLjQ3LTIuMjI2LS40NjktMi4wNzQtMi43Ny4yMDItMS4zNjEgMS44NzItMS4yNjcgMi42ODIuMjM0IDE1LjE4NyAxLjQwOCA5LjU2Mi45ODZoMS41MThsLjIwMi0uNjEtLjUwNi0uMzc2LS40MDQtLjM3NS0xOS4xNzYtMTIuODE1LTUuMjExLTMuODAyLTIuNzgzLTEuOTI1LTEuNDE2LTEuNzgzLS42MDctMy45NDMgMi41My0yLjgxNyAzLjQ0LjIzNS44Ni4yMzQgMTAuOTI5IDguNDUgOS43MTQgNy4xMzYgMS40MTcgMS4xNzMuNTctLjM4NS4wODctLjI3Mi0uNjU4LTEuMDgtMTAuODc4LTE5LjI0NS0yLjUzLTQuMDM3LS42NTctMi4zOTRjLS4yNTUtMS4wMDUtLjQwNS0xLjgzNi0uNDA1LTIuODY0bDIuODg0LTMuOTQzIDEuNjE5LS41MTYgMy44OTYuNTE2IDEuNjE5IDEuNDA5IDYuMzI0IDE0LjIyMyA2LjA3MSAxMS44MjkgMS43NzEgMy41Mi45NjEgMy4yNC4zNTUuOTg1aC42MDd2LS41NjNsMi45MzQtMjUuMzQ4LjMwNC0yLjk1NyAxLjQ2Ny0zLjU2OCAyLjkzNC0xLjkyNCAyLjI3NyAxLjA4IDEuODcyIDIuNjc1LS4yNTMgMS43MzctMy4yODkgMTguNTQyLTEuNDE3IDcuNjA0aC44MWwuOTYxLS45ODYgMTAuMjcxLTEzLjE0MyAyLjgzMy0zLjE5MiAzLjM0LTMuNTIgMi4xMjQtMS42OWg0LjA0OGwyLjkzNCA0LjQxMi0xLjMxNSA0LjU1NC03LjU4OSA5LjcxNi00LjkzMyA2LjYxLTMuMDYxIDUuMzE0LjI3NS40MzguNzM3LS4wNjMgMjQuMzM2LTQuNjk0IDcuMTg0LTEuMjIgMy4yMzggMS41MDIuMzU0IDEuNTQ5LTEuMjY1IDMuMTQ1LTcuNjkgMS44NzgtMjIuNDE3IDQuOTg4LS4xNDguMTIuMTc1LjI2IDYuMDQ4LjU0NyAyLjU4LjE0MWg2LjMyNGwxMS43ODguODkyIDMuMDg2IDIuMDE4IDEuODIyIDIuNDg4LS4zMDQgMS45MjUtNC43NTYgMi4zOTQtNi4zNzQtMS41MDItMTQuOTI1LTMuNTY4LTUuMTEtMS4yNjdoLS43MDh2LjQyMmw0LjI1IDQuMTc4IDE3LjYwNyAxNi4xNDguNTA2IDIuMjUzLTEuMjY1IDEuNzg0LTEuMzE1LS4xODgtOC42MDEtNi40NzgtMTAuODI3LTkuMjQ3aC0uNTA2di42NTdsMS43MiAyLjUzNSA5LjE1OCAxMy43NTMuNDU1IDQuMjI1LS42NTggMS4zNjEtMi4zNzguODQ1LTIuNTgtLjQ2OS01LjQxNC03LjU1OC01LjUxNC04LjQ0OS00LjQ1My03LjYwNC0uNTM3LjMzOS0yLjY1IDI4LjI5NC0xLjIxNCAxLjQ1Ni0yLjgzMyAxLjA3OS0yLjM3OC0xLjc4NC0xLjI2NS0yLjkxIDQuOTk3LTI2LjY2Mi42OC0yLjQ3OC0uMDYtLjE2Ni0uNTQzLjA5Mi0xNC4wOTIgMTkuMTY5LTYuNzI5IDcuMTgyLTEuNjE5LjY1Ny0yLjc4My0xLjQ1NS4yNTMtMi41ODIgMS41NjgtMi4zIDE0LjkyNS0xOS4xOTkgMy42MTktNC4yMy0uMDM1LS42MTItLjItLjAxNy0yNC43MzUgMTYuMTI1LTQuNDAyLjU2My0xLjkyMi0xLjc4NC4yNTMtMi45MS45MS0uOTM5IDcuNDM4LTUuMTE2WiIgZmlsbD0iI0ZBRjlGNSIvPgo8L3N2Zz4K" x="32" y="28" width="96" height="96"/><text x="80" y="157" fill="#edf0f7">Claude Code</text></g>
|
|
23
|
+
<g transform="translate(1006 115)"><rect width="160" height="190" rx="24" fill="#131a29" stroke="#34415f"/><rect x="32" y="28" width="96" height="96" rx="16" fill="#f5f5f3"/><image data-provider-asset="opencode-light.svg" href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzAwIiBoZWlnaHQ9IjMwMCIgdmlld0JveD0iMCAwIDMwMCAzMDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAsIDApIj48ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMTQwMV84NjI3NCkiPjxtYXNrIGlkPSJtYXNrMF8xNDAxXzg2Mjc0IiBzdHlsZT0ibWFzay10eXBlOmx1bWluYW5jZSIgbWFza1VuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeD0iMCIgeT0iMCIgd2lkdGg9IjI0MCIgaGVpZ2h0PSIzMDAiPjxwYXRoIGQ9Ik0yNDAgMEgwVjMwMEgyNDBWMFoiIGZpbGw9IndoaXRlIi8+PC9tYXNrPjxnIG1hc2s9InVybCgjbWFzazBfMTQwMV84NjI3NCkiPjxwYXRoIGQ9Ik0xODAgMjQwSDYwVjEyMEgxODBWMjQwWiIgZmlsbD0iI0NGQ0VDRCIvPjxwYXRoIGQ9Ik0xODAgNjBINjBWMjQwSDE4MFY2MFpNMjQwIDMwMEgwVjBIMjQwVjMwMFoiIGZpbGw9IiMyMTFFMUUiLz48L2c+PC9nPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwXzE0MDFfODYyNzQiPjxyZWN0IHdpZHRoPSIyNDAiIGhlaWdodD0iMzAwIiBmaWxsPSJ3aGl0ZSIvPjwvY2xpcFBhdGg+PC9kZWZzPjwvc3ZnPgo=" x="37" y="33" width="86" height="86"/><text x="80" y="157" fill="#edf0f7">OpenCode Go</text></g>
|
|
24
|
+
<g transform="translate(1184 115)"><rect width="160" height="190" rx="24" fill="#131a29" stroke="#34415f"/><circle cx="80" cy="76" r="48" fill="#0a0a0a"/><image data-provider-asset="grok-light.svg" href="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNMzk1LjQ3OSA2MzMuODI4TDczNS45MSAzODEuMTA1Qzc1Mi41OTkgMzY4LjcxNSA3NzYuNDU0IDM3My41NDggNzg0LjQwNiAzOTIuNzkyQzgyNi4yNiA0OTQuMjg1IDgwNy41NjEgNjE2LjI1MyA3MjQuMjg4IDY5OS45OTZDNjQxLjAxNiA3ODMuNzM5IDUyNS4xNTEgODAyLjEwNCA0MTkuMjQ3IDc2MC4yNzdMMzAzLjU1NiA4MTQuMTQzQzQ2OS40OSA5MjguMjAyIDY3MC45ODcgODk5Ljk5NSA3OTYuOTAxIDc3My4yODJDODk2Ljc3NiA2NzIuODQzIDkyNy43MDggNTM1LjkzNyA4OTguNzg1IDQxMi40NzZMODk5LjA0NyA0MTIuNzM5Qzg1Ny4xMDUgMjMxLjM3IDkwOS4zNTggMTU4Ljg3NCAxMDE2LjQgMTAuNjMyNkMxMDE4LjkzIDcuMTE3NzEgMTAyMS40NyAzLjYwMjc5IDEwMjQgMEw4ODMuMTQ0IDE0MS42NTFWMTQxLjIxMkwzOTUuMzkyIDYzMy45MTYiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0zMjUuMjI2IDY5NS4yNTFDMjA2LjEyOCA1ODAuODQgMjI2LjY2MiA0MDMuNzc2IDMyOC4yODUgMzAxLjY2OEM0MDMuNDMxIDIyNi4wOTcgNTI2LjU0OSAxOTUuMjU0IDYzNC4wMjYgMjQwLjU5Nkw3NDkuNDU0IDE4Ni45OTRDNzI4LjY1NyAxNzEuODggNzAyLjAwNyAxNTUuNjIzIDY3MS40MjQgMTQ0LjJDNTMzLjE5IDg2Ljk5NDIgMzY3LjY5MyAxMTUuNDY1IDI1NS4zMjMgMjI4LjM4MkMxNDcuMjM0IDMzNy4wODEgMTEzLjI0NCA1MDQuMjE1IDE3MS42MTMgNjQ2LjgzM0MyMTUuMjE2IDc1My40MjMgMTQzLjczOSA4MjguODE4IDcxLjczODUgOTA0LjkxNkM0Ni4yMjM3IDkzMS44OTMgMjAuNjIxNiA5NTguODcgMCA5ODcuNDI5TDMyNS4xMzkgNjk1LjMzOSIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==" x="47" y="43" width="66" height="66"/><text x="80" y="157" fill="#edf0f7">Grok</text></g>
|
|
25
|
+
<g id="future-providers" transform="translate(1362 115)"><rect width="148" height="190" rx="24" fill="#111827" fill-opacity=".62" stroke="#7281b3" stroke-opacity=".65" stroke-width="2" stroke-dasharray="8 9"/><circle cx="74" cy="76" r="46" fill="none" stroke="#7281b3" stroke-opacity=".6" stroke-width="2" stroke-dasharray="5 7"/><path d="M74 55V97M53 76H95" stroke="#8ea0dd" stroke-width="6" stroke-linecap="round"/><circle cx="62" cy="154" r="3.5" fill="#7184ff"/><circle cx="74" cy="154" r="3.5" fill="#69e4c6"/><circle cx="86" cy="154" r="3.5" fill="#f19a6b"/></g>
|
|
26
|
+
</g>
|
|
27
|
+
</svg>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Agent Usage logo</title>
|
|
3
|
+
<desc id="desc">Four agent nodes orbit a rising usage meter.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="12" y1="8" x2="116" y2="120" gradientUnits="userSpaceOnUse">
|
|
6
|
+
<stop stop-color="#18264d"/>
|
|
7
|
+
<stop offset="1" stop-color="#090d18"/>
|
|
8
|
+
</linearGradient>
|
|
9
|
+
<linearGradient id="meter" x1="42" y1="94" x2="88" y2="34" gradientUnits="userSpaceOnUse">
|
|
10
|
+
<stop stop-color="#7c8dff"/>
|
|
11
|
+
<stop offset="1" stop-color="#69e4c6"/>
|
|
12
|
+
</linearGradient>
|
|
13
|
+
</defs>
|
|
14
|
+
<rect x="4" y="4" width="120" height="120" rx="30" fill="url(#bg)"/>
|
|
15
|
+
<circle cx="64" cy="64" r="43" fill="none" stroke="#7180ad" stroke-opacity=".38" stroke-width="3" stroke-dasharray="7 8"/>
|
|
16
|
+
<circle cx="64" cy="21" r="7" fill="#f19a6b"/>
|
|
17
|
+
<circle cx="107" cy="64" r="7" fill="#8d9cff"/>
|
|
18
|
+
<circle cx="64" cy="107" r="7" fill="#71d8b8"/>
|
|
19
|
+
<circle cx="21" cy="64" r="7" fill="#e4e8f3"/>
|
|
20
|
+
<rect x="39" y="70" width="10" height="24" rx="5" fill="url(#meter)" opacity=".72"/>
|
|
21
|
+
<rect x="59" y="53" width="10" height="41" rx="5" fill="url(#meter)" opacity=".88"/>
|
|
22
|
+
<rect x="79" y="34" width="10" height="60" rx="5" fill="url(#meter)"/>
|
|
23
|
+
</svg>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Provider brand assets
|
|
2
|
+
|
|
3
|
+
Reviewed Provider SVGs are bundled locally so the dashboard never makes runtime
|
|
4
|
+
logo requests. A Provider without a reviewed product-specific mark uses plain text.
|
|
5
|
+
|
|
6
|
+
| Provider surface | Local asset and SHA-256 | Official source | Theme selection |
|
|
7
|
+
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------- |
|
|
8
|
+
| Codex | `openai.svg` — `5979341866925ebb8f663d457ddeda9a4dcaf7603da8a1b529ca948d71601c1d` | `OpenAI-black-monoblossom.svg` from the official [OpenAI Design guidelines](https://openai.com/brand/) logo pack | One official monochrome asset in both themes; no runtime recoloring |
|
|
9
|
+
| Claude Code | `claude.svg` — `3a808e859d6b8b1e81698ab2c85257e4c7eaa6834e926bb0a519c6d0b2eb7828` | `ClaudeIcon-Square.svg` from the [Anthropic Newsroom](https://www.anthropic.com/news) press kit | One fixed-color square asset in both themes |
|
|
10
|
+
| OpenCode Go | `opencode-light.svg` — `4e3c99fad0454b986101eec58843bc63481b1f6569db7779f8c0a49815bef9ad`; `opencode-dark.svg` — `dc77a89df840a7f1665ec6638a89af2a5246a16cd1eb48bb7fa0f326782139b0` | Current square variants from the official [OpenCode brand page](https://opencode.ai/brand) | `prefers-color-scheme` selects the reviewed light/dark pair |
|
|
11
|
+
| Grok / xAI API | `grok-dark.svg` — `a127a7cd42b0450f7d3827a331b0730aab49fd99c3fe920d172475b9ffc83992`; `grok-light.svg` — `b20648e2f111d7fbc91f58b22d1e76e9885b68a163cb5a1010f7f11bf5840491` | `Grok_Logomark_Dark.svg` and `Grok_Logomark_Light.svg` from the official [SpaceXAI brand package](https://data.x.ai/logos/xAI_Grok_Assets.zip), linked by the [SpaceXAI Brand Guidelines](https://x.ai/legal/brand-guidelines) | The official black mark is used on light surfaces and the white mark on dark surfaces |
|
|
12
|
+
|
|
13
|
+
`opencode.svg` is an earlier official dark asset retained only for compatibility
|
|
14
|
+
with already-built clients; new UI surfaces use the audited pair above. If any
|
|
15
|
+
image fails to load, the UI falls back to the plain Provider name and never
|
|
16
|
+
invents a letter avatar or imitation mark.
|
|
17
|
+
|
|
18
|
+
All marks identify their external Providers only. They are not the Agent Usage
|
|
19
|
+
product mark and must not imply sponsorship or endorsement. Assets must preserve
|
|
20
|
+
their aspect ratio and must not be traced, recolored, decorated, or incorporated
|
|
21
|
+
into the Agent Usage orbit-and-meter logo. Compatibility surfaces such as Provider
|
|
22
|
+
cards and the README banner may display the exact audited bytes only when each mark
|
|
23
|
+
remains visually separated and names its Provider. The self-contained README banner
|
|
24
|
+
uses byte-identical `data:` copies guarded against drift by `brand-assets.test.ts`.
|
|
25
|
+
Review the linked trademark guidance before shipping a replacement.
|
|
26
|
+
|
|
27
|
+
The official SpaceXAI download endpoint returned HTTP 403 during the audited
|
|
28
|
+
retrieval. The exact archive was therefore obtained from the public mirror attached
|
|
29
|
+
to [Simple Icons issue #13853](https://github.com/simple-icons/simple-icons/issues/13853),
|
|
30
|
+
whose report links the same official package. The audited ZIP SHA-256 is
|
|
31
|
+
`f41a93923a85047b4b5a9571b7ec73339f562c3e58acd096e25584ab0ae2a1fb`;
|
|
32
|
+
the two bundled SVGs preserve the supplied path geometry and fills unchanged.
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="128" height="128" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="128" height="128" fill="#D97757"/>
|
|
3
|
+
<path d="m35.016 79.694 18.416-10.327.304-.905-.304-.503h-.91l-3.087-.188-10.523-.282-9.108-.375-8.854-.47-2.226-.469-2.074-2.77.202-1.361 1.872-1.267 2.682.234 15.187 1.408 9.562.986h1.518l.202-.61-.506-.376-.404-.375-19.176-12.815-5.211-3.802-2.783-1.925-1.416-1.783-.607-3.943 2.53-2.817 3.44.235.86.234 10.929 8.45 9.714 7.136 1.417 1.173.57-.385.087-.272-.658-1.08-10.878-19.245-2.53-4.037-.657-2.394c-.255-1.005-.405-1.836-.405-2.864l2.884-3.943 1.619-.516 3.896.516 1.619 1.409 6.324 14.223 6.071 11.829 1.771 3.52.961 3.24.355.985h.607v-.563l2.934-25.348.304-2.957 1.467-3.568 2.934-1.924 2.277 1.08 1.872 2.675-.253 1.737-3.289 18.542-1.417 7.604h.81l.961-.986 10.271-13.143 2.833-3.192 3.34-3.52 2.124-1.69h4.048l2.934 4.412-1.315 4.554-7.589 9.716-4.933 6.61-3.061 5.314.275.438.737-.063 24.336-4.694 7.184-1.22 3.238 1.502.354 1.549-1.265 3.145-7.69 1.878-22.417 4.988-.148.12.175.26 6.048.547 2.58.141h6.324l11.788.892 3.086 2.018 1.822 2.488-.304 1.925-4.756 2.394-6.374-1.502-14.925-3.568-5.11-1.267h-.708v.422l4.25 4.178 17.607 16.148.506 2.253-1.265 1.784-1.315-.188-8.601-6.478-10.827-9.247h-.506v.657l1.72 2.535 9.158 13.753.455 4.225-.658 1.361-2.378.845-2.58-.469-5.414-7.558-5.514-8.449-4.453-7.604-.537.339-2.65 28.294-1.214 1.456-2.833 1.079-2.378-1.784-1.265-2.91 4.997-26.662.68-2.478-.06-.166-.543.092-14.092 19.169-6.729 7.182-1.619.657-2.783-1.455.253-2.582 1.568-2.3 14.925-19.199 3.619-4.23-.035-.612-.2-.017-24.735 16.125-4.402.563-1.922-1.784.253-2.91.91-.939 7.438-5.116Z" fill="#FAF9F5"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M395.479 633.828L735.91 381.105C752.599 368.715 776.454 373.548 784.406 392.792C826.26 494.285 807.561 616.253 724.288 699.996C641.016 783.739 525.151 802.104 419.247 760.277L303.556 814.143C469.49 928.202 670.987 899.995 796.901 773.282C896.776 672.843 927.708 535.937 898.785 412.476L899.047 412.739C857.105 231.37 909.358 158.874 1016.4 10.6326C1018.93 7.11771 1021.47 3.60279 1024 0L883.144 141.651V141.212L395.392 633.916" fill="#0A0A0A"/>
|
|
3
|
+
<path d="M325.226 695.251C206.128 580.84 226.662 403.776 328.285 301.668C403.431 226.097 526.549 195.254 634.026 240.596L749.454 186.994C728.657 171.88 702.007 155.623 671.424 144.2C533.19 86.9942 367.693 115.465 255.323 228.382C147.234 337.081 113.244 504.215 171.613 646.833C215.216 753.423 143.739 828.818 71.7385 904.916C46.2237 931.893 20.6216 958.87 0 987.429L325.139 695.339" fill="#0A0A0A"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="1024" height="1024" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M395.479 633.828L735.91 381.105C752.599 368.715 776.454 373.548 784.406 392.792C826.26 494.285 807.561 616.253 724.288 699.996C641.016 783.739 525.151 802.104 419.247 760.277L303.556 814.143C469.49 928.202 670.987 899.995 796.901 773.282C896.776 672.843 927.708 535.937 898.785 412.476L899.047 412.739C857.105 231.37 909.358 158.874 1016.4 10.6326C1018.93 7.11771 1021.47 3.60279 1024 0L883.144 141.651V141.212L395.392 633.916" fill="white"/>
|
|
3
|
+
<path d="M325.226 695.251C206.128 580.84 226.662 403.776 328.285 301.668C403.431 226.097 526.549 195.254 634.026 240.596L749.454 186.994C728.657 171.88 702.007 155.623 671.424 144.2C533.19 86.9942 367.693 115.465 255.323 228.382C147.234 337.081 113.244 504.215 171.613 646.833C215.216 753.423 143.739 828.818 71.7385 904.916C46.2237 931.893 20.6216 958.87 0 987.429L325.139 695.339" fill="white"/>
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="721" height="721" viewBox="0 0 721 721" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#a)">
|
|
3
|
+
<path d="M304.246 294.611v-45.583c0-3.839 1.441-6.719 4.798-8.636l91.648-52.78c12.475-7.197 27.35-10.554 42.702-10.554 57.577 0 94.046 44.624 94.046 92.124 0 3.358 0 7.197-.481 11.036l-95.005-55.66c-5.757-3.357-11.517-3.357-17.274 0l-120.434 70.053ZM518.245 472.145V363.224c0-6.719-2.881-11.517-8.637-14.875l-120.434-70.053 39.345-22.553c3.358-1.917 6.238-1.917 9.596 0l91.647 52.78c26.392 15.356 44.143 47.982 44.143 79.648 0 36.465-21.59 70.054-55.66 83.97v.004ZM275.937 376.182l-39.345-23.03c-3.357-1.917-4.798-4.798-4.798-8.637V238.956c0-51.339 39.345-90.207 92.606-90.207 20.155 0 38.864 6.719 54.702 18.714l-94.524 54.701c-5.756 3.357-8.636 8.155-8.636 14.875v139.147l-.005-.004ZM360.626 425.122l-56.38-31.667v-67.172l56.38-31.667 56.376 31.667v67.172l-56.376 31.667ZM396.852 570.989c-20.154 0-38.863-6.719-54.701-18.713l94.523-54.702c5.757-3.357 8.637-8.155 8.637-14.875V343.552l39.827 23.03c3.357 1.917 4.798 4.797 4.798 8.637v105.559c0 51.339-39.827 90.207-93.084 90.207v.004ZM283.134 463.99l-91.648-52.779c-26.392-15.357-44.143-47.982-44.143-79.649 0-36.946 22.072-70.053 56.137-83.969v109.398c0 6.719 2.881 11.517 8.637 14.875l119.957 69.571-39.345 22.553c-3.357 1.917-6.238 1.917-9.595 0ZM277.859 542.68c-54.22 0-94.046-40.785-94.046-91.166 0-3.839.481-7.678.958-11.517l94.524 54.701c5.756 3.358 11.517 3.358 17.273 0l120.434-69.571v45.583c0 3.839-1.44 6.719-4.798 8.636l-91.647 52.78c-12.476 7.197-27.351 10.554-42.703 10.554h.005ZM396.852 599.776c58.059 0 106.518-41.263 117.558-95.964 53.739-13.916 88.286-64.297 88.286-115.636 0-33.589-14.393-66.214-40.304-89.726 2.399-10.077 3.839-20.154 3.839-30.226 0-68.613-55.66-119.957-119.957-119.957-12.952 0-25.428 1.917-37.904 6.238-21.595-21.113-51.344-34.547-83.97-34.547-58.058 0-106.517 41.262-117.557 95.963-53.739 13.916-88.286 64.297-88.286 115.636 0 33.589 14.393 66.214 40.304 89.726-2.399 10.077-3.839 20.154-3.839 30.227 0 68.613 55.66 119.956 119.956 119.956 12.953 0 25.429-1.917 37.905-6.238 21.59 21.113 51.339 34.548 83.969 34.548Z" fill="currentColor"/>
|
|
4
|
+
</g>
|
|
5
|
+
<defs><clipPath id="a"><rect width="721" height="721"/></clipPath></defs>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg"><g transform="translate(30, 0)"><g clip-path="url(#clip0_1401_86283)"><mask id="mask0_1401_86283" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="240" height="300"><path d="M240 0H0V300H240V0Z" fill="white"/></mask><g mask="url(#mask0_1401_86283)"><path d="M180 240H60V120H180V240Z" fill="#4B4646"/><path d="M180 60H60V240H180V60ZM240 300H0V0H240V300Z" fill="#F1ECEC"/></g></g></g><defs><clipPath id="clip0_1401_86283"><rect width="240" height="300" fill="white"/></clipPath></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="300" height="300" viewBox="0 0 300 300" fill="none" xmlns="http://www.w3.org/2000/svg"><g transform="translate(30, 0)"><g clip-path="url(#clip0_1401_86274)"><mask id="mask0_1401_86274" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="240" height="300"><path d="M240 0H0V300H240V0Z" fill="white"/></mask><g mask="url(#mask0_1401_86274)"><path d="M180 240H60V120H180V240Z" fill="#CFCECD"/><path d="M180 60H60V240H180V60ZM240 300H0V0H240V300Z" fill="#211E1E"/></g></g></g><defs><clipPath id="clip0_1401_86274"><rect width="240" height="300" fill="white"/></clipPath></defs></svg>
|