adaptive-memory-multi-model-router 2.16.2 → 2.16.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/CODEOWNERS +2 -0
- package/.github/FUNDING.yml +7 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +56 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +41 -0
- package/.github/workflows/pages.yml +1 -1
- package/CHANGELOG.md +15 -8
- package/CONTRIBUTING.md +109 -25
- package/README.md +131 -219
- package/data/jev-distill.jsonl +320 -0
- package/dist/routing/jev/jevRouter.d.ts +49 -0
- package/dist/routing/jev/jevRouter.js +231 -0
- package/dist/routing/jev/jevRouter.js.map +1 -0
- package/dist/routing/jev/optionAttention.d.ts +63 -0
- package/dist/routing/jev/optionAttention.js +158 -0
- package/dist/routing/jev/optionAttention.js.map +1 -0
- package/dist/routing/jev/remote.d.ts +14 -0
- package/dist/routing/jev/remote.js +55 -0
- package/dist/routing/jev/remote.js.map +1 -0
- package/dist/routing/jev/types.d.ts +71 -0
- package/dist/routing/jev/types.js +19 -0
- package/dist/routing/jev/types.js.map +1 -0
- package/dist/routing/jev/weights/jev-router-weights.json +1 -0
- package/dist/server/modelMapper.js +18 -0
- package/dist/server/modelMapper.js.map +1 -1
- package/docs/assets/og-banner.svg +193 -0
- package/docs/index.html +1523 -465
- package/docs-site/index.html +1427 -563
- package/package.json +29 -20
- package/python/pyproject.toml +1 -1
- package/src/cli/setupWizard.ts +4 -2
- package/src/routing/jev/jevRouter.ts +251 -0
- package/src/routing/jev/optionAttention.ts +186 -0
- package/src/routing/jev/remote.ts +50 -0
- package/src/routing/jev/types.ts +79 -0
- package/src/routing/jev/weights/jev-router-weights.json +1 -0
- package/src/server/modelMapper.ts +17 -0
- package/tests/routing/jev.test.ts +110 -0
- package/tools/calibrate_temp.py +81 -0
- package/tools/distill.mjs +143 -0
- package/tools/train_jev.py +213 -0
- package/dist/cli/tui.d.ts +0 -6
- package/dist/cli/tui.js.map +0 -1
- package/dist/routing/shadowSampler.d.ts.map +0 -1
- /package/{ARCHITECTURE.md → archive/ARCHITECTURE.md} +0 -0
- /package/{ENTERPRISE_INTEGRATIONS.md → archive/ENTERPRISE_INTEGRATIONS.md} +0 -0
- /package/{MANIFESTO.md → archive/MANIFESTO.md} +0 -0
- /package/{README_ja.md → archive/README_ja.md} +0 -0
- /package/{README_zh.md → archive/README_zh.md} +0 -0
- /package/{SECURITY.md → archive/SECURITY.md} +0 -0
- /package/{TECHNICAL_README.md → archive/TECHNICAL_README.md} +0 -0
- /package/{TODO_BROWSER_AUTOMATION.md → archive/TODO_BROWSER_AUTOMATION.md} +0 -0
- /package/{AGENT_COUNCIL_FINDINGS.md → archive/campaign/AGENT_COUNCIL_FINDINGS.md} +0 -0
- /package/{AUDIT_REPORT.md → archive/campaign/AUDIT_REPORT.md} +0 -0
- /package/{CONTRIBUTORS.md → archive/campaign/CONTRIBUTORS.md} +0 -0
- /package/{IMPROVEMENT_PLAN.md → archive/campaign/IMPROVEMENT_PLAN.md} +0 -0
- /package/{INTEGRATION_PROGRESS.md → archive/campaign/INTEGRATION_PROGRESS.md} +0 -0
- /package/{CAMPAIGN_SUMMARY.md → archive/launch/CAMPAIGN_SUMMARY.md} +0 -0
- /package/{LANDING.md → archive/launch/LANDING.md} +0 -0
- /package/{LAUNCH-PAIN-DRIVEN.md → archive/launch/LAUNCH-PAIN-DRIVEN.md} +0 -0
- /package/{LAUNCH.md → archive/launch/LAUNCH.md} +0 -0
- /package/{LAUNCH_CHECKLIST.md → archive/launch/LAUNCH_CHECKLIST.md} +0 -0
- /package/{LAUNCH_SNAPSHOT.md → archive/launch/LAUNCH_SNAPSHOT.md} +0 -0
- /package/{REDESIGN.md → archive/launch/REDESIGN.md} +0 -0
- /package/{HEALTH_REPORT.md → archive/research/HEALTH_REPORT.md} +0 -0
- /package/{OPPORTUNITIES_100.md → archive/research/OPPORTUNITIES_100.md} +0 -0
- /package/{POPULARITY_BOOSTERS.md → archive/research/POPULARITY_BOOSTERS.md} +0 -0
- /package/{PR_STATUS_REPORT.md → archive/research/PR_STATUS_REPORT.md} +0 -0
- /package/{research-log.md → archive/research/research-log.md} +0 -0
- /package/{RELEASE_v2.16.0.md → archive/submissions/RELEASE_v2.16.0.md} +0 -0
- /package/{RUNKIT.md → archive/submissions/RUNKIT.md} +0 -0
- /package/{SUBMISSIONS.md → archive/submissions/SUBMISSIONS.md} +0 -0
- /package/{a3m-integrations-summary.md → archive/submissions/a3m-integrations-summary.md} +0 -0
- /package/{discoverability-diagnosis.md → archive/submissions/discoverability-diagnosis.md} +0 -0
|
@@ -57,6 +57,24 @@ function resolveModel(modelName, prompt) {
|
|
|
57
57
|
return null;
|
|
58
58
|
return lookupProviderModel(route.primary_model, available);
|
|
59
59
|
}
|
|
60
|
+
// 1b. "jev-auto" → System One single-pass routing (Jev interface pattern).
|
|
61
|
+
// Lazy + guarded: falls back to the heuristic router if the jev module
|
|
62
|
+
// or its weights are unavailable.
|
|
63
|
+
if (modelName === "jev-auto") {
|
|
64
|
+
const query = prompt || "";
|
|
65
|
+
let route;
|
|
66
|
+
try {
|
|
67
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
68
|
+
const { jevRoute } = require("../routing/jev/jevRouter");
|
|
69
|
+
route = jevRoute(query);
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
route = (0, advancedRouter_1.routeQuery)(query);
|
|
73
|
+
}
|
|
74
|
+
if (!route.primary_model)
|
|
75
|
+
return null;
|
|
76
|
+
return lookupProviderModel(route.primary_model, available);
|
|
77
|
+
}
|
|
60
78
|
// 2. "provider/model" format → direct lookup
|
|
61
79
|
if (modelName.includes("/")) {
|
|
62
80
|
const mapping = lookupProviderModel(modelName, available);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelMapper.js","sourceRoot":"","sources":["../../src/server/modelMapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAoDH,
|
|
1
|
+
{"version":3,"file":"modelMapper.js","sourceRoot":"","sources":["../../src/server/modelMapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 630" width="1200" height="630">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#0d1117"/>
|
|
5
|
+
<stop offset="40%" style="stop-color:#101822"/>
|
|
6
|
+
<stop offset="100%" style="stop-color:#0d1117"/>
|
|
7
|
+
</linearGradient>
|
|
8
|
+
<linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
9
|
+
<stop offset="0%" style="stop-color:#58a6ff"/>
|
|
10
|
+
<stop offset="50%" style="stop-color:#a78bfa"/>
|
|
11
|
+
<stop offset="100%" style="stop-color:#2ea043"/>
|
|
12
|
+
</linearGradient>
|
|
13
|
+
<linearGradient id="greenPill" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
14
|
+
<stop offset="0%" style="stop-color:#238636"/>
|
|
15
|
+
<stop offset="100%" style="stop-color:#2ea043"/>
|
|
16
|
+
</linearGradient>
|
|
17
|
+
<linearGradient id="bluePill" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
18
|
+
<stop offset="0%" style="stop-color:#1f6feb"/>
|
|
19
|
+
<stop offset="100%" style="stop-color:#58a6ff"/>
|
|
20
|
+
</linearGradient>
|
|
21
|
+
<linearGradient id="purplePill" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
22
|
+
<stop offset="0%" style="stop-color:#7c3aed"/>
|
|
23
|
+
<stop offset="100%" style="stop-color:#a78bfa"/>
|
|
24
|
+
</linearGradient>
|
|
25
|
+
<linearGradient id="growthArrow" x1="0%" y1="100%" x2="100%" y2="0%">
|
|
26
|
+
<stop offset="0%" style="stop-color:#238636"/>
|
|
27
|
+
<stop offset="100%" style="stop-color:#2ea043"/>
|
|
28
|
+
</linearGradient>
|
|
29
|
+
<filter id="glow">
|
|
30
|
+
<feGaussianBlur stdDeviation="4" result="blur"/>
|
|
31
|
+
<feMerge>
|
|
32
|
+
<feMergeNode in="blur"/>
|
|
33
|
+
<feMergeNode in="SourceGraphic"/>
|
|
34
|
+
</feMerge>
|
|
35
|
+
</filter>
|
|
36
|
+
<filter id="cardShadow" x="-5%" y="-5%" width="110%" height="115%">
|
|
37
|
+
<feDropShadow dx="0" dy="3" stdDeviation="6" flood-color="#000000" flood-opacity="0.4"/>
|
|
38
|
+
</filter>
|
|
39
|
+
</defs>
|
|
40
|
+
|
|
41
|
+
<!-- Background -->
|
|
42
|
+
<rect width="1200" height="630" fill="url(#bgGrad)"/>
|
|
43
|
+
|
|
44
|
+
<!-- Decorative grid -->
|
|
45
|
+
<g opacity="0.025">
|
|
46
|
+
<line x1="0" y1="0" x2="1200" y2="630" stroke="#58a6ff" stroke-width="1"/>
|
|
47
|
+
<line x1="1200" y1="0" x2="0" y2="630" stroke="#58a6ff" stroke-width="1"/>
|
|
48
|
+
<circle cx="600" cy="315" r="180" fill="none" stroke="#58a6ff" stroke-width="0.5"/>
|
|
49
|
+
<circle cx="600" cy="315" r="300" fill="none" stroke="#58a6ff" stroke-width="0.5"/>
|
|
50
|
+
</g>
|
|
51
|
+
|
|
52
|
+
<!-- Top accent line -->
|
|
53
|
+
<rect x="0" y="0" width="1200" height="4" fill="url(#accentGrad)"/>
|
|
54
|
+
<!-- Left accent line -->
|
|
55
|
+
<rect x="0" y="0" width="4" height="630" fill="url(#accentGrad)" opacity="0.6"/>
|
|
56
|
+
|
|
57
|
+
<!-- Shuffle emoji -->
|
|
58
|
+
<text x="90" y="108" font-size="56" opacity="0.85">🔀</text>
|
|
59
|
+
|
|
60
|
+
<!-- Main title -->
|
|
61
|
+
<text x="160" y="100" font-family="'SF Pro Display', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="64" font-weight="800" fill="url(#accentGrad)" filter="url(#glow)">
|
|
62
|
+
A3M Router
|
|
63
|
+
</text>
|
|
64
|
+
|
|
65
|
+
<!-- Tagline -->
|
|
66
|
+
<text x="90" y="145" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" fill="#8b949e" font-weight="400">
|
|
67
|
+
No. 1 RouterArena accuracy, cost & robustness
|
|
68
|
+
</text>
|
|
69
|
+
|
|
70
|
+
<!-- RouterArena proof cards -->
|
|
71
|
+
<g transform="translate(90, 185)">
|
|
72
|
+
<!-- Section label -->
|
|
73
|
+
<text x="0" y="12" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="12" fill="#484f58" font-weight="600" letter-spacing="2">
|
|
74
|
+
ROUTERARENA PR #144
|
|
75
|
+
</text>
|
|
76
|
+
|
|
77
|
+
<!-- Score card -->
|
|
78
|
+
<g filter="url(#cardShadow)">
|
|
79
|
+
<rect x="0" y="30" width="270" height="100" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
|
|
80
|
+
<rect x="0" y="30" width="270" height="3" rx="1.5" fill="url(#greenPill)"/>
|
|
81
|
+
<text x="24" y="68" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" font-weight="600">SCORE</text>
|
|
82
|
+
<text x="24" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="40" font-weight="800" fill="#2ea043">0.9404</text>
|
|
83
|
+
<text x="160" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">RouterArena</text>
|
|
84
|
+
</g>
|
|
85
|
+
|
|
86
|
+
<!-- Arrow -->
|
|
87
|
+
<g transform="translate(286, 60)">
|
|
88
|
+
<polygon points="0,20 16,35 0,50" fill="#30363d"/>
|
|
89
|
+
</g>
|
|
90
|
+
|
|
91
|
+
<!-- Accuracy card -->
|
|
92
|
+
<g filter="url(#cardShadow)">
|
|
93
|
+
<rect x="321" y="30" width="270" height="100" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
|
|
94
|
+
<rect x="321" y="30" width="270" height="3" rx="1.5" fill="url(#bluePill)"/>
|
|
95
|
+
<text x="345" y="68" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" font-weight="600">ACCURACY</text>
|
|
96
|
+
<text x="345" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="40" font-weight="800" fill="#58a6ff">96.77%</text>
|
|
97
|
+
<text x="481" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">8,400 queries</text>
|
|
98
|
+
</g>
|
|
99
|
+
|
|
100
|
+
<!-- Arrow -->
|
|
101
|
+
<g transform="translate(607, 60)">
|
|
102
|
+
<polygon points="0,20 16,35 0,50" fill="#2ea043"/>
|
|
103
|
+
</g>
|
|
104
|
+
|
|
105
|
+
<!-- Cost card -->
|
|
106
|
+
<g filter="url(#cardShadow)">
|
|
107
|
+
<rect x="642" y="30" width="330" height="100" rx="12" fill="#161b22" stroke="#2ea043" stroke-width="2"/>
|
|
108
|
+
<rect x="642" y="30" width="330" height="3" rx="1.5" fill="url(#greenPill)"/>
|
|
109
|
+
<!-- Glow badge -->
|
|
110
|
+
<rect x="850" y="42" width="92" height="22" rx="11" fill="#238636" opacity="0.2"/>
|
|
111
|
+
<text x="896" y="57" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#2ea043" text-anchor="middle" font-weight="700">No. 1 cost</text>
|
|
112
|
+
<text x="666" y="82" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" font-weight="600">COST / 1K</text>
|
|
113
|
+
<text x="666" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="32" font-weight="800" fill="#2ea043">$0.0768</text>
|
|
114
|
+
<text x="835" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">robustness 1.0000</text>
|
|
115
|
+
</g>
|
|
116
|
+
</g>
|
|
117
|
+
|
|
118
|
+
<!-- RouterArena highlight banner -->
|
|
119
|
+
<g transform="translate(90, 355)">
|
|
120
|
+
<rect x="0" y="0" width="1020" height="60" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1"/>
|
|
121
|
+
<rect x="0" y="0" width="6" height="60" rx="3" fill="url(#accentGrad)"/>
|
|
122
|
+
<text x="510" y="28" font-family="'SF Pro Display', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="20" fill="#c9d1d9" text-anchor="middle" font-weight="700">
|
|
123
|
+
No. 1 accuracy, cost & robustness among known public baselines
|
|
124
|
+
</text>
|
|
125
|
+
<text x="510" y="48" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" text-anchor="middle">
|
|
126
|
+
0.9404 score · 96.77% accuracy · $0.0768/1K · 1.0000 robustness · 47+ providers
|
|
127
|
+
</text>
|
|
128
|
+
</g>
|
|
129
|
+
|
|
130
|
+
<!-- Bottom section -->
|
|
131
|
+
<g transform="translate(90, 445)">
|
|
132
|
+
<!-- npm install box -->
|
|
133
|
+
<rect x="0" y="0" width="520" height="52" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
|
|
134
|
+
<circle cx="26" cy="26" r="6" fill="#238636"/>
|
|
135
|
+
<circle cx="26" cy="26" r="3" fill="#0d1117"/>
|
|
136
|
+
<text x="46" y="32" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="16" fill="#c9d1d9" font-weight="500">
|
|
137
|
+
$ npm install adaptive-memory-multi-model-router
|
|
138
|
+
</text>
|
|
139
|
+
|
|
140
|
+
<!-- GitHub link -->
|
|
141
|
+
<rect x="560" y="0" width="460" height="52" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
|
|
142
|
+
<text x="580" y="22" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#484f58" font-weight="600" letter-spacing="1">
|
|
143
|
+
GITHUB
|
|
144
|
+
</text>
|
|
145
|
+
<text x="580" y="42" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="15" fill="#58a6ff" font-weight="500">
|
|
146
|
+
github.com/Das-rebel/a3m-router
|
|
147
|
+
</text>
|
|
148
|
+
</g>
|
|
149
|
+
|
|
150
|
+
<!-- Provider strip at very bottom -->
|
|
151
|
+
<g transform="translate(0, 530)">
|
|
152
|
+
<rect x="0" y="0" width="1200" height="100" fill="#080b10"/>
|
|
153
|
+
<rect x="0" y="0" width="1200" height="1" fill="#21262d"/>
|
|
154
|
+
|
|
155
|
+
<!-- Mini provider badges -->
|
|
156
|
+
<g transform="translate(90, 24)">
|
|
157
|
+
<rect x="0" y="0" width="80" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
158
|
+
<text x="40" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">OpenAI</text>
|
|
159
|
+
|
|
160
|
+
<rect x="96" y="0" width="95" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
161
|
+
<text x="143" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Anthropic</text>
|
|
162
|
+
|
|
163
|
+
<rect x="207" y="0" width="68" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
164
|
+
<text x="241" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Groq</text>
|
|
165
|
+
|
|
166
|
+
<rect x="289" y="0" width="88" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
167
|
+
<text x="333" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Cerebras</text>
|
|
168
|
+
|
|
169
|
+
<rect x="391" y="0" width="78" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
170
|
+
<text x="430" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Mistral</text>
|
|
171
|
+
|
|
172
|
+
<rect x="483" y="0" width="92" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
173
|
+
<text x="529" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">DeepSeek</text>
|
|
174
|
+
|
|
175
|
+
<rect x="589" y="0" width="76" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
176
|
+
<text x="627" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Ollama</text>
|
|
177
|
+
|
|
178
|
+
<rect x="680" y="0" width="76" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
179
|
+
<text x="718" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">Gemini</text>
|
|
180
|
+
|
|
181
|
+
<rect x="770" y="0" width="62" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
|
|
182
|
+
<text x="801" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#8b949e" text-anchor="middle" font-weight="600">SGLang</text>
|
|
183
|
+
|
|
184
|
+
<rect x="846" y="0" width="86" height="28" rx="14" fill="none" stroke="#30363d" stroke-width="0.5" stroke-dasharray="3 2"/>
|
|
185
|
+
<text x="889" y="19" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#484f58" text-anchor="middle" font-weight="500">+30 more</text>
|
|
186
|
+
</g>
|
|
187
|
+
|
|
188
|
+
<!-- Bottom tagline -->
|
|
189
|
+
<text x="600" y="75" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="11" fill="#30363d" text-anchor="middle" letter-spacing="3" font-weight="500">
|
|
190
|
+
ONE API KEY · EVERY PROVIDER · ZERO LOCK-IN
|
|
191
|
+
</text>
|
|
192
|
+
</g>
|
|
193
|
+
</svg>
|