adaptive-memory-multi-model-router 2.14.59 → 2.15.0

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 (140) hide show
  1. package/.github/ISSUE_TEMPLATE/checklist.md +35 -0
  2. package/.github/workflows/ci.yml +9 -6
  3. package/POPULARITY_BOOSTERS.md +18 -0
  4. package/PR_STATUS_REPORT.md +55 -148
  5. package/README.md +222 -1035
  6. package/assets/chart-accuracy-by-tier.svg +63 -0
  7. package/assets/chart-confusion-matrix.svg +98 -0
  8. package/assets/chart-cost-comparison.svg +66 -0
  9. package/assets/chart-latency-overhead.svg +102 -0
  10. package/assets/chart-routerena-leaderboard.svg +76 -0
  11. package/dist/analytics/costAnalytics.d.ts +1 -0
  12. package/dist/benchmark/comprehensive.d.ts +4 -53
  13. package/dist/benchmark/comprehensive.d.ts.map +1 -0
  14. package/dist/benchmark/comprehensive.js +112 -214
  15. package/dist/benchmark/comprehensive.js.map +1 -1
  16. package/dist/benchmark/reproducible.d.ts +1 -0
  17. package/dist/cache/semanticCache.d.ts +1 -0
  18. package/dist/cli/setupWizard.d.ts +6 -1
  19. package/dist/cli/setupWizard.d.ts.map +1 -1
  20. package/dist/cli/setupWizard.js +6 -9
  21. package/dist/cli/setupWizard.js.map +1 -1
  22. package/dist/cost/budgetEnforcer.d.ts +1 -0
  23. package/dist/cost/costTracker.d.ts +1 -0
  24. package/dist/ensemble/multiRoundDialog.d.ts +1 -0
  25. package/dist/ensemble/multiRoundDialog.d.ts.map +1 -0
  26. package/dist/ensemble/shapleyValue.d.ts +1 -0
  27. package/dist/ensemble/shapleyValue.d.ts.map +1 -0
  28. package/dist/ensemble.d.ts +1 -0
  29. package/dist/index.d.ts +1 -0
  30. package/dist/integrations/langchainAdapter.d.ts +1 -0
  31. package/dist/integrations/oauth.d.ts +1 -0
  32. package/dist/integrations/scienceAdapter.d.ts +1 -0
  33. package/dist/integrations/scienceAdapter.d.ts.map +1 -0
  34. package/dist/memory/autoFetch.d.ts +1 -0
  35. package/dist/memory/hybridMemory.d.ts +1 -0
  36. package/dist/memory/hybridMemory.d.ts.map +1 -0
  37. package/dist/memory/memoryTree.d.ts +1 -0
  38. package/dist/memory/memoryTree.d.ts.map +1 -1
  39. package/dist/memory/obsidianVault.d.ts +1 -0
  40. package/dist/memory/obsidianVault.d.ts.map +1 -1
  41. package/dist/memory/reasoningBank.d.ts +1 -0
  42. package/dist/memory/reasoningBank.d.ts.map +1 -0
  43. package/dist/observability/changeWatch.d.ts +1 -0
  44. package/dist/observability/fatigueDetector.d.ts +1 -0
  45. package/dist/observability/index.d.ts +1 -0
  46. package/dist/observability/metrics.d.ts +1 -0
  47. package/dist/observability/metrics.d.ts.map +1 -1
  48. package/dist/observability/middleware.d.ts +1 -0
  49. package/dist/observability/tracer.d.ts +1 -0
  50. package/dist/observability/tracer.d.ts.map +1 -1
  51. package/dist/observability/types.d.ts +1 -0
  52. package/dist/providers/providerConfig.d.ts +1 -0
  53. package/dist/providers/providerConfig.d.ts.map +1 -1
  54. package/dist/routing/advancedRouter.d.ts +2 -1
  55. package/dist/routing/advancedRouter.d.ts.map +1 -1
  56. package/dist/routing/crossModelValidation.d.ts +1 -0
  57. package/dist/routing/providerHealth.d.ts +1 -0
  58. package/dist/routing/providerHealth.d.ts.map +1 -1
  59. package/dist/routing/providerRetry.d.ts +1 -0
  60. package/dist/sdk.d.ts +1 -0
  61. package/dist/security/guardrails.d.ts +1 -0
  62. package/dist/security/guardrails.d.ts.map +1 -1
  63. package/dist/server/dashboard.d.ts +1 -0
  64. package/dist/server/handlers/chatHandler.d.ts +11 -0
  65. package/dist/server/handlers/chatHandler.d.ts.map +1 -0
  66. package/dist/server/handlers/chatHandler.js +159 -0
  67. package/dist/server/handlers/chatHandler.js.map +1 -0
  68. package/dist/server/handlers/completionsHandler.d.ts +10 -0
  69. package/dist/server/handlers/completionsHandler.d.ts.map +1 -0
  70. package/dist/server/handlers/completionsHandler.js +124 -0
  71. package/dist/server/handlers/completionsHandler.js.map +1 -0
  72. package/dist/server/handlers/embeddingsHandler.d.ts +17 -0
  73. package/dist/server/handlers/embeddingsHandler.d.ts.map +1 -0
  74. package/dist/server/handlers/embeddingsHandler.js +235 -0
  75. package/dist/server/handlers/embeddingsHandler.js.map +1 -0
  76. package/dist/server/handlers/healthHandler.d.ts +10 -0
  77. package/dist/server/handlers/healthHandler.d.ts.map +1 -0
  78. package/dist/server/handlers/healthHandler.js +49 -0
  79. package/dist/server/handlers/healthHandler.js.map +1 -0
  80. package/dist/server/handlers/metricsHandler.d.ts +11 -0
  81. package/dist/server/handlers/metricsHandler.d.ts.map +1 -0
  82. package/dist/server/handlers/metricsHandler.js +24 -0
  83. package/dist/server/handlers/metricsHandler.js.map +1 -0
  84. package/dist/server/handlers/modelsHandler.d.ts +10 -0
  85. package/dist/server/handlers/modelsHandler.d.ts.map +1 -0
  86. package/dist/server/handlers/modelsHandler.js +19 -0
  87. package/dist/server/handlers/modelsHandler.js.map +1 -0
  88. package/dist/server/metrics.d.ts +96 -0
  89. package/dist/server/metrics.d.ts.map +1 -0
  90. package/dist/server/metrics.js +267 -0
  91. package/dist/server/metrics.js.map +1 -0
  92. package/dist/server/modelMapper.d.ts +1 -0
  93. package/dist/server/proxyServer.d.ts +53 -17
  94. package/dist/server/proxyServer.d.ts.map +1 -1
  95. package/dist/server/proxyServer.js +66 -303
  96. package/dist/server/proxyServer.js.map +1 -1
  97. package/dist/server/router.d.ts +49 -0
  98. package/dist/server/router.d.ts.map +1 -0
  99. package/dist/server/router.js +120 -0
  100. package/dist/server/router.js.map +1 -0
  101. package/dist/server/state.d.ts +30 -0
  102. package/dist/server/state.d.ts.map +1 -0
  103. package/dist/server/state.js +18 -0
  104. package/dist/server/state.js.map +1 -0
  105. package/dist/skills/__tests__/skill_manager.test.d.ts +3 -0
  106. package/dist/skills/__tests__/skill_manager.test.d.ts.map +1 -1
  107. package/dist/skills/__tests__/skill_manager.test.js +3 -6
  108. package/dist/skills/__tests__/skill_manager.test.js.map +1 -1
  109. package/dist/tui/dashboard.d.ts +1 -0
  110. package/dist/tui/index.d.ts +1 -0
  111. package/dist/utils/costUtils.d.ts +1 -0
  112. package/dist/utils/reliability.js +4 -18
  113. package/dist/utils/sorting.d.ts +1 -0
  114. package/dist/utils/tokenUtils.d.ts +1 -0
  115. package/docs/assets/chart-accuracy-by-tier.svg +63 -0
  116. package/docs/assets/chart-confusion-matrix.svg +98 -0
  117. package/docs/assets/chart-cost-comparison.svg +66 -0
  118. package/docs/assets/chart-latency-overhead.svg +102 -0
  119. package/docs/assets/chart-routerena-leaderboard.svg +76 -0
  120. package/docs/index.html +72 -80
  121. package/docs/llms-full.txt +156 -184
  122. package/docs/llms.txt +77 -42
  123. package/llms-full.txt +156 -184
  124. package/llms.txt +77 -42
  125. package/mcp-server/package.json +6 -0
  126. package/mcp-server/tsconfig.json +3 -2
  127. package/package.json +4 -3
  128. package/scripts/postinstall-nudge.js +3 -0
  129. package/src/server/handlers/chatHandler.ts +173 -0
  130. package/src/server/handlers/completionsHandler.ts +120 -0
  131. package/src/server/handlers/embeddingsHandler.ts +271 -0
  132. package/src/server/handlers/healthHandler.ts +57 -0
  133. package/src/server/handlers/metricsHandler.ts +30 -0
  134. package/src/server/handlers/modelsHandler.ts +25 -0
  135. package/src/server/metrics.ts +303 -0
  136. package/src/server/proxyServer.ts +71 -394
  137. package/src/server/router.ts +157 -0
  138. package/src/server/state.ts +34 -0
  139. package/src/skills/__tests__/skill_manager.test.ts +3 -3
  140. package/index.html +0 -667
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * A3M Router - HTTP Route Registry
4
+ *
5
+ * Pluggable route table pattern replacing monolithic if/else routing.
6
+ * Adding a new endpoint = 1 handler file + 1 registration line.
7
+ *
8
+ * Usage:
9
+ * import { createRouter, registerRoute } from './router';
10
+ * registerRoute('GET', /^\/health$/, handleHealth);
11
+ * registerRoute('POST', /^\/v1\/chat\/completions$/, handleChatCompletions);
12
+ * const router = createRouter();
13
+ * server.use(router);
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.registerRoute = registerRoute;
17
+ exports.createRequestHandler = createRequestHandler;
18
+ exports.getRegisteredRoutes = getRegisteredRoutes;
19
+ // ============================================================
20
+ // ROUTE REGISTRY
21
+ // ============================================================
22
+ const routes = [];
23
+ /**
24
+ * Generate a short request ID.
25
+ */
26
+ function generateRequestId() {
27
+ return 'req-' + Math.random().toString(36).substring(2, 10) + Date.now().toString(36);
28
+ }
29
+ /**
30
+ * Parse query string from URL.
31
+ */
32
+ function parseQuery(url) {
33
+ try {
34
+ const urlObj = new URL(url, 'http://localhost');
35
+ const query = {};
36
+ urlObj.searchParams.forEach((value, key) => {
37
+ query[key] = value;
38
+ });
39
+ return query;
40
+ }
41
+ catch {
42
+ return {};
43
+ }
44
+ }
45
+ /**
46
+ * Parse HTTP method safely.
47
+ */
48
+ function parseMethod(method) {
49
+ const m = (method || 'GET').toUpperCase();
50
+ if (['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'].includes(m)) {
51
+ return m;
52
+ }
53
+ return 'GET';
54
+ }
55
+ /**
56
+ * Register a route. Routes are matched in registration order.
57
+ */
58
+ function registerRoute(method, pattern, handler, name) {
59
+ routes.push({ method, pattern, handler, name: name || `${method} ${pattern}` });
60
+ }
61
+ /**
62
+ * Create the request handler function for the registered routes.
63
+ * Returns a function compatible with http.createServer's requestListener.
64
+ */
65
+ function createRequestHandler() {
66
+ return async function handleRequest(req, res) {
67
+ const method = parseMethod(req.method);
68
+ const url = req.url || '/';
69
+ const ctx = {
70
+ requestId: generateRequestId(),
71
+ startTime: Date.now(),
72
+ method,
73
+ path: url.split('?')[0],
74
+ query: parseQuery(url),
75
+ };
76
+ // CORS preflight
77
+ if (method === 'OPTIONS') {
78
+ res.writeHead(204, {
79
+ 'Access-Control-Allow-Origin': '*',
80
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
81
+ 'Access-Control-Allow-Headers': 'Content-Type, Authorization, x-request-id',
82
+ 'Access-Control-Max-Age': '86400',
83
+ });
84
+ res.end();
85
+ return;
86
+ }
87
+ // Find matching route
88
+ for (const route of routes) {
89
+ if (route.method !== method)
90
+ continue;
91
+ const match = ctx.path.match(route.pattern);
92
+ if (match) {
93
+ try {
94
+ await route.handler(req, res, ctx);
95
+ }
96
+ catch (err) {
97
+ console.error(`[a3m-router] Route ${route.name} error: ${err.message}`);
98
+ if (!res.headersSent) {
99
+ res.writeHead(500, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
100
+ res.end(JSON.stringify({ error: { message: err.message, type: 'server_error' } }));
101
+ }
102
+ }
103
+ return;
104
+ }
105
+ }
106
+ // No route matched — 404
107
+ if (!res.headersSent) {
108
+ res.writeHead(404, { 'Content-Type': 'application/json', 'Access-Control-Allow-Origin': '*' });
109
+ res.end(JSON.stringify({ error: { message: `Not found: ${method} ${url}`, type: 'not_found' } }));
110
+ }
111
+ };
112
+ }
113
+ /**
114
+ * Get all registered routes (for debugging and /routes endpoint).
115
+ */
116
+ function getRegisteredRoutes() {
117
+ return [...routes];
118
+ }
119
+ exports.default = { registerRoute, createRequestHandler, getRegisteredRoutes };
120
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/server/router.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A3M Router - Shared Server State
3
+ *
4
+ * Singleton state shared across the proxy server and all handlers.
5
+ * Extracted from proxyServer.ts to enable modular handler architecture.
6
+ */
7
+ import { CostTracker } from '../cost/costTracker';
8
+ /** Singleton cost tracker instance */
9
+ export declare const costTracker: CostTracker;
10
+ /** In-memory request log (last 1000 entries) */
11
+ export interface RequestLog {
12
+ id: string;
13
+ model: string;
14
+ resolvedProvider: string;
15
+ resolvedModel: string;
16
+ latencyMs: number;
17
+ tokensIn: number;
18
+ tokensOut: number;
19
+ cost: number;
20
+ status: 'success' | 'error';
21
+ error?: string;
22
+ timestamp: number;
23
+ }
24
+ export declare const requestLogs: RequestLog[];
25
+ declare const _default: {
26
+ costTracker: CostTracker;
27
+ requestLogs: RequestLog[];
28
+ };
29
+ export default _default;
30
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/server/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,sCAAsC;AACtC,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,WAAW,EAAE,UAAU,EAAO,CAAC;;;;;AAE5C,wBAA4C"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /**
3
+ * A3M Router - Shared Server State
4
+ *
5
+ * Singleton state shared across the proxy server and all handlers.
6
+ * Extracted from proxyServer.ts to enable modular handler architecture.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.requestLogs = exports.costTracker = void 0;
10
+ const costTracker_1 = require("../cost/costTracker");
11
+ // ============================================================
12
+ // SHARED STATE
13
+ // ============================================================
14
+ /** Singleton cost tracker instance */
15
+ exports.costTracker = new costTracker_1.CostTracker();
16
+ exports.requestLogs = [];
17
+ exports.default = { costTracker: exports.costTracker, requestLogs: exports.requestLogs };
18
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/server/state.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qDAAkD;AAElD,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D,sCAAsC;AACzB,QAAA,WAAW,GAAG,IAAI,yBAAW,EAAE,CAAC;AAiBhC,QAAA,WAAW,GAAiB,EAAE,CAAC;AAE5C,kBAAe,EAAE,WAAW,EAAX,mBAAW,EAAE,WAAW,EAAX,mBAAW,EAAE,CAAC"}
@@ -1,2 +1,5 @@
1
+ /**
2
+ * Tests for SkillManager and TMLEnhancedAgent
3
+ */
1
4
  export {};
2
5
  //# sourceMappingURL=skill_manager.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill_manager.test.d.ts","sourceRoot":"","sources":["../../../src/skills/__tests__/skill_manager.test.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"skill_manager.test.d.ts","sourceRoot":"","sources":["../../../src/skills/__tests__/skill_manager.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
- "";
3
- ";
2
+ /**
3
+ * Tests for SkillManager and TMLEnhancedAgent
4
+ */
4
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
6
  if (k2 === undefined) k2 = k;
6
7
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -35,10 +36,6 @@ var __importStar = (this && this.__importStar) || (function () {
35
36
  };
36
37
  })();
37
38
  Object.defineProperty(exports, "__esModule", { value: true });
38
- Tests;
39
- for (skill_manager_1.SkillManager; and; skill_enhanced_agent_1.TMLEnhancedAgent)
40
- "";
41
- ";
42
39
  const globals_1 = require("@jest/globals");
43
40
  const skill_manager_1 = require("../skill_manager");
44
41
  const skill_enhanced_agent_1 = require("../../agents/skill_enhanced_agent");
@@ -1 +1 @@
1
- {"version":3,"file":"skill_manager.test.js","sourceRoot":"","sources":["../../../src/skills/__tests__/skill_manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill_manager.test.js","sourceRoot":"","sources":["../../../src/skills/__tests__/skill_manager.test.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@
3
3
  * A3M Router — Overlay Box TUI (Sakura Light Theme)
4
4
  */
5
5
  export {};
6
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -5,3 +5,4 @@
5
5
  * Usage: npx a3m-router tui
6
6
  * a3m-tui
7
7
  */
8
+ //# sourceMappingURL=index.d.ts.map
@@ -55,3 +55,4 @@ export declare function qualityAdjustedCostScore(costScore: number, qualityScore
55
55
  */
56
56
  export declare function budgetAwareCostScore(costPer1K: number, budgetMultiplier?: number): number;
57
57
  export declare function runValidationTests(): void;
58
+ //# sourceMappingURL=costUtils.d.ts.map
@@ -134,17 +134,13 @@ class CircuitBreaker {
134
134
  }
135
135
  exports.CircuitBreaker = CircuitBreaker;
136
136
  /**
137
- * Enhanced retry wrapper with circuit breaker integration and timeout
137
+ * Enhanced retry wrapper with circuit breaker integration
138
138
  */
139
139
  async function withRetry(fn, config = {}, circuitBreaker) {
140
140
  const retryConfig = { ...exports.DEFAULT_RETRY_CONFIG, ...config };
141
141
  let lastError = null;
142
142
  let attempts = 0;
143
143
  let circuit_tripped = false;
144
-
145
- // Apply timeout if configured (default 30s per attempt)
146
- const requestTimeout = config.timeout_ms || 30000;
147
-
148
144
  for (let i = 0; i < retryConfig.max_attempts; i++) {
149
145
  attempts++;
150
146
  try {
@@ -153,14 +149,7 @@ async function withRetry(fn, config = {}, circuitBreaker) {
153
149
  circuit_tripped = true;
154
150
  throw new Error("Circuit breaker is open");
155
151
  }
156
-
157
- // Race between the request and a timeout
158
- const timeoutPromise = new Promise((_, reject) => {
159
- setTimeout(() => reject(new Error("Request timeout after " + requestTimeout + "ms")), requestTimeout);
160
- });
161
-
162
- const result = await Promise.race([fn(), timeoutPromise]);
163
-
152
+ const result = await fn();
164
153
  if (circuitBreaker) {
165
154
  circuitBreaker.recordSuccess();
166
155
  }
@@ -168,13 +157,9 @@ async function withRetry(fn, config = {}, circuitBreaker) {
168
157
  }
169
158
  catch (error) {
170
159
  lastError = error instanceof Error ? error : new Error(String(error));
171
-
172
- // Check if this was a timeout error
173
- const isTimeout = lastError.message.includes("timeout");
174
-
175
160
  // Check if should retry
176
161
  const statusCode = error.statusCode || error.response?.statusCode || null;
177
- if (!isRetryableStatus(statusCode, retryConfig) && !isTimeout) {
162
+ if (!isRetryableStatus(statusCode, retryConfig)) {
178
163
  return { result: null, error: lastError, attempts, circuit_tripped };
179
164
  }
180
165
  if (circuitBreaker) {
@@ -189,3 +174,4 @@ async function withRetry(fn, config = {}, circuitBreaker) {
189
174
  }
190
175
  return { result: null, error: lastError, attempts, circuit_tripped };
191
176
  }
177
+ //# sourceMappingURL=reliability.js.map
@@ -10,3 +10,4 @@ export declare function quickselectTopK<T>(arr: T[], k: number, compare: (a: T)
10
10
  * Select top candidate using Quickselect
11
11
  */
12
12
  export declare function selectTop<T>(arr: T[], compare: (a: T) => number): T | undefined;
13
+ //# sourceMappingURL=sorting.d.ts.map
@@ -50,3 +50,4 @@ declare const _default: {
50
50
  MODEL_COSTS: Record<string, TokenCost>;
51
51
  };
52
52
  export default _default;
53
+ //# sourceMappingURL=tokenUtils.d.ts.map
@@ -0,0 +1,63 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 480 280" width="480" height="280">
2
+ <defs>
3
+ <linearGradient id="barGrad" x1="0%" y1="0%" x2="0%" y2="100%">
4
+ <stop offset="0%" stop-color="#22c55e"/>
5
+ <stop offset="100%" stop-color="#16a34a"/>
6
+ </linearGradient>
7
+ </defs>
8
+
9
+ <!-- Background -->
10
+ <rect width="480" height="280" fill="#fefefe"/>
11
+
12
+ <!-- Title -->
13
+ <text x="240" y="28" text-anchor="middle" fill="#111" font-family="system-ui,sans-serif" font-size="14" font-weight="600">Routing Accuracy by Tier (n=200)</text>
14
+
15
+ <!-- Y-axis -->
16
+ <line x1="60" y1="50" x2="60" y2="230" stroke="#333" stroke-width="1"/>
17
+ <line x1="60" y1="230" x2="460" y2="230" stroke="#333" stroke-width="1"/>
18
+
19
+ <!-- Y-axis labels -->
20
+ <g font-family="system-ui,sans-serif" font-size="10" fill="#555" text-anchor="end">
21
+ <text x="52" y="54">100%</text>
22
+ <text x="52" y="99">80%</text>
23
+ <text x="52" y="144">60%</text>
24
+ <text x="52" y="189">40%</text>
25
+ <text x="52" y="234">0%</text>
26
+ </g>
27
+
28
+ <!-- Grid lines -->
29
+ <g stroke="#e5e7eb" stroke-width="1" stroke-dasharray="4,3">
30
+ <line x1="60" y1="55" x2="460" y2="55"/>
31
+ <line x1="60" y1="100" x2="460" y2="100"/>
32
+ <line x1="60" y1="145" x2="460" y2="145"/>
33
+ <line x1="60" y1="190" x2="460" y2="190"/>
34
+ </g>
35
+
36
+ <!-- Bars: correct/total -->
37
+ <!-- free: 48/50 = 96% -->
38
+ <rect x="100" y="55" width="60" height="175" fill="url(#barGrad)" rx="2"/>
39
+ <text x="130" y="245" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10">free</text>
40
+ <text x="130" y="48" text-anchor="middle" fill="#16a34a" font-family="system-ui,sans-serif" font-size="11" font-weight="600">96%</text>
41
+ <text x="130" y="238" text-anchor="middle" fill="#888" font-family="system-ui,sans-serif" font-size="9">48/50</text>
42
+
43
+ <!-- cheap: 45/60 = 75% -->
44
+ <rect x="200" y="85" width="60" height="145" fill="url(#barGrad)" rx="2"/>
45
+ <text x="230" y="245" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10">cheap</text>
46
+ <text x="230" y="78" text-anchor="middle" fill="#16a34a" font-family="system-ui,sans-serif" font-size="11" font-weight="600">75%</text>
47
+ <text x="230" y="238" text-anchor="middle" fill="#888" font-family="system-ui,sans-serif" font-size="9">45/60</text>
48
+
49
+ <!-- mid: 18/50 = 36% -->
50
+ <rect x="300" y="169" width="60" height="61" fill="url(#barGrad)" rx="2"/>
51
+ <text x="330" y="245" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10">mid</text>
52
+ <text x="330" y="162" text-anchor="middle" fill="#16a34a" font-family="system-ui,sans-serif" font-size="11" font-weight="600">36%</text>
53
+ <text x="330" y="238" text-anchor="middle" fill="#888" font-family="system-ui,sans-serif" font-size="9">18/50</text>
54
+
55
+ <!-- premium: 23/40 = 57.5% -->
56
+ <rect x="400" y="124" width="60" height="106" fill="url(#barGrad)" rx="2"/>
57
+ <text x="430" y="245" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10">premium</text>
58
+ <text x="430" y="117" text-anchor="middle" fill="#16a34a" font-family="system-ui,sans-serif" font-size="11" font-weight="600">57%</text>
59
+ <text x="430" y="238" text-anchor="middle" fill="#888" font-family="system-ui,sans-serif" font-size="9">23/40</text>
60
+
61
+ <!-- Overall -->
62
+ <text x="240" y="268" text-anchor="middle" fill="#888" font-family="system-ui,sans-serif" font-size="9">Exact tier match: 67% | Within 1 tier: 96%</text>
63
+ </svg>
@@ -0,0 +1,98 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 420 340" width="420" height="340">
2
+ <rect width="420" height="340" fill="#fefefe"/>
3
+
4
+ <!-- Title -->
5
+ <text x="210" y="22" text-anchor="middle" fill="#111" font-family="system-ui,sans-serif" font-size="13" font-weight="600">Confusion Matrix — Routing Decisions (n=200)</text>
6
+ <text x="210" y="38" text-anchor="middle" fill="#666" font-family="system-ui,sans-serif" font-size="9">Predicted tier vs actual tier</text>
7
+
8
+ <!-- Matrix: 4x4, each cell 60x45 -->
9
+ <!-- Actual label on left, Predicted on top -->
10
+ <!-- free: 50, cheap: 60, mid: 50, premium: 40 -->
11
+
12
+ <!-- Column headers -->
13
+ <text x="120" y="58" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">free</text>
14
+ <text x="180" y="58" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">cheap</text>
15
+ <text x="240" y="58" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">mid</text>
16
+ <text x="300" y="58" text-anchor="middle" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">premium</text>
17
+
18
+ <!-- Row: free (actual=50) | predicted: free=48, cheap=2, mid=0, premium=0 -->
19
+ <text x="85" y="100" text-anchor="end" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">free</text>
20
+ <text x="85" y="115" text-anchor="end" fill="#888" font-family="system-ui,sans-serif" font-size="8">(n=50)</text>
21
+ <!-- free→free: 48/50=96% -->
22
+ <rect x="105" y="80" width="55" height="35" fill="#16a34a" rx="2"/>
23
+ <text x="132" y="102" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="13" font-weight="600">48</text>
24
+ <!-- free→cheap: 2 -->
25
+ <rect x="165" y="80" width="55" height="35" fill="#bbf7d0" rx="2"/>
26
+ <text x="192" y="102" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">2</text>
27
+ <!-- free→mid: 0 -->
28
+ <rect x="225" y="80" width="55" height="35" fill="#d1fae5" rx="2"/>
29
+ <text x="252" y="102" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">0</text>
30
+ <!-- free→premium: 0 -->
31
+ <rect x="285" y="80" width="55" height="35" fill="#d1fae5" rx="2"/>
32
+ <text x="312" y="102" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">0</text>
33
+
34
+ <!-- Row: cheap (actual=60) | predicted: free=13, cheap=45, mid=1, premium=1 -->
35
+ <text x="85" y="145" text-anchor="end" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">cheap</text>
36
+ <text x="85" y="160" text-anchor="end" fill="#888" font-family="system-ui,sans-serif" font-size="8">(n=60)</text>
37
+ <!-- cheap→free: 13 -->
38
+ <rect x="105" y="125" width="55" height="35" fill="#fef08a" rx="2"/>
39
+ <text x="132" y="147" text-anchor="middle" fill="#713f12" font-family="system-ui,sans-serif" font-size="12">13</text>
40
+ <!-- cheap→cheap: 45/60=75% -->
41
+ <rect x="165" y="125" width="55" height="35" fill="#16a34a" rx="2"/>
42
+ <text x="192" y="147" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="13" font-weight="600">45</text>
43
+ <!-- cheap→mid: 1 -->
44
+ <rect x="225" y="125" width="55" height="35" fill="#d1fae5" rx="2"/>
45
+ <text x="252" y="147" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">1</text>
46
+ <!-- cheap→premium: 1 -->
47
+ <rect x="285" y="125" width="55" height="35" fill="#d1fae5" rx="2"/>
48
+ <text x="312" y="147" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">1</text>
49
+
50
+ <!-- Row: mid (actual=50) | predicted: free=1, cheap=22, mid=18, premium=9 -->
51
+ <text x="85" y="190" text-anchor="end" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">mid</text>
52
+ <text x="85" y="205" text-anchor="end" fill="#888" font-family="system-ui,sans-serif" font-size="8">(n=50)</text>
53
+ <!-- mid→free: 1 -->
54
+ <rect x="105" y="170" width="55" height="35" fill="#d1fae5" rx="2"/>
55
+ <text x="132" y="192" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">1</text>
56
+ <!-- mid→cheap: 22 (most common error) -->
57
+ <rect x="165" y="170" width="55" height="35" fill="#fef08a" rx="2"/>
58
+ <text x="192" y="192" text-anchor="middle" fill="#713f12" font-family="system-ui,sans-serif" font-size="12">22</text>
59
+ <!-- mid→mid: 18/50=36% -->
60
+ <rect x="225" y="170" width="55" height="35" fill="#16a34a" rx="2"/>
61
+ <text x="252" y="192" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="13" font-weight="600">18</text>
62
+ <!-- mid→premium: 9 -->
63
+ <rect x="285" y="170" width="55" height="35" fill="#fef08a" rx="2"/>
64
+ <text x="312" y="192" text-anchor="middle" fill="#713f12" font-family="system-ui,sans-serif" font-size="12">9</text>
65
+
66
+ <!-- Row: premium (actual=40) | predicted: free=2, cheap=4, mid=11, premium=23 -->
67
+ <text x="85" y="235" text-anchor="end" fill="#333" font-family="system-ui,sans-serif" font-size="10" font-weight="600">premium</text>
68
+ <text x="85" y="250" text-anchor="end" fill="#888" font-family="system-ui,sans-serif" font-size="8">(n=40)</text>
69
+ <!-- premium→free: 2 -->
70
+ <rect x="105" y="215" width="55" height="35" fill="#d1fae5" rx="2"/>
71
+ <text x="132" y="237" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">2</text>
72
+ <!-- premium→cheap: 4 -->
73
+ <rect x="165" y="215" width="55" height="35" fill="#d1fae5" rx="2"/>
74
+ <text x="192" y="237" text-anchor="middle" fill="#16634a" font-family="system-ui,sans-serif" font-size="12">4</text>
75
+ <!-- premium→mid: 11 -->
76
+ <rect x="225" y="215" width="55" height="35" fill="#fef08a" rx="2"/>
77
+ <text x="252" y="237" text-anchor="middle" fill="#713f12" font-family="system-ui,sans-serif" font-size="12">11</text>
78
+ <!-- premium→premium: 23/40=57.5% -->
79
+ <rect x="285" y="215" width="55" height="35" fill="#16a34a" rx="2"/>
80
+ <text x="312" y="237" text-anchor="middle" fill="#fff" font-family="system-ui,sans-serif" font-size="13" font-weight="600">23</text>
81
+
82
+ <!-- Y-axis label (actual) -->
83
+ <text x="18" y="165" text-anchor="middle" fill="#555" font-family="system-ui,sans-serif" font-size="10" transform="rotate(-90,18,165)">Actual Tier</text>
84
+
85
+ <!-- X-axis label (predicted) -->
86
+ <text x="210" y="268" text-anchor="middle" fill="#555" font-family="system-ui,sans-serif" font-size="10">Predicted Tier</text>
87
+
88
+ <!-- Legend -->
89
+ <rect x="105" y="278" width="12" height="12" fill="#16a34a" rx="2"/>
90
+ <text x="122" y="288" fill="#333" font-family="system-ui,sans-serif" font-size="9">Correct</text>
91
+ <rect x="165" y="278" width="12" height="12" fill="#fef08a" rx="2"/>
92
+ <text x="182" y="288" fill="#333" font-family="system-ui,sans-serif" font-size="9">Off by 1 tier</text>
93
+ <rect x="245" y="278" width="12" height="12" fill="#d1fae5" rx="2"/>
94
+ <text x="262" y="288" fill="#333" font-family="system-ui,sans-serif" font-size="9">Off by 2+ tiers</text>
95
+
96
+ <!-- Summary -->
97
+ <text x="210" y="310" text-anchor="middle" fill="#555" font-family="system-ui,sans-serif" font-size="9">Exact match: 67% (134/200) | Off by 1: 29% (58/200) | Off by 2+: 4% (8/200)</text>
98
+ </svg>
@@ -0,0 +1,66 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 420 280" width="420" height="280">
2
+ <defs>
3
+ <linearGradient id="costBg" x1="0%" y1="0%" x2="0%" y2="100%">
4
+ <stop offset="0%" stop-color="#1e293b"/>
5
+ <stop offset="100%" stop-color="#0f172a"/>
6
+ </linearGradient>
7
+ </defs>
8
+
9
+ <rect width="420" height="280" fill="url(#costBg)" rx="8"/>
10
+
11
+ <!-- Title -->
12
+ <text x="210" y="28" text-anchor="middle" fill="#f1f5f9" font-family="system-ui,sans-serif" font-size="14" font-weight="600">Cost per 1K Tokens — Router Comparison</text>
13
+ <text x="210" y="44" text-anchor="middle" fill="#64748b" font-family="system-ui,sans-serif" font-size="10">Lower is better | All values from RouterArena evaluation (PR#144)</text>
14
+
15
+ <!-- Y-axis: 0 to $0.30, mapped 190px -->
16
+ <!-- Scale: $0.30 = 190px → $1 = 633px, $0.01 = 6.33px -->
17
+
18
+ <g transform="translate(55,58)">
19
+ <!-- Y-axis -->
20
+ <line x1="40" y1="0" x2="40" y2="190" stroke="#334155" stroke-width="1.5"/>
21
+ <line x1="40" y1="190" x2="360" y2="190" stroke="#334155" stroke-width="1.5"/>
22
+
23
+ <!-- Y-axis gridlines (every $0.05) -->
24
+ <g stroke="#1e293b" stroke-width="1">
25
+ <line x1="40" y1="0" x2="360" y2="0"/> <!-- $0.30 -->
26
+ <line x1="40" y1="31.7" x2="360" y2="31.7"/> <!-- $0.25 -->
27
+ <line x1="40" y1="63.3" x2="360" y2="63.3"/> <!-- $0.20 -->
28
+ <line x1="40" y1="95" x2="360" y2="95"/> <!-- $0.15 -->
29
+ <line x1="40" y1="126.7" x2="360" y2="126.7"/> <!-- $0.10 -->
30
+ <line x1="40" y1="158.3" x2="360" y2="158.3"/> <!-- $0.05 -->
31
+ <line x1="40" y1="190" x2="360" y2="190"/> <!-- $0 -->
32
+ </g>
33
+
34
+ <!-- Y-axis labels -->
35
+ <g fill="#64748b" font-family="system-ui,sans-serif" font-size="10" text-anchor="end">
36
+ <text x="35" y="4">$0.30</text>
37
+ <text x="35" y="66">$0.20</text>
38
+ <text x="35" y="127">$0.10</text>
39
+ <text x="35" y="194">$0</text>
40
+ </g>
41
+
42
+ <!-- Bar 1: A3M Router $0.0768 = 49px → y=141, h=49 -->
43
+ <rect x="60" y="141" width="70" height="49" fill="#22c55e" rx="3"/>
44
+ <text x="95" y="135" text-anchor="middle" fill="#4ade80" font-family="system-ui,sans-serif" font-size="12" font-weight="600">$0.0768</text>
45
+ <text x="95" y="207" text-anchor="middle" fill="#94a3b8" font-family="system-ui,sans-serif" font-size="10">A3M Router</text>
46
+ <text x="95" y="219" text-anchor="middle" fill="#64748b" font-family="system-ui,sans-serif" font-size="8">(this work)</text>
47
+
48
+ <!-- Bar 2: Sqwish $0.18 = 114px → y=76, h=114 -->
49
+ <rect x="160" y="76" width="70" height="114" fill="#94a3b8" rx="3" opacity="0.7"/>
50
+ <text x="195" y="70" text-anchor="middle" fill="#cbd5e1" font-family="system-ui,sans-serif" font-size="12" font-weight="600">$0.18</text>
51
+ <text x="195" y="207" text-anchor="middle" fill="#94a3b8" font-family="system-ui,sans-serif" font-size="10">Sqwish</text>
52
+
53
+ <!-- Bar 3: Azure-Model-Router $0.22 = 139px → y=51, h=139 -->
54
+ <rect x="260" y="51" width="70" height="139" fill="#94a3b8" rx="3" opacity="0.5"/>
55
+ <text x="295" y="45" text-anchor="middle" fill="#cbd5e1" font-family="system-ui,sans-serif" font-size="12" font-weight="600">$0.22</text>
56
+ <text x="295" y="207" text-anchor="middle" fill="#94a3b8" font-family="system-ui,sans-serif" font-size="10">Azure-Router</text>
57
+
58
+ <!-- Bar 4: RouteLLM $0.27 = 171px → y=19, h=171 -->
59
+ <rect x="360" y="19" width="70" height="171" fill="#94a3b8" rx="3" opacity="0.35"/>
60
+ <text x="395" y="13" text-anchor="middle" fill="#94a3b8" font-family="system-ui,sans-serif" font-size="12" font-weight="600">$0.27</text>
61
+ <text x="395" y="207" text-anchor="middle" fill="#94a3b8" font-family="system-ui,sans-serif" font-size="10">RouteLLM</text>
62
+ </g>
63
+
64
+ <!-- A3M savings annotation -->
65
+ <text x="210" y="265" text-anchor="middle" fill="#64748b" font-family="system-ui,sans-serif" font-size="9">A3M is 3.5x cheaper than RouteLLM | 2.3x cheaper than Sqwish | 2.9x cheaper than Azure-Router</text>
66
+ </svg>