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.
Files changed (73) hide show
  1. package/.github/CODEOWNERS +2 -0
  2. package/.github/FUNDING.yml +7 -1
  3. package/.github/ISSUE_TEMPLATE/bug_report.md +56 -0
  4. package/.github/ISSUE_TEMPLATE/feature_request.md +41 -0
  5. package/.github/workflows/pages.yml +1 -1
  6. package/CHANGELOG.md +15 -8
  7. package/CONTRIBUTING.md +109 -25
  8. package/README.md +131 -219
  9. package/data/jev-distill.jsonl +320 -0
  10. package/dist/routing/jev/jevRouter.d.ts +49 -0
  11. package/dist/routing/jev/jevRouter.js +231 -0
  12. package/dist/routing/jev/jevRouter.js.map +1 -0
  13. package/dist/routing/jev/optionAttention.d.ts +63 -0
  14. package/dist/routing/jev/optionAttention.js +158 -0
  15. package/dist/routing/jev/optionAttention.js.map +1 -0
  16. package/dist/routing/jev/remote.d.ts +14 -0
  17. package/dist/routing/jev/remote.js +55 -0
  18. package/dist/routing/jev/remote.js.map +1 -0
  19. package/dist/routing/jev/types.d.ts +71 -0
  20. package/dist/routing/jev/types.js +19 -0
  21. package/dist/routing/jev/types.js.map +1 -0
  22. package/dist/routing/jev/weights/jev-router-weights.json +1 -0
  23. package/dist/server/modelMapper.js +18 -0
  24. package/dist/server/modelMapper.js.map +1 -1
  25. package/docs/assets/og-banner.svg +193 -0
  26. package/docs/index.html +1523 -465
  27. package/docs-site/index.html +1427 -563
  28. package/package.json +29 -20
  29. package/python/pyproject.toml +1 -1
  30. package/src/cli/setupWizard.ts +4 -2
  31. package/src/routing/jev/jevRouter.ts +251 -0
  32. package/src/routing/jev/optionAttention.ts +186 -0
  33. package/src/routing/jev/remote.ts +50 -0
  34. package/src/routing/jev/types.ts +79 -0
  35. package/src/routing/jev/weights/jev-router-weights.json +1 -0
  36. package/src/server/modelMapper.ts +17 -0
  37. package/tests/routing/jev.test.ts +110 -0
  38. package/tools/calibrate_temp.py +81 -0
  39. package/tools/distill.mjs +143 -0
  40. package/tools/train_jev.py +213 -0
  41. package/dist/cli/tui.d.ts +0 -6
  42. package/dist/cli/tui.js.map +0 -1
  43. package/dist/routing/shadowSampler.d.ts.map +0 -1
  44. /package/{ARCHITECTURE.md → archive/ARCHITECTURE.md} +0 -0
  45. /package/{ENTERPRISE_INTEGRATIONS.md → archive/ENTERPRISE_INTEGRATIONS.md} +0 -0
  46. /package/{MANIFESTO.md → archive/MANIFESTO.md} +0 -0
  47. /package/{README_ja.md → archive/README_ja.md} +0 -0
  48. /package/{README_zh.md → archive/README_zh.md} +0 -0
  49. /package/{SECURITY.md → archive/SECURITY.md} +0 -0
  50. /package/{TECHNICAL_README.md → archive/TECHNICAL_README.md} +0 -0
  51. /package/{TODO_BROWSER_AUTOMATION.md → archive/TODO_BROWSER_AUTOMATION.md} +0 -0
  52. /package/{AGENT_COUNCIL_FINDINGS.md → archive/campaign/AGENT_COUNCIL_FINDINGS.md} +0 -0
  53. /package/{AUDIT_REPORT.md → archive/campaign/AUDIT_REPORT.md} +0 -0
  54. /package/{CONTRIBUTORS.md → archive/campaign/CONTRIBUTORS.md} +0 -0
  55. /package/{IMPROVEMENT_PLAN.md → archive/campaign/IMPROVEMENT_PLAN.md} +0 -0
  56. /package/{INTEGRATION_PROGRESS.md → archive/campaign/INTEGRATION_PROGRESS.md} +0 -0
  57. /package/{CAMPAIGN_SUMMARY.md → archive/launch/CAMPAIGN_SUMMARY.md} +0 -0
  58. /package/{LANDING.md → archive/launch/LANDING.md} +0 -0
  59. /package/{LAUNCH-PAIN-DRIVEN.md → archive/launch/LAUNCH-PAIN-DRIVEN.md} +0 -0
  60. /package/{LAUNCH.md → archive/launch/LAUNCH.md} +0 -0
  61. /package/{LAUNCH_CHECKLIST.md → archive/launch/LAUNCH_CHECKLIST.md} +0 -0
  62. /package/{LAUNCH_SNAPSHOT.md → archive/launch/LAUNCH_SNAPSHOT.md} +0 -0
  63. /package/{REDESIGN.md → archive/launch/REDESIGN.md} +0 -0
  64. /package/{HEALTH_REPORT.md → archive/research/HEALTH_REPORT.md} +0 -0
  65. /package/{OPPORTUNITIES_100.md → archive/research/OPPORTUNITIES_100.md} +0 -0
  66. /package/{POPULARITY_BOOSTERS.md → archive/research/POPULARITY_BOOSTERS.md} +0 -0
  67. /package/{PR_STATUS_REPORT.md → archive/research/PR_STATUS_REPORT.md} +0 -0
  68. /package/{research-log.md → archive/research/research-log.md} +0 -0
  69. /package/{RELEASE_v2.16.0.md → archive/submissions/RELEASE_v2.16.0.md} +0 -0
  70. /package/{RUNKIT.md → archive/submissions/RUNKIT.md} +0 -0
  71. /package/{SUBMISSIONS.md → archive/submissions/SUBMISSIONS.md} +0 -0
  72. /package/{a3m-integrations-summary.md → archive/submissions/a3m-integrations-summary.md} +0 -0
  73. /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":"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"}
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>