adaptive-memory-multi-model-router 2.11.0 → 2.12.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.
Files changed (104) hide show
  1. package/.github/workflows/ci.yml +56 -0
  2. package/.github/workflows/pages.yml +37 -0
  3. package/Awesome-LLM/LICENSE.md +121 -0
  4. package/Awesome-LLM/README.md +625 -0
  5. package/Awesome-LLM/contributing.md +24 -0
  6. package/Awesome-LLM/paper_list/RLHF.md +1 -0
  7. package/Awesome-LLM/paper_list/Retrieval_Augmented_Generation.md +6 -0
  8. package/Awesome-LLM/paper_list/acceleration.md +10 -0
  9. package/Awesome-LLM/paper_list/alignment.md +20 -0
  10. package/Awesome-LLM/paper_list/application.md +19 -0
  11. package/Awesome-LLM/paper_list/augmentation.md +14 -0
  12. package/Awesome-LLM/paper_list/chain_of_thougt.md +16 -0
  13. package/Awesome-LLM/paper_list/code_pretraining.md +0 -0
  14. package/Awesome-LLM/paper_list/detection.md +11 -0
  15. package/Awesome-LLM/paper_list/evaluation.md +64 -0
  16. package/Awesome-LLM/paper_list/in_context_learning.md +4 -0
  17. package/Awesome-LLM/paper_list/instruction-tuning.md +35 -0
  18. package/Awesome-LLM/paper_list/moe.md +0 -0
  19. package/Awesome-LLM/paper_list/prompt_learning.md +15 -0
  20. package/Awesome-LLM/resources/DeepSpeed_light.svg +27 -0
  21. package/Awesome-LLM/resources/alpa-logo-cropped.png +0 -0
  22. package/Awesome-LLM/resources/colossal-ai_logo_vertical.png +0 -0
  23. package/Awesome-LLM/resources/creepy_llm.jpeg +0 -0
  24. package/Awesome-LLM/resources/image8.gif +0 -0
  25. package/Awesome-LLM/resources/jax_logo_250px.png +0 -0
  26. package/Awesome-LLM/resources/logo.png +0 -0
  27. package/Awesome-LLM/resources/nvidia.png +0 -0
  28. package/Awesome-LLM/resources/tensorflow.png +0 -0
  29. package/Awesome-LLM/resources//345/244/247/345/236/213/350/257/255/350/250/200/346/250/241/345/236/213/347/232/204/350/203/275/345/212/233/345/210/206/346/236/220/344/270/216/345/272/224/347/224/250 - 30min.pdf +0 -0
  30. package/LANDING.md +46 -0
  31. package/MANIFESTO.md +54 -0
  32. package/README.md +3 -3
  33. package/SUBMISSIONS.md +43 -0
  34. package/assets/chart-cost-v2.svg +91 -0
  35. package/assets/chart-cost-v3.svg +143 -0
  36. package/assets/chart-features-v2.svg +132 -0
  37. package/assets/chart-features-v3.svg +211 -0
  38. package/assets/chart-growth-v2.svg +122 -0
  39. package/assets/chart-growth-v3.svg +189 -0
  40. package/assets/cost-simple.svg +64 -0
  41. package/assets/growth-simple.svg +69 -0
  42. package/assets/hero-diagram.svg +81 -0
  43. package/assets/logo-new.svg +21 -0
  44. package/assets/social-preview-new.svg +100 -0
  45. package/assets/social-v2.svg +130 -0
  46. package/assets/social-v3.svg +212 -0
  47. package/awesome-ai-gateways/CONTRIBUTING.md +49 -0
  48. package/awesome-ai-gateways/LICENSE +3 -0
  49. package/awesome-ai-gateways/README.md +190 -0
  50. package/awesome-selfhosted/.github/ISSUE_TEMPLATE/config.yml +5 -0
  51. package/awesome-selfhosted/.github/PULL_REQUEST_TEMPLATE.md +1 -0
  52. package/awesome-selfhosted/LICENSE +376 -0
  53. package/awesome-selfhosted/README.md +2303 -0
  54. package/awesome-selfhosted/_static/awesome.png +0 -0
  55. package/awesome-selfhosted/non-free.md +377 -0
  56. package/demo-new.tape +71 -0
  57. package/demo-real.sh +198 -0
  58. package/demo-simple.tape +205 -0
  59. package/demo.html +520 -0
  60. package/demo.sh +85 -0
  61. package/demo.tape +259 -0
  62. package/dist/cli/setupWizard.js +194 -0
  63. package/dist/cli/tui.js +152 -0
  64. package/dist/cli.js +9 -2
  65. package/dist/routing/providerRetry.d.ts +5 -0
  66. package/dist/routing/providerRetry.js +37 -0
  67. package/dist/routing/providerRetry.js.map +1 -1
  68. package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
  69. package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
  70. package/docs/ENGINEERING_SPEC.md +55 -0
  71. package/docs/RELEASE_CHECKLIST.md +32 -0
  72. package/docs/REPRODUCIBILITY.md +63 -0
  73. package/docs/demo-auto.html +264 -0
  74. package/docs/demo.html +416 -0
  75. package/docs/index.html +112 -599
  76. package/eval/README.md +46 -0
  77. package/eval/baselines/main.json +12 -0
  78. package/eval/benchmark_dataset.jsonl +16 -0
  79. package/eval/check_golden_routes.js +64 -0
  80. package/eval/datasets/catalog.json +33 -0
  81. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  82. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  83. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  84. package/eval/fault_injection_thresholds.json +3 -0
  85. package/eval/generate_report.js +128 -0
  86. package/eval/golden_routes.json +114 -0
  87. package/eval/lib/experiment_registry.js +24 -0
  88. package/eval/run_eval.js +197 -0
  89. package/eval/run_fault_injection.js +201 -0
  90. package/eval/run_shadow_eval.js +85 -0
  91. package/eval/thresholds.json +9 -0
  92. package/index.html +667 -0
  93. package/package.json +29 -168
  94. package/pytest.ini +2 -0
  95. package/src/cli/setupWizard.ts +194 -0
  96. package/src/routing/providerRetry.ts +41 -1
  97. package/docs/assets/cost-comparison.svg +0 -134
  98. package/docs/assets/growth-chart-animated.svg +0 -76
  99. package/docs/assets/og-banner.svg +0 -194
  100. package/docs/assets/social-preview.svg +0 -194
  101. package/python/a3m/__pycache__/__init__.cpython-312.pyc +0 -0
  102. package/python/a3m/__pycache__/client.cpython-312.pyc +0 -0
  103. package/python/a3m/__pycache__/models.cpython-312.pyc +0 -0
  104. package/python/a3m/__pycache__/sync_client.cpython-312.pyc +0 -0
@@ -1,194 +0,0 @@
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
- Intelligent LLM routing · Drop-in OpenAI-compatible proxy
68
- </text>
69
-
70
- <!-- Day-by-day breakdown section -->
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
- LAUNCH TRAJECTORY
75
- </text>
76
-
77
- <!-- Day cards -->
78
- <!-- Day 1 -->
79
- <g filter="url(#cardShadow)">
80
- <rect x="0" y="30" width="300" height="100" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
81
- <rect x="0" y="30" width="300" height="3" rx="1.5" fill="url(#greenPill)"/>
82
- <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">DAY 1</text>
83
- <text x="24" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="40" font-weight="800" fill="#2ea043">552</text>
84
- <text x="160" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">downloads</text>
85
- </g>
86
-
87
- <!-- Arrow between Day 1 and Day 2 -->
88
- <g transform="translate(316, 60)">
89
- <polygon points="0,20 16,35 0,50" fill="#30363d"/>
90
- </g>
91
-
92
- <!-- Day 2 -->
93
- <g filter="url(#cardShadow)">
94
- <rect x="345" y="30" width="300" height="100" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
95
- <rect x="345" y="30" width="300" height="3" rx="1.5" fill="url(#bluePill)"/>
96
- <text x="369" y="68" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" font-weight="600">DAY 2</text>
97
- <text x="369" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="40" font-weight="800" fill="#58a6ff">320</text>
98
- <text x="505" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">downloads</text>
99
- </g>
100
-
101
- <!-- Arrow between Day 2 and Day 3 -->
102
- <g transform="translate(661, 55)">
103
- <polygon points="0,15 18,35 0,55" fill="#2ea043"/>
104
- </g>
105
-
106
- <!-- Day 3 (highlighted) -->
107
- <g filter="url(#cardShadow)">
108
- <rect x="690" y="30" width="320" height="100" rx="12" fill="#161b22" stroke="#2ea043" stroke-width="2"/>
109
- <rect x="690" y="30" width="320" height="3" rx="1.5" fill="url(#greenPill)"/>
110
- <!-- Glow badge -->
111
- <rect x="910" y="42" width="84" height="22" rx="11" fill="#238636" opacity="0.2"/>
112
- <text x="952" 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">+494%</text>
113
- <text x="714" y="68" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" font-weight="600">DAY 3</text>
114
- <text x="714" y="110" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="40" font-weight="800" fill="#2ea043">1,903</text>
115
- <text x="878" y="110" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58">downloads</text>
116
- </g>
117
- </g>
118
-
119
- <!-- Growth highlight banner -->
120
- <g transform="translate(90, 355)">
121
- <rect x="0" y="0" width="1020" height="60" rx="12" fill="#161b22" stroke="#30363d" stroke-width="1"/>
122
- <rect x="0" y="0" width="6" height="60" rx="3" fill="url(#accentGrad)"/>
123
- <text x="510" y="28" font-family="'SF Pro Display', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="22" fill="#c9d1d9" text-anchor="middle" font-weight="700">
124
- 245% growth. Zero budget.
125
- </text>
126
- <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">
127
- 2,775 total downloads · 39 providers · 100% organic
128
- </text>
129
- </g>
130
-
131
- <!-- Bottom section -->
132
- <g transform="translate(90, 445)">
133
- <!-- npm install box -->
134
- <rect x="0" y="0" width="520" height="52" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
135
- <circle cx="26" cy="26" r="6" fill="#238636"/>
136
- <circle cx="26" cy="26" r="3" fill="#0d1117"/>
137
- <text x="46" y="32" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="16" fill="#c9d1d9" font-weight="500">
138
- $ npm install adaptive-memory-router
139
- </text>
140
-
141
- <!-- GitHub link -->
142
- <rect x="560" y="0" width="460" height="52" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
143
- <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">
144
- GITHUB
145
- </text>
146
- <text x="580" y="42" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="15" fill="#58a6ff" font-weight="500">
147
- github.com/Das-rebel/adaptive-memory-router
148
- </text>
149
- </g>
150
-
151
- <!-- Provider strip at very bottom -->
152
- <g transform="translate(0, 530)">
153
- <rect x="0" y="0" width="1200" height="100" fill="#080b10"/>
154
- <rect x="0" y="0" width="1200" height="1" fill="#21262d"/>
155
-
156
- <!-- Mini provider badges -->
157
- <g transform="translate(90, 24)">
158
- <rect x="0" y="0" width="80" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
159
- <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>
160
-
161
- <rect x="96" y="0" width="95" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
162
- <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>
163
-
164
- <rect x="207" y="0" width="68" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
165
- <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>
166
-
167
- <rect x="289" y="0" width="88" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
168
- <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>
169
-
170
- <rect x="391" y="0" width="78" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
171
- <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>
172
-
173
- <rect x="483" y="0" width="92" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
174
- <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>
175
-
176
- <rect x="589" y="0" width="76" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
177
- <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>
178
-
179
- <rect x="680" y="0" width="76" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
180
- <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>
181
-
182
- <rect x="770" y="0" width="62" height="28" rx="14" fill="#1a1f27" stroke="#30363d" stroke-width="0.5"/>
183
- <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>
184
-
185
- <rect x="846" y="0" width="86" height="28" rx="14" fill="none" stroke="#30363d" stroke-width="0.5" stroke-dasharray="3 2"/>
186
- <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>
187
- </g>
188
-
189
- <!-- Bottom tagline -->
190
- <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">
191
- ONE API KEY · EVERY PROVIDER · ZERO LOCK-IN
192
- </text>
193
- </g>
194
- </svg>
@@ -1,194 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 640" width="1280" height="640">
2
- <defs>
3
- <!-- Background gradient -->
4
- <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
5
- <stop offset="0%" style="stop-color:#0d1117"/>
6
- <stop offset="50%" style="stop-color:#111820"/>
7
- <stop offset="100%" style="stop-color:#0d1117"/>
8
- </linearGradient>
9
- <!-- Green accent gradient -->
10
- <linearGradient id="greenGrad" x1="0%" y1="0%" x2="100%" y2="0%">
11
- <stop offset="0%" style="stop-color:#238636"/>
12
- <stop offset="100%" style="stop-color:#2ea043"/>
13
- </linearGradient>
14
- <!-- Blue accent gradient -->
15
- <linearGradient id="blueGrad" x1="0%" y1="0%" x2="100%" y2="0%">
16
- <stop offset="0%" style="stop-color:#1f6feb"/>
17
- <stop offset="100%" style="stop-color:#58a6ff"/>
18
- </linearGradient>
19
- <!-- Purple accent gradient -->
20
- <linearGradient id="purpleGrad" x1="0%" y1="0%" x2="100%" y2="0%">
21
- <stop offset="0%" style="stop-color:#8b5cf6"/>
22
- <stop offset="100%" style="stop-color:#a78bfa"/>
23
- </linearGradient>
24
- <!-- Title gradient -->
25
- <linearGradient id="titleGrad" x1="0%" y1="0%" x2="100%" y2="0%">
26
- <stop offset="0%" style="stop-color:#58a6ff"/>
27
- <stop offset="40%" style="stop-color:#a78bfa"/>
28
- <stop offset="100%" style="stop-color:#2ea043"/>
29
- </linearGradient>
30
- <!-- Glow filter -->
31
- <filter id="glow">
32
- <feGaussianBlur stdDeviation="3" result="blur"/>
33
- <feMerge>
34
- <feMergeNode in="blur"/>
35
- <feMergeNode in="SourceGraphic"/>
36
- </feMerge>
37
- </filter>
38
- <!-- Subtle shadow for cards -->
39
- <filter id="cardShadow" x="-5%" y="-5%" width="110%" height="115%">
40
- <feDropShadow dx="0" dy="4" stdDeviation="8" flood-color="#000000" flood-opacity="0.3"/>
41
- </filter>
42
- <!-- Emoji glow -->
43
- <filter id="emojiGlow" x="-20%" y="-20%" width="140%" height="140%">
44
- <feGaussianBlur stdDeviation="6" result="blur"/>
45
- <feMerge>
46
- <feMergeNode in="blur"/>
47
- <feMergeNode in="SourceGraphic"/>
48
- </feMerge>
49
- </filter>
50
- </defs>
51
-
52
- <!-- Background -->
53
- <rect width="1280" height="640" fill="url(#bgGrad)" rx="0"/>
54
-
55
- <!-- Subtle grid pattern -->
56
- <g opacity="0.03">
57
- <line x1="0" y1="0" x2="1280" y2="640" stroke="#58a6ff" stroke-width="1"/>
58
- <line x1="1280" y1="0" x2="0" y2="640" stroke="#58a6ff" stroke-width="1"/>
59
- <line x1="640" y1="0" x2="640" y2="640" stroke="#58a6ff" stroke-width="0.5"/>
60
- <line x1="0" y1="320" x2="1280" y2="320" stroke="#58a6ff" stroke-width="0.5"/>
61
- <circle cx="640" cy="320" r="200" fill="none" stroke="#58a6ff" stroke-width="0.5"/>
62
- <circle cx="640" cy="320" r="350" fill="none" stroke="#58a6ff" stroke-width="0.5"/>
63
- </g>
64
-
65
- <!-- Decorative accent lines -->
66
- <rect x="0" y="0" width="6" height="640" fill="url(#titleGrad)" opacity="0.8"/>
67
- <rect x="1274" y="0" width="6" height="640" fill="url(#titleGrad)" opacity="0.4"/>
68
-
69
- <!-- Top decorative bar -->
70
- <rect x="80" y="28" width="1120" height="2" fill="url(#titleGrad)" opacity="0.3" rx="1"/>
71
-
72
- <!-- Emoji shuffle icon -->
73
- <text x="120" y="130" font-size="72" filter="url(#emojiGlow)" opacity="0.9">🔀</text>
74
-
75
- <!-- Main title -->
76
- <text x="200" y="122" font-family="'SF Pro Display', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="72" font-weight="800" fill="url(#titleGrad)" filter="url(#glow)">
77
- A3M Router
78
- </text>
79
-
80
- <!-- Subtitle -->
81
- <text x="120" y="170" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="24" fill="#8b949e" font-weight="400">
82
- Drop-in OpenAI proxy · 39 providers · 245% growth in 3 days
83
- </text>
84
-
85
- <!-- Stat cards row -->
86
- <!-- Card 1: Downloads -->
87
- <g filter="url(#cardShadow)">
88
- <rect x="120" y="210" width="320" height="160" rx="16" fill="#161b22" stroke="#238636" stroke-width="2" opacity="0.95"/>
89
- <rect x="120" y="210" width="320" height="4" rx="2" fill="url(#greenGrad)"/>
90
- <text x="280" y="268" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="52" font-weight="800" fill="#2ea043" text-anchor="middle">
91
- 2,775
92
- </text>
93
- <text x="280" y="305" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="16" fill="#8b949e" text-anchor="middle" font-weight="500">
94
- npm downloads
95
- </text>
96
- <text x="280" y="340" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" text-anchor="middle">
97
- in first 3 days
98
- </text>
99
- </g>
100
-
101
- <!-- Card 2: Growth -->
102
- <g filter="url(#cardShadow)">
103
- <rect x="480" y="210" width="320" height="160" rx="16" fill="#161b22" stroke="#1f6feb" stroke-width="2" opacity="0.95"/>
104
- <rect x="480" y="210" width="320" height="4" rx="2" fill="url(#blueGrad)"/>
105
- <text x="640" y="268" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="52" font-weight="800" fill="#58a6ff" text-anchor="middle">
106
- 245%
107
- </text>
108
- <text x="640" y="305" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="16" fill="#8b949e" text-anchor="middle" font-weight="500">
109
- day-over-day growth
110
- </text>
111
- <text x="640" y="340" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" text-anchor="middle">
112
- organic, no marketing
113
- </text>
114
- </g>
115
-
116
- <!-- Card 3: Budget -->
117
- <g filter="url(#cardShadow)">
118
- <rect x="840" y="210" width="320" height="160" rx="16" fill="#161b22" stroke="#8b5cf6" stroke-width="2" opacity="0.95"/>
119
- <rect x="840" y="210" width="320" height="4" rx="2" fill="url(#purpleGrad)"/>
120
- <text x="1000" y="268" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="52" font-weight="800" fill="#a78bfa" text-anchor="middle">
121
- $0
122
- </text>
123
- <text x="1000" y="305" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="16" fill="#8b949e" text-anchor="middle" font-weight="500">
124
- marketing budget
125
- </text>
126
- <text x="1000" y="340" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" text-anchor="middle">
127
- 100% community driven
128
- </text>
129
- </g>
130
-
131
- <!-- Provider logos row -->
132
- <g transform="translate(0, 420)">
133
- <text x="640" y="10" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="12" fill="#484f58" text-anchor="middle" letter-spacing="3" font-weight="600">
134
- SUPPORTED PROVIDERS
135
- </text>
136
-
137
- <!-- Provider pills -->
138
- <!-- OpenAI -->
139
- <rect x="68" y="26" width="130" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
140
- <circle cx="95" cy="45" r="8" fill="#10a37f"/>
141
- <text x="108" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">OpenAI</text>
142
-
143
- <!-- Anthropic -->
144
- <rect x="218" y="26" width="140" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
145
- <circle cx="248" cy="45" r="8" fill="#d4a574"/>
146
- <text x="262" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">Anthropic</text>
147
-
148
- <!-- Groq -->
149
- <rect x="378" y="26" width="110" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
150
- <circle cx="405" cy="45" r="8" fill="#f55036"/>
151
- <text x="418" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">Groq</text>
152
-
153
- <!-- Cerebras -->
154
- <rect x="508" y="26" width="130" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
155
- <circle cx="538" cy="45" r="8" fill="#7c3aed"/>
156
- <text x="552" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">Cerebras</text>
157
-
158
- <!-- Mistral -->
159
- <rect x="658" y="26" width="120" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
160
- <circle cx="685" cy="45" r="8" fill="#ff7000"/>
161
- <text x="698" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">Mistral</text>
162
-
163
- <!-- DeepSeek -->
164
- <rect x="798" y="26" width="140" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
165
- <circle cx="828" cy="45" r="8" fill="#4d6bfe"/>
166
- <text x="842" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">DeepSeek</text>
167
-
168
- <!-- Ollama -->
169
- <rect x="958" y="26" width="120" height="38" rx="19" fill="#1a1f27" stroke="#30363d" stroke-width="1"/>
170
- <circle cx="985" cy="45" r="8" fill="#6366f1"/>
171
- <text x="998" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="14" fill="#c9d1d9" font-weight="600">Ollama</text>
172
-
173
- <!-- +32 more -->
174
- <rect x="1098" y="26" width="110" height="38" rx="19" fill="none" stroke="#30363d" stroke-width="1" stroke-dasharray="4 3"/>
175
- <text x="1153" y="51" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="13" fill="#484f58" text-anchor="middle" font-weight="500">+32 more</text>
176
- </g>
177
-
178
- <!-- Bottom bar -->
179
- <rect x="80" y="530" width="1120" height="1" fill="#21262d" rx="0.5"/>
180
-
181
- <!-- Bottom tagline -->
182
- <text x="640" y="570" font-family="'SF Mono', 'Fira Code', 'Consolas', monospace" font-size="15" fill="#484f58" text-anchor="middle">
183
- $ npx adaptive-memory-router --provider auto
184
- </text>
185
-
186
- <!-- Bottom right badge -->
187
- <rect x="1020" y="585" width="180" height="30" rx="15" fill="#161b22" stroke="#30363d" stroke-width="1"/>
188
- <text x="1110" y="605" font-family="'SF Pro Text', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif" font-size="12" fill="#8b949e" text-anchor="middle" font-weight="500">
189
- github.com/Das-rebel
190
- </text>
191
-
192
- <!-- Bottom decorative bar -->
193
- <rect x="80" y="610" width="1120" height="2" fill="url(#titleGrad)" opacity="0.3" rx="1"/>
194
- </svg>