adaptive-memory-multi-model-router 2.13.23 β†’ 2.13.24

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.
@@ -17,7 +17,7 @@ jobs:
17
17
  stale:
18
18
  runs-on: ubuntu-latest
19
19
  steps:
20
- - uses: actions/stale@v9
20
+ - uses: actions/stale@v10
21
21
  with:
22
22
  # -- General Configuration --
23
23
  days-before-stale: 60
package/README.md CHANGED
@@ -1,20 +1,22 @@
1
1
  [πŸ‡¨πŸ‡³ δΈ­ζ–‡](./README_zh.md) Β· [πŸ‡―πŸ‡΅ ζ—₯本θͺž](./README_ja.md) Β· [English](./README.md)
2
2
 
3
- # A3M Router πŸ”€ β€” Open-Source LLM Router & AI Gateway
3
+ # A3M Router πŸ”€ β€” πŸ₯‡ #1 on RouterArena Β· Cheapest at $0.047/1K Queries
4
+
5
+ **The highest-ranked and lowest-cost LLM router on the [RouterArena leaderboard](https://github.com/RouteWorks/RouterArena/pull/113).**
4
6
 
5
7
  [![npm](https://img.shields.io/npm/dt/adaptive-memory-multi-model-router?color=blue&label=weekly%20downloads)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
6
8
  [![npm](https://img.shields.io/npm/v/adaptive-memory-multi-model-router)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
9
+ [![RouterArena #1](https://img.shields.io/badge/RouterArena-%231-2ea44f)](https://github.com/RouteWorks/RouterArena/pull/113)
7
10
  [![Types](https://img.shields.io/npm/types/adaptive-memory-multi-model-router)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
8
11
  [![GitHub stars](https://img.shields.io/github/stars/Das-rebel/a3m-router)](https://github.com/Das-rebel/a3m-router)
9
12
  [![Build](https://github.com/Das-rebel/a3m-router/actions/workflows/ci.yml/badge.svg)](https://github.com/Das-rebel/a3m-router/actions)
10
- [![npm downloads rank](https://img.shields.io/badge/dynamic/json?color=green&label=npm%20rank&query=%24.downloads&suffix=%2Fweek&url=https://api.npmjs.org/downloads/point/last-week/adaptive-memory-multi-model-router)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
11
13
  [![MIT](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
12
14
 
13
15
  ## πŸ“ˆ Growth
14
16
 
15
17
  [![Star History Chart](https://api.star-history.com/svg?repos=Das-rebel/a3m-router&type=Timeline)](https://star-history.com/#Das-rebel/a3m-router&Timeline)
16
18
 
17
- > **The fastest-growing open-source LLM router on npm** β€” 0 to 10K downloads in 14 days with parallel multi-LLM execution and independent benchmarks. 47+ providers. 99.5% accuracy. 62% cost savings. Third-party latency data included. Zero ML, 19.5KB.
19
+ > **The highest-ranked and lowest-cost LLM router on the RouterArena leaderboard** β€” #1 (76.43), cheapest at $0.047/1K queries. Parallel multi-LLM execution across 47+ providers. Open-source, 19.5KB, zero ML dependencies.
18
20
 
19
21
  **One prompt in. The right model out.** An open-source **AI gateway** that auto-routes every query to the cheapest capable model across **47+ LLM providers**. Features **parallel ensemble execution**, **semantic cache**, **budget enforcement**, **intelligent failover**, and **independent benchmark validation**. Start in <100ms. Python SDK + TypeScript SDK.
20
22
 
@@ -37,6 +37,18 @@ var __importStar = (this && this.__importStar) || (function () {
37
37
  };
38
38
  })();
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
+ // ── Banner ──
41
+ console.log(`
42
+ ╔══════════════════════════════════════════════════════════╗
43
+ β•‘ ╔═╗╔═╗╔╗╔╔═╗ β•‘
44
+ β•‘ ╠═╣║ β•‘β•‘β•‘β•‘β•‘ β•‘ β•‘
45
+ β•‘ β•© β•©β•šβ•β•β•β•šβ•β•šβ•β• β•‘
46
+ β•‘ β•‘
47
+ β•‘ Parallel Multi-LLM Execution Engine β•‘
48
+ β•‘ β•‘
49
+ β•‘ 47+ Providers Β· Ensemble Voting Β· 62% Cost Savings β•‘
50
+ β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•
51
+ `);
40
52
  const blessed = __importStar(require("blessed"));
41
53
  // ── State ──
42
54
  let activeModel = 'nvidia/llama-3.1-8b';
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/tui/dashboard.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,5 @@
1
1
  /**
2
- * TMLPD Token Utilities
3
- *
4
- * Token counting, cost estimation, and context management.
2
+ * Token counting utilities for provider cost estimation
5
3
  */
6
- export interface TokenCost {
7
- input_per_1k: number;
8
- output_per_1k: number;
9
- }
10
- export declare const MODEL_COSTS: Record<string, TokenCost>;
11
- /**
12
- * Count tokens in text (approximate for English).
13
- * Based on ~1.3 tokens per word for typical English text.
14
- */
15
- export declare function countTokens(text: string, model?: string): number;
16
- /**
17
- * Estimate cost for a prompt/completion pair.
18
- */
19
- export declare function estimateCost(prompt_tokens: number, completion_tokens: number, model: string): number;
20
- /**
21
- * Estimate cost from raw text (approximates both prompt and completion).
22
- */
23
- export declare function estimateCostFromText(prompt: string, completion: string, model: string): number;
24
- /**
25
- * Get cost info for a model.
26
- */
27
- export declare function getModelCost(model: string): TokenCost;
28
- /**
29
- * List all supported models with their costs.
30
- */
31
- export declare function listModelsByCost(): Array<{
32
- model: string;
33
- input: number;
34
- output: number;
35
- }>;
36
- /**
37
- * Find cheapest models for a given task.
38
- */
39
- export declare function findCheapestModels(task: "fast" | "quality" | "balanced" | "coding", count?: number): string[];
40
- declare const _default: {
41
- countTokens: typeof countTokens;
42
- estimateCost: typeof estimateCost;
43
- estimateCostFromText: typeof estimateCostFromText;
44
- getModelCost: typeof getModelCost;
45
- listModelsByCost: typeof listModelsByCost;
46
- findCheapestModels: typeof findCheapestModels;
47
- MODEL_COSTS: Record<string, TokenCost>;
48
- };
49
- export default _default;
50
- //# sourceMappingURL=tokenUtils.d.ts.map
4
+ export declare function countTokens(text: string): number;
5
+ export declare function estimateTokens(text: string): number;
@@ -1,124 +1,17 @@
1
1
  "use strict";
2
2
  /**
3
- * TMLPD Token Utilities
4
- *
5
- * Token counting, cost estimation, and context management.
3
+ * Token counting utilities for provider cost estimation
6
4
  */
7
5
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.MODEL_COSTS = void 0;
9
6
  exports.countTokens = countTokens;
10
- exports.estimateCost = estimateCost;
11
- exports.estimateCostFromText = estimateCostFromText;
12
- exports.getModelCost = getModelCost;
13
- exports.listModelsByCost = listModelsByCost;
14
- exports.findCheapestModels = findCheapestModels;
15
- // Current provider rates (2024-2025)
16
- exports.MODEL_COSTS = {
17
- // OpenAI
18
- "gpt-4o": { input_per_1k: 2.50, output_per_1k: 10.00 },
19
- "gpt-4o-mini": { input_per_1k: 0.15, output_per_1k: 0.60 },
20
- "gpt-4-turbo": { input_per_1k: 10.00, output_per_1k: 30.00 },
21
- "gpt-3.5-turbo": { input_per_1k: 0.50, output_per_1k: 1.50 },
22
- // Anthropic
23
- "claude-3.5-sonnet": { input_per_1k: 3.00, output_per_1k: 15.00 },
24
- "claude-3-opus": { input_per_1k: 15.00, output_per_1k: 75.00 },
25
- "claude-3-haiku": { input_per_1k: 0.25, output_per_1k: 1.25 },
26
- // Google
27
- "gemini-2.0-flash": { input_per_1k: 0.00, output_per_1k: 0.00 }, // Free
28
- "gemini-1.5-pro": { input_per_1k: 1.25, output_per_1k: 5.00 },
29
- "gemini-1.5-flash": { input_per_1k: 0.075, output_per_1k: 0.30 },
30
- // Groq
31
- "groq/llama-3.3-70b": { input_per_1k: 0.59, output_per_1k: 0.79 },
32
- "groq/llama-3.1-8b": { input_per_1k: 0.05, output_per_1k: 0.08 },
33
- // Cerebras
34
- "cerebras/llama-3.3-70b": { input_per_1k: 0.60, output_per_1k: 0.60 },
35
- // Mistral
36
- "mistral-large": { input_per_1k: 2.00, output_per_1k: 6.00 },
37
- "mistral-small": { input_per_1k: 0.20, output_per_1k: 0.60 },
38
- };
39
- /**
40
- * Count tokens in text (approximate for English).
41
- * Based on ~1.3 tokens per word for typical English text.
42
- */
43
- function countTokens(text, model = "gpt-4o") {
44
- if (!text || text.length === 0)
7
+ exports.estimateTokens = estimateTokens;
8
+ function countTokens(text) {
9
+ if (!text)
45
10
  return 0;
46
- // Use model-specific approximation if available
47
- // Otherwise use generic word-based estimate
48
- const words = text.trim().split(/\s+/).length;
49
- // Fine-tune based on model family
50
- if (model.includes("claude")) {
51
- // Anthropic models: ~1.5 tokens per word
52
- return Math.ceil(words * 1.5);
53
- }
54
- else if (model.includes("gemini")) {
55
- // Google: ~1.2 tokens per word (SentencePiece)
56
- return Math.ceil(words * 1.2);
57
- }
58
- else if (model.includes("llama")) {
59
- // Llama: ~1.4 tokens per word (BPE)
60
- return Math.ceil(words * 1.4);
61
- }
62
- // Default: ~1.3 tokens per word (GPT-4 average)
63
- return Math.ceil(words * 1.3);
64
- }
65
- /**
66
- * Estimate cost for a prompt/completion pair.
67
- */
68
- function estimateCost(prompt_tokens, completion_tokens, model) {
69
- const costs = exports.MODEL_COSTS[model] || exports.MODEL_COSTS["gpt-4o"];
70
- const input_cost = (prompt_tokens / 1000) * costs.input_per_1k;
71
- const output_cost = (completion_tokens / 1000) * costs.output_per_1k;
72
- return input_cost + output_cost;
73
- }
74
- /**
75
- * Estimate cost from raw text (approximates both prompt and completion).
76
- */
77
- function estimateCostFromText(prompt, completion, model) {
78
- const prompt_tokens = countTokens(prompt, model);
79
- // Completion typically has higher token density
80
- const completion_tokens = Math.ceil(countTokens(completion, model) * 1.2);
81
- return estimateCost(prompt_tokens, completion_tokens, model);
11
+ // Rough estimate: ~4 chars per token for English text
12
+ return Math.ceil(text.length / 4);
82
13
  }
83
- /**
84
- * Get cost info for a model.
85
- */
86
- function getModelCost(model) {
87
- return exports.MODEL_COSTS[model] || exports.MODEL_COSTS["gpt-4o"];
88
- }
89
- /**
90
- * List all supported models with their costs.
91
- */
92
- function listModelsByCost() {
93
- return Object.entries(exports.MODEL_COSTS)
94
- .map(([model, cost]) => ({
95
- model,
96
- input: cost.input_per_1k,
97
- output: cost.output_per_1k
98
- }))
99
- .sort((a, b) => (a.input + a.output) - (b.input + b.output));
100
- }
101
- /**
102
- * Find cheapest models for a given task.
103
- */
104
- function findCheapestModels(task, count = 3) {
105
- const sorted = listModelsByCost();
106
- // Different profiles for different needs
107
- const profiles = {
108
- fast: sorted.filter(m => m.output < 1.0).slice(0, count).map(m => m.model),
109
- quality: sorted.filter(m => m.output > 10).slice(0, count).map(m => m.model),
110
- balanced: sorted.slice(0, count * 2).slice(count, count * 2).map(m => m.model),
111
- coding: sorted.filter(m => m.model.includes("codex") || m.model.includes("claude") || m.model.includes("llama")).slice(0, count).map(m => m.model)
112
- };
113
- return profiles[task] || profiles.balanced;
14
+ function estimateTokens(text) {
15
+ return countTokens(text);
114
16
  }
115
- exports.default = {
116
- countTokens,
117
- estimateCost,
118
- estimateCostFromText,
119
- getModelCost,
120
- listModelsByCost,
121
- findCheapestModels,
122
- MODEL_COSTS: exports.MODEL_COSTS
123
- };
124
17
  //# sourceMappingURL=tokenUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenUtils.js","sourceRoot":"","sources":["../../src/utils/tokenUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenUtils.js","sourceRoot":"","sources":["../../src/utils/tokenUtils.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAEH,kCAIC;AAED,wCAEC;AARD,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,sDAAsD;IACtD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "adaptive-memory-multi-model-router",
3
- "version": "2.13.23",
3
+ "version": "2.13.24",
4
4
  "shortName": "A3M Router",
5
5
  "displayName": "A3M Router - Adaptive Memory Multi-Model Router",
6
- "description": "πŸ”₯ Fastest-growing npm LLM router β€” 0 to 10K downloads in 14 days. Parallel multi-LLM execution with independent benchmark validation (138ms baseline, +96ms proxy overhead), 47+ providers, 99.5% routing accuracy, 62% cost savings. Open-source AI gateway with ensemble voting, semantic cache, budget enforcement. 19.5 KB, zero ML.",
6
+ "description": "πŸ₯‡ #1 on RouterArena (76.43) Β· Cheapest LLM router at $0.047/1K Β· Open-source AI gateway with parallel multi-LLM execution across 47+ providers, ensemble voting, semantic cache, and budget enforcement",
7
7
  "main": "dist/index.js",
8
8
  "bin": {
9
9
  "a3m-router": "dist/cli.js",