adaptive-memory-multi-model-router 2.15.3 → 2.15.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/bug_report.md +94 -0
- package/.github/ISSUE_TEMPLATE/config.yml +17 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +71 -0
- package/.well-known/ai-plugin.json +16 -0
- package/AGENT_COUNCIL_FINDINGS.md +98 -123
- package/POPULARITY_BOOSTERS.md +1 -1
- package/README.md +275 -147
- package/README_ja.md +20 -16
- package/README_zh.md +17 -13
- package/adapters/README.md +36 -0
- package/adapters/__init__.py +25 -0
- package/adapters/a3m_adapter/__init__.py +15 -0
- package/adapters/a3m_adapter/adapter/__init__.py +7 -0
- package/adapters/a3m_adapter/adapter/config.py +100 -0
- package/adapters/a3m_adapter/adapter/langchain.py +155 -0
- package/adapters/a3m_adapter/adapter/llamaindex.py +162 -0
- package/adapters/a3m_adapter/tests/__init__.py +1 -0
- package/adapters/a3m_adapter/tests/test_adapters.py +120 -0
- package/adapters/setup.py +23 -0
- package/articles/CHINESE_DIRECTORIES.md +2 -2
- package/articles/CHINESE_SUBMISSIONS_READY.md +5 -5
- package/articles/HN_POST_READY.md +20 -16
- package/articles/INDIEHACKERS_READY.md +34 -19
- package/dist/analytics/costAnalytics.d.ts +1 -0
- package/dist/benchmark/reproducible.d.ts +1 -0
- package/dist/cache/semanticCache.d.ts +1 -0
- package/dist/cost/budgetEnforcer.d.ts +1 -0
- package/dist/cost/costTracker.d.ts +1 -0
- package/dist/ensemble/multiRoundDialog.d.ts +1 -0
- package/dist/ensemble/shapleyValue.d.ts +1 -0
- package/dist/ensemble.d.ts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/integrations/oauth.d.ts +1 -0
- package/dist/integrations/scienceAdapter.d.ts +1 -0
- package/dist/memory/autoFetch.d.ts +1 -0
- package/dist/memory/hybridMemory.d.ts +1 -0
- package/dist/memory/memoryTree.d.ts +1 -0
- package/dist/memory/obsidianVault.d.ts +1 -0
- package/dist/memory/reasoningBank.d.ts +1 -0
- package/dist/observability/changeWatch.d.ts +1 -0
- package/dist/observability/fatigueDetector.d.ts +1 -0
- package/dist/observability/index.d.ts +1 -0
- package/dist/observability/metrics.d.ts +1 -0
- package/dist/observability/middleware.d.ts +1 -0
- package/dist/observability/tracer.d.ts +1 -0
- package/dist/observability/types.d.ts +1 -0
- package/dist/providers/providerConfig.d.ts +1 -0
- package/dist/routing/advancedRouter.d.ts +2 -1
- package/dist/routing/advancedRouter.js +0 -84
- package/dist/routing/advancedRouter.js.map +1 -1
- package/dist/routing/crossModelValidation.d.ts +1 -0
- package/dist/routing/providerHealth.d.ts +2 -77
- package/dist/routing/providerHealth.js +4 -190
- package/dist/routing/providerHealth.js.map +1 -1
- package/dist/routing/providerRetry.d.ts +1 -0
- package/dist/sdk.d.ts +1 -0
- package/dist/security/guardrails.d.ts +1 -0
- package/dist/server/dashboard.d.ts +1 -0
- package/dist/server/handlers/chatHandler.d.ts +1 -0
- package/dist/server/handlers/completionsHandler.d.ts +1 -0
- package/dist/server/handlers/embeddingsHandler.d.ts +1 -0
- package/dist/server/handlers/healthHandler.d.ts +1 -0
- package/dist/server/handlers/metricsHandler.d.ts +1 -0
- package/dist/server/handlers/modelsHandler.d.ts +1 -0
- package/dist/server/metrics.d.ts +1 -0
- package/dist/server/modelMapper.d.ts +1 -0
- package/dist/server/proxyServer.d.ts +1 -0
- package/dist/server/router.d.ts +1 -0
- package/dist/server/state.d.ts +1 -0
- package/dist/tui/dashboard.d.ts +1 -0
- package/dist/utils/costUtils.d.ts +1 -0
- package/dist/utils/sorting.d.ts +1 -0
- package/dist/utils/tokenUtils.d.ts +1 -0
- package/docs/llms-full.txt +286 -153
- package/docs/llms.txt +112 -71
- package/llms-full.txt +6 -6
- package/llms.txt +112 -62
- package/package.json +12 -91
- package/CAMPAIGN_SUMMARY.md +0 -87
- package/ENTERPRISE_INTEGRATIONS.md +0 -94
- package/INTEGRATION_PROGRESS.md +0 -96
- package/OPPORTUNITIES_100.md +0 -277
- package/TODO_BROWSER_AUTOMATION.md +0 -87
- package/a3m-integrations-summary.md +0 -73
- package/dist/routing/shadowSampler.d.ts +0 -187
- package/dist/routing/shadowSampler.js +0 -306
- package/dist/routing/shadowSampler.js.map +0 -1
- package/integrations/browser-use/README.md +0 -155
- package/integrations/browser-use/examples/form-filling.ts +0 -179
- package/integrations/browser-use/index.ts +0 -145
- package/integrations/browser-use/package.json +0 -34
- package/integrations/browser-use/tsconfig.json +0 -17
- package/integrations/mcp-browser/README.md +0 -177
- package/integrations/mcp-browser/package.json +0 -38
- package/integrations/mcp-browser/src/index.ts +0 -297
- package/integrations/sota-browser/README.md +0 -191
- package/integrations/sota-browser/package.json +0 -34
package/llms-full.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# A3M Router — Complete Reference
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
|
-
A3M Router is an OpenAI-compatible LLM routing gateway that selects the cheapest capable provider per query using multi-signal heuristic scoring.
|
|
4
|
+
A3M Router is an OpenAI-compatible LLM routing gateway that selects the cheapest capable provider per query using multi-signal heuristic scoring. Evaluated on RouterArena across 8,400 queries: 96.77% accuracy, $0.0768/1K average cost, 1.0000 robustness, zero abnormal entries. Open-source, MIT licensed, 19.5 KB gzipped, zero ML dependencies.
|
|
5
5
|
|
|
6
6
|
**Package:** `adaptive-memory-multi-model-router` (npm)
|
|
7
7
|
**Repository:** `Das-rebel/a3m-router` (GitHub)
|
|
@@ -12,7 +12,7 @@ A3M Router is an OpenAI-compatible LLM routing gateway that selects the cheapest
|
|
|
12
12
|
|
|
13
13
|
## Benchmark Results
|
|
14
14
|
|
|
15
|
-
###
|
|
15
|
+
### RouterArena (ICLR 2025)
|
|
16
16
|
|
|
17
17
|
| Metric | Value |
|
|
18
18
|
|--------|-------|
|
|
@@ -23,13 +23,13 @@ A3M Router is an OpenAI-compatible LLM routing gateway that selects the cheapest
|
|
|
23
23
|
| Abnormal entries | 0 |
|
|
24
24
|
| Queries evaluated | 8,400 |
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Source: RouteWorks/RouterArena#144 (merged, premium-tier evaluation)
|
|
27
27
|
|
|
28
28
|
### Official Baseline Status
|
|
29
29
|
|
|
30
30
|
| Benchmark | Venue | Status | Reference |
|
|
31
|
-
|
|
|
32
|
-
|
|
|
31
|
+
| RouterArena premium tier | ICLR 2025 | Baseline merged | RouteWorks/RouterArena#144 |
|
|
32
|
+
| RouterArena free tier | ICLR 2025 | Submitted | RouteWorks/RouterArena#152 |
|
|
33
33
|
| RouterEval | EMNLP 2025 | Baseline merged | MilkThink-Lab/RouterEval#4 |
|
|
34
34
|
| MMR-Bench | ArXiv 2026 | Baseline merged | Hunter-Wrynn/MMR-Bench#4 |
|
|
35
35
|
| LLMRouterBench | ACL 2026 | Submitted | ynulihao/LLMRouterBench#3 |
|
|
@@ -184,7 +184,7 @@ response = client.chat.completions.create(model="auto", messages=[...])
|
|
|
184
184
|
author = {Subho Mukherjee},
|
|
185
185
|
year = {2025},
|
|
186
186
|
url = {https://github.com/Das-rebel/a3m-router},
|
|
187
|
-
note = {
|
|
187
|
+
note = {RouterArena evaluated: 96.77% accuracy, $0.0768/1K, 1.0000 robustness}
|
|
188
188
|
}
|
|
189
189
|
```
|
|
190
190
|
|
package/llms.txt
CHANGED
|
@@ -1,68 +1,118 @@
|
|
|
1
|
-
# A3M Router
|
|
2
|
-
|
|
3
|
-
## Description
|
|
4
|
-
A3M Router is an OpenAI-compatible LLM routing gateway that selects the cheapest capable provider per query using multi-signal heuristic scoring. Routes queries across 47+ providers in parallel, scores responses by confidence, and returns the best result. No GPU required; pure heuristic routing.
|
|
5
|
-
|
|
6
|
-
## Architecture
|
|
7
|
-
- Stateless proxy between client applications and LLM providers
|
|
8
|
-
- Pipeline: Guardrails → Semantic Cache → Multi-Signal Heuristic Routing → Provider Execution
|
|
9
|
-
- No ML training required; no GPU resources for routing decisions
|
|
10
|
-
|
|
11
|
-
## Routing Method
|
|
12
|
-
Multi-signal heuristic scoring across five dimensions:
|
|
13
|
-
1. Domain detection (legal, medical, security, finance, code, ML) — up to +0.35
|
|
14
|
-
2. Task indicators (code, math, translate, creative) — up to +0.25
|
|
15
|
-
3. Query structure (clauses, length, qualifiers) — up to +0.20
|
|
16
|
-
4. Action verb intensity (expert/mid/simple) — +0.20 to −0.10
|
|
17
|
-
5. Multi-step detection (explicit step markers) — up to +0.15
|
|
18
|
-
|
|
19
|
-
Complexity score (0.0–1.0) maps to provider tiers: free (taste-1), cheap (llama-3.3-70b), mid (gpt-4o-mini), premium (gpt-4o, claude-3.5-sonnet).
|
|
20
|
-
|
|
21
|
-
## Key Technical Capabilities
|
|
22
|
-
|
|
23
|
-
| Feature | Description |
|
|
24
|
-
|---------|-------------|
|
|
25
|
-
| Parallel Ensemble | Fire queries to multiple providers simultaneously, score by confidence, return best |
|
|
26
|
-
| EXP3-Inspired Diversity | Adversarial bandit techniques for exploration vs exploitation balance |
|
|
27
|
-
| Semantic Caching | Embedding-based lookup, configurable similarity threshold, per-route TTL |
|
|
28
|
-
| Adaptive Memory | EMA-based model quality scoring, no retraining needed |
|
|
29
|
-
| 47+ Providers | OpenAI, Anthropic, Groq, Gemini, DeepSeek, Mistral, OpenRouter, Ollama, vLLM, and 40+ more |
|
|
30
|
-
| Circuit Breaker | 3-failure trigger, 60s cooldown per provider |
|
|
31
|
-
| Per-Provider Retry | Exponential backoff with 429 detection and automatic failover |
|
|
32
|
-
| Budget Enforcement | Per-user/team caps, real-time alerts at 50%/80%/100% |
|
|
33
|
-
| Guardrails | Prompt injection detection, PII detection |
|
|
34
|
-
|
|
35
|
-
## Local Evaluation
|
|
36
|
-
|
|
37
|
-
| Metric | Value |
|
|
38
|
-
|--------|-------|
|
|
39
|
-
| Exact tier match | 67% |
|
|
40
|
-
| Within 1 tier | 96% |
|
|
41
|
-
| Cost savings vs all-premium | 62.9% |
|
|
42
|
-
|
|
43
|
-
## Provider Coverage
|
|
44
|
-
OpenAI, Anthropic, Google, Groq, DeepSeek, Mistral, NVIDIA, OpenRouter, Kimi, Qwen, Zhipu, Yi, Azure OpenAI, AWS Bedrock, Local Ollama, Local vLLM + 40+ more.
|
|
45
|
-
|
|
46
|
-
## API
|
|
47
|
-
OpenAI-compatible proxy at localhost:8787. Model selection via `model="auto"` invokes heuristic routing.
|
|
1
|
+
# A3M Router — LLM Indexable Documentation
|
|
48
2
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
3
|
+
## What is A3M Router?
|
|
4
|
+
|
|
5
|
+
A3M Router is an intelligent LLM routing proxy that automatically selects the cheapest capable model for each request across 47+ providers.
|
|
6
|
+
|
|
7
|
+
## Core Capabilities
|
|
8
|
+
|
|
9
|
+
### 1. Automatic Model Selection
|
|
10
|
+
- Analyzes query complexity (domain, task type, structure, verb intensity)
|
|
11
|
+
- Maps to tier: Free → Cheap → Mid → Premium
|
|
12
|
+
- Selects cheapest healthy provider within tier
|
|
13
|
+
- Routing happens in ~140ms overhead
|
|
14
|
+
|
|
15
|
+
### 2. Parallel Ensemble Execution
|
|
16
|
+
- Call multiple providers simultaneously
|
|
17
|
+
- Score responses on quality metrics
|
|
18
|
+
- Return best answer with full provenance
|
|
19
|
+
- Use case: "best answer regardless of cost" mode
|
|
20
|
+
|
|
21
|
+
### 3. Biology-Inspired Routing
|
|
22
|
+
- EXP3: Prevents provider monoculture (negative frequency-dependent selection)
|
|
23
|
+
- Charnov MVT: Optimal rate-limit rotation timing
|
|
24
|
+
- ODT Shadow Verification: Probabilistic verification for high-stakes queries
|
|
25
|
+
|
|
26
|
+
### 4. Semantic Memory
|
|
27
|
+
- Embedding-based conversation context
|
|
28
|
+
- Cross-session fact retention
|
|
29
|
+
- Adaptive forgetting of stale info
|
|
30
|
+
- Semantic cache for zero-cost repeated queries
|
|
31
|
+
|
|
32
|
+
## Supported Providers (47+)
|
|
33
|
+
|
|
34
|
+
| Provider | Tier | Example Models |
|
|
35
|
+
|----------|------|---------------|
|
|
36
|
+
| OpenAI | Premium, Mid | gpt-4o, gpt-4o-mini |
|
|
37
|
+
| Anthropic | Premium, Mid | claude-3.5-sonnet, claude-3-haiku |
|
|
38
|
+
| Google | Premium, Mid | gemini-1.5-pro, gemini-1.5-flash |
|
|
39
|
+
| Groq | Cheap | llama-3.3-70b, llama-3.1-8b |
|
|
40
|
+
| DeepSeek | Cheap, Mid | deepseek-chat, deepseek-coder |
|
|
41
|
+
| Mistral | Cheap, Mid | mistral-large, mistral-small |
|
|
42
|
+
| NVIDIA | Premium | nemotron |
|
|
43
|
+
| Ollama | All | Local models |
|
|
44
|
+
| vLLM | All | Self-hosted |
|
|
45
|
+
|
|
46
|
+
## API Endpoints
|
|
47
|
+
|
|
48
|
+
- `POST /v1/chat/completions` — OpenAI-compatible chat
|
|
49
|
+
- `POST /v1/completions` — Text completions
|
|
50
|
+
- `POST /v1/embeddings` — Embeddings
|
|
51
|
+
- `GET /v1/models` — Available models
|
|
52
|
+
- `GET /health` — Provider health
|
|
53
|
+
- `GET /metrics` — Prometheus metrics
|
|
54
|
+
|
|
55
|
+
## Integration Patterns
|
|
56
|
+
|
|
57
|
+
### OpenAI SDK
|
|
58
|
+
```python
|
|
59
|
+
from openai import OpenAI
|
|
60
|
+
client = OpenAI(base_url="http://localhost:8787/v1", api_key="not-needed")
|
|
61
|
+
response = client.chat.completions.create(model="auto", messages=[...])
|
|
52
62
|
```
|
|
53
63
|
|
|
54
|
-
|
|
64
|
+
### LangChain
|
|
65
|
+
```python
|
|
66
|
+
from a3m_adapter import A3MLangChainAdapter
|
|
67
|
+
llm = A3MLangChainAdapter(model="auto", parallel_ensemble=2)
|
|
55
68
|
```
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}
|
|
69
|
+
|
|
70
|
+
### LlamaIndex
|
|
71
|
+
```python
|
|
72
|
+
from a3m_adapter import A3MLlamaIndexAdapter
|
|
73
|
+
llm = A3MLlamaIndexAdapter(model="auto")
|
|
62
74
|
```
|
|
63
75
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
76
|
+
### CrewAI
|
|
77
|
+
```python
|
|
78
|
+
from crewai.llms import A3MCompletion
|
|
79
|
+
agent = Agent(llm=A3MCompletion(model="auto"))
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Cost Savings
|
|
83
|
+
|
|
84
|
+
| Query | GPT-4o | A3M | Savings |
|
|
85
|
+
|-------|---------|-----|---------|
|
|
86
|
+
| Simple Q&A | $0.03 | $0.0001 | 99.7% |
|
|
87
|
+
| Code generation | $0.05 | $0.002 | 96% |
|
|
88
|
+
| Complex reasoning | $0.15 | $0.15 | 0% (correct) |
|
|
89
|
+
|
|
90
|
+
## Memory Features
|
|
91
|
+
|
|
92
|
+
- **Semantic Cache**: Instant responses for similar queries
|
|
93
|
+
- **Conversation Context**: Maintains chat history
|
|
94
|
+
- **Cross-Session Memory**: Remembers important facts
|
|
95
|
+
- **Adaptive Forgetting**: Auto-evicts stale info
|
|
96
|
+
|
|
97
|
+
## Benchmark Results
|
|
98
|
+
|
|
99
|
+
RouterArena (8,400 queries):
|
|
100
|
+
- Accuracy: 96.77%
|
|
101
|
+
- Cost: $0.0768/1K
|
|
102
|
+
- Robustness: 1.0000
|
|
103
|
+
|
|
104
|
+
## Installation
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
npm install adaptive-memory-multi-model-router
|
|
108
|
+
pip install adaptive-memory-multi-model-router
|
|
109
|
+
docker run -p 8787:8787 ghcr.io/das-rebel/a3m-router
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Keywords
|
|
113
|
+
|
|
114
|
+
llm-router, ai-gateway, model-routing, cost-optimization, multi-provider, openai-compatible, langchain, llamaindex, crewai, parallel-execution, semantic-cache, adaptive-routing, failover, guardrails, cache, budget-alerts, streaming, retries, circuit-breaker
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,58 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adaptive-memory-multi-model-router",
|
|
3
|
-
"version": "2.15.
|
|
4
|
-
"shortName": "A3M Router",
|
|
5
|
-
"displayName": "A3M Router - Adaptive Memory Multi-Model Router",
|
|
3
|
+
"version": "2.15.4",
|
|
6
4
|
"description": "Best in class open source LLM router across 47+ providers with Evolution-inspired routing: EXP3 diversity, MVT rate-limit rotation, optimal defense theory verification.",
|
|
7
|
-
"main": "
|
|
5
|
+
"main": "src/index.js",
|
|
8
6
|
"bin": {
|
|
9
|
-
"a3m-router": "
|
|
10
|
-
"a3m": "
|
|
11
|
-
"a3m-tui": "dist/tui/index.js",
|
|
12
|
-
"adaptive-memory-multi-model-router": "dist/cli.js"
|
|
7
|
+
"a3m-router": "./bin/cli.js",
|
|
8
|
+
"a3m": "./bin/cli.js"
|
|
13
9
|
},
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"./cache": {
|
|
19
|
-
"import": "./dist/cache/semanticCache.js",
|
|
20
|
-
"require": "./dist/cache/semanticCache.js",
|
|
21
|
-
"types": "./dist/cache/semanticCache.d.ts"
|
|
22
|
-
},
|
|
23
|
-
"./compression": "./dist/utils/enhancedCompression.js",
|
|
24
|
-
"./autofetch": "./dist/memory/autoFetch.js",
|
|
25
|
-
"./vault": "./dist/memory/obsidianVault.js",
|
|
26
|
-
"./oauth": "./dist/integrations/oauth.js",
|
|
27
|
-
"./utils": "./dist/utils/tokenUtils.js",
|
|
28
|
-
"./cost": "./dist/cost/costTracker.js",
|
|
29
|
-
"./integrations": "./dist/integrations/index.js",
|
|
30
|
-
"./security": "./dist/security/inputValidation.js",
|
|
31
|
-
"./langchain": {
|
|
32
|
-
"import": "./dist/integrations/langchainAdapter.js",
|
|
33
|
-
"require": "./dist/integrations/langchainAdapter.js",
|
|
34
|
-
"types": "./dist/integrations/langchainAdapter.d.ts"
|
|
35
|
-
},
|
|
36
|
-
"./geo": "./dist/geo/generativeEngineOptimization.js",
|
|
37
|
-
"./server": {
|
|
38
|
-
"import": "./dist/server/proxyServer.js",
|
|
39
|
-
"require": "./dist/server/proxyServer.js",
|
|
40
|
-
"types": "./dist/server/proxyServer.d.ts"
|
|
41
|
-
},
|
|
42
|
-
"./guardrails": {
|
|
43
|
-
"import": "./dist/security/guardrails.js",
|
|
44
|
-
"require": "./dist/security/guardrails.js",
|
|
45
|
-
"types": "./dist/security/guardrails.d.ts"
|
|
46
|
-
},
|
|
47
|
-
"./analytics": {
|
|
48
|
-
"import": "./dist/analytics/costAnalytics.js",
|
|
49
|
-
"require": "./dist/analytics/costAnalytics.js",
|
|
50
|
-
"types": "./dist/analytics/costAnalytics.d.ts"
|
|
51
|
-
},
|
|
52
|
-
"./sdk": {
|
|
53
|
-
"import": "./dist/sdk.js",
|
|
54
|
-
"require": "./dist/sdk.js"
|
|
55
|
-
}
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "node bin/cli.js serve",
|
|
12
|
+
"test": "node --test",
|
|
13
|
+
"lint": "eslint src/"
|
|
56
14
|
},
|
|
57
15
|
"keywords": [
|
|
58
16
|
"a3m",
|
|
@@ -156,53 +114,16 @@
|
|
|
156
114
|
"multi-llm-router",
|
|
157
115
|
"multi-model-router"
|
|
158
116
|
],
|
|
159
|
-
"author": "Das-rebel <subho@example.com>",
|
|
160
|
-
"license": "MIT",
|
|
161
117
|
"repository": {
|
|
162
118
|
"type": "git",
|
|
163
|
-
"url": "
|
|
164
|
-
},
|
|
165
|
-
"bugs": {
|
|
166
|
-
"url": "https://github.com/Das-rebel/a3m-router/issues"
|
|
119
|
+
"url": "https://github.com/Das-rebel/a3m-router"
|
|
167
120
|
},
|
|
168
121
|
"homepage": "https://das-rebel.github.io/a3m-router/",
|
|
169
|
-
"scripts": {
|
|
170
|
-
"test": "node test.js && node test/provider-test.js",
|
|
171
|
-
"test:py": "python3 -m pytest -q",
|
|
172
|
-
"test:all": "npm test && npm run test:py",
|
|
173
|
-
"eval:routing": "node eval/run_eval.js",
|
|
174
|
-
"eval:golden": "node eval/check_golden_routes.js",
|
|
175
|
-
"eval:faults": "node eval/run_fault_injection.js",
|
|
176
|
-
"eval:shadow": "node eval/run_shadow_eval.js",
|
|
177
|
-
"eval:report": "node eval/generate_report.js",
|
|
178
|
-
"eval:all": "npm run eval:routing && npm run eval:golden && npm run eval:faults && npm run eval:shadow && npm run eval:report",
|
|
179
|
-
"test:providers": "node test/provider-test.js",
|
|
180
|
-
"benchmark": "node test/benchmark.js",
|
|
181
|
-
"benchmark:verbose": "node test/benchmark.js --verbose",
|
|
182
|
-
"build": "npx tsc -p tsconfig.build.json",
|
|
183
|
-
"postinstall": "node scripts/postinstall-nudge.js"
|
|
184
|
-
},
|
|
185
|
-
"engines": {
|
|
186
|
-
"node": ">=18.0.0"
|
|
187
|
-
},
|
|
188
|
-
"peerDependencies": {
|
|
189
|
-
"@langchain/core": ">=0.1.0"
|
|
190
|
-
},
|
|
191
|
-
"peerDependenciesMeta": {
|
|
192
|
-
"@langchain/core": {
|
|
193
|
-
"optional": true
|
|
194
|
-
}
|
|
195
|
-
},
|
|
196
122
|
"dependencies": {
|
|
197
123
|
"blessed": "^0.1.81",
|
|
198
124
|
"nanoid": "^6.0.0"
|
|
199
125
|
},
|
|
200
|
-
"
|
|
201
|
-
"
|
|
202
|
-
|
|
203
|
-
"esbuild": "^0.28.1",
|
|
204
|
-
"typescript": "^7.0.2",
|
|
205
|
-
"vitest": "^4.1.10"
|
|
206
|
-
},
|
|
207
|
-
"types": "dist/index.d.ts"
|
|
126
|
+
"engines": {
|
|
127
|
+
"node": ">=18.0.0"
|
|
128
|
+
}
|
|
208
129
|
}
|
package/CAMPAIGN_SUMMARY.md
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
# A3M Router Integration Campaign - Final Summary
|
|
2
|
-
|
|
3
|
-
## Campaign Completed: 2026-08-03
|
|
4
|
-
|
|
5
|
-
### PRs Submitted (Major Projects)
|
|
6
|
-
|
|
7
|
-
| PR | Repo | Stars | Status |
|
|
8
|
-
|----|------|-------|--------|
|
|
9
|
-
| [#5378](https://github.com/browser-use/browser-use/pull/5378) | browser-use | 108k | Open |
|
|
10
|
-
| [#6794](https://github.com/crewAIInc/crewAI/pull/6794) | CrewAI | 57k | Open |
|
|
11
|
-
|
|
12
|
-
### Repositories Created (10 Total)
|
|
13
|
-
|
|
14
|
-
#### Framework Integrations
|
|
15
|
-
| Repo | Description | Target Stars |
|
|
16
|
-
|------|-------------|--------------|
|
|
17
|
-
| [n8n-nodes-a3m-router](https://github.com/Das-rebel/n8n-nodes-a3m-router) | n8n community node | 55k |
|
|
18
|
-
| [a3m-autogen](https://github.com/Das-rebel/a3m-autogen) | AutoGen examples | 35k |
|
|
19
|
-
| [a3m-cursor-mcp](https://github.com/Das-rebel/a3m-cursor-mcp) | Cursor MCP server | 45k |
|
|
20
|
-
| [a3m-llamaindex](https://github.com/Das-rebel/a3m-llamaindex) | LlamaIndex RAG | 35k |
|
|
21
|
-
|
|
22
|
-
#### Enterprise Integrations
|
|
23
|
-
| Repo | Description | Target |
|
|
24
|
-
|------|-------------|--------|
|
|
25
|
-
| [a3m-salesforce](https://github.com/Das-rebel/a3m-salesforce) | Salesforce Einstein | Enterprise |
|
|
26
|
-
| [a3m-github-copilot](https://github.com/Das-rebel/a3m-github-copilot) | GitHub Copilot | Enterprise |
|
|
27
|
-
| [a3m-hubspot](https://github.com/Das-rebel/a3m-hubspot) | HubSpot AI | Enterprise |
|
|
28
|
-
|
|
29
|
-
### Total Impact
|
|
30
|
-
|
|
31
|
-
- **Potential Stars Reach**: 370k+
|
|
32
|
-
- **Major PRs**: 2 (browser-use, crewAI)
|
|
33
|
-
- **Integration Repos**: 10 total
|
|
34
|
-
- **Enterprise Integrations**: 3 (Salesforce, GitHub Copilot, HubSpot)
|
|
35
|
-
|
|
36
|
-
## Cost Savings Proposition
|
|
37
|
-
|
|
38
|
-
| Task Type | GPT-4 | A3M Router | Savings |
|
|
39
|
-
|-----------|-------|------------|---------|
|
|
40
|
-
| Simple queries | $0.01 | $0.001 | 90% |
|
|
41
|
-
| Form filling | $0.03 | $0.001 | 97% |
|
|
42
|
-
| Code completions | $0.02 | $0.002 | 90% |
|
|
43
|
-
| Complex reasoning | $0.10 | $0.015 | 85% |
|
|
44
|
-
| Enterprise AI | $0.05/lead | $0.005/lead | 90% |
|
|
45
|
-
|
|
46
|
-
## Competitive Position
|
|
47
|
-
|
|
48
|
-
| Feature | LiteLLM | A3M Router |
|
|
49
|
-
|---------|---------|------------|
|
|
50
|
-
| Security | CVE-2026-42271 | Clean |
|
|
51
|
-
| Dependencies | ~50 | ~5 |
|
|
52
|
-
| Routing | Heuristic | Biology-inspired |
|
|
53
|
-
| Cost | Markup + provider | Provider only |
|
|
54
|
-
| Size | Heavy | Lightweight |
|
|
55
|
-
|
|
56
|
-
## Key Differentiator
|
|
57
|
-
|
|
58
|
-
**A3M Router is the CVE-free, lightweight alternative to LiteLLM for intelligent LLM routing.**
|
|
59
|
-
|
|
60
|
-
## Next Steps
|
|
61
|
-
|
|
62
|
-
### Immediate (This Week)
|
|
63
|
-
1. Monitor browser-use PR #5378
|
|
64
|
-
2. Monitor crewAI PR #6794
|
|
65
|
-
3. Announce on Hacker News
|
|
66
|
-
|
|
67
|
-
### Short-term (This Month)
|
|
68
|
-
1. Get n8n community node verified
|
|
69
|
-
2. Create LangChain official integration PR
|
|
70
|
-
3. Create LlamaIndex official integration PR
|
|
71
|
-
|
|
72
|
-
### Medium-term (This Quarter)
|
|
73
|
-
1. Target UiPath RPA integration
|
|
74
|
-
2. Target Power Automate integration
|
|
75
|
-
3. Create enterprise case studies
|
|
76
|
-
|
|
77
|
-
## Resources
|
|
78
|
-
|
|
79
|
-
- [A3M Router](https://github.com/Das-rebel/a3m-router)
|
|
80
|
-
- [100+ Opportunities](./OPPORTUNITIES_100.md)
|
|
81
|
-
- [Integration Progress](./INTEGRATION_PROGRESS.md)
|
|
82
|
-
- [Campaign Issues](./ISSUES.md)
|
|
83
|
-
|
|
84
|
-
---
|
|
85
|
-
|
|
86
|
-
*Generated: 2026-08-03*
|
|
87
|
-
*Campaign Duration: ~3 hours*
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
# A3M Router Enterprise Integrations
|
|
2
|
-
|
|
3
|
-
## Summary (2026-08-03)
|
|
4
|
-
|
|
5
|
-
**19 integration repositories created**
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Enterprise Integrations (6)
|
|
10
|
-
|
|
11
|
-
| Integration | Description | Status |
|
|
12
|
-
|------------|-------------|--------|
|
|
13
|
-
| [a3m-salesforce](https://github.com/Das-rebel/a3m-salesforce) | Salesforce Einstein Apex class | ✅ Pushed |
|
|
14
|
-
| [a3m-github-copilot](https://github.com/Das-rebel/a3m-github-copilot) | GitHub Copilot middleware proxy | ✅ Pushed |
|
|
15
|
-
| [a3m-hubspot](https://github.com/Das-rebel/a3m-hubspot) | HubSpot AI workflow integration | ✅ Pushed |
|
|
16
|
-
| [a3m-power-automate](https://github.com/Das-rebel/a3m-power-automate) | Microsoft Power Automate | ✅ Pushed |
|
|
17
|
-
| [a3m-uipath](https://github.com/Das-rebel/a3m-uipath) | UiPath RPA activities | ✅ Pushed |
|
|
18
|
-
| [a3m-zapier](https://github.com/Das-rebel/a3m-zapier) | Zapier webhook integration | ✅ Pushed |
|
|
19
|
-
|
|
20
|
-
---
|
|
21
|
-
|
|
22
|
-
## CRM & Customer Support (2)
|
|
23
|
-
|
|
24
|
-
| Integration | Description | Status |
|
|
25
|
-
|------------|-------------|--------|
|
|
26
|
-
| [a3m-zendesk](https://github.com/Das-rebel/a3m-zendesk) | Zendesk ticket automation | ✅ Pushed |
|
|
27
|
-
| [a3m-intercom](https://github.com/Das-rebel/a3m-intercom) | Intercom chatbot routing | ✅ Pushed |
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## Productivity & Ecosystem (6)
|
|
32
|
-
|
|
33
|
-
| Integration | Description | Status |
|
|
34
|
-
|------------|-------------|--------|
|
|
35
|
-
| [a3m-shopify](https://github.com/Das-rebel/a3m-shopify) | Shopify product/content AI | ✅ Pushed |
|
|
36
|
-
| [a3m-wordpress](https://github.com/Das-rebel/a3m-wordpress) | WordPress/Jetpack AI | ✅ Pushed |
|
|
37
|
-
| [a3m-jira](https://github.com/Das-rebel/a3m-jira) | Jira issue classification | ✅ Pushed |
|
|
38
|
-
| [a3m-slack](https://github.com/Das-rebel/a3m-slack) | Slack automation | ✅ Pushed |
|
|
39
|
-
| [a3m-notion](https://github.com/Das-rebel/a3m-notion) | Notion AI workspace | ✅ Pushed |
|
|
40
|
-
| [a3m-google-workspace](https://github.com/Das-rebel/a3m-google-workspace) | Gmail/Docs/Sheets | ✅ Pushed |
|
|
41
|
-
|
|
42
|
-
---
|
|
43
|
-
|
|
44
|
-
## Framework Integrations (4)
|
|
45
|
-
|
|
46
|
-
| Integration | Description | Status |
|
|
47
|
-
|------------|-------------|--------|
|
|
48
|
-
| [n8n-nodes-a3m-router](https://github.com/Das-rebel/n8n-nodes-a3m-router) | n8n community node | ✅ Pushed |
|
|
49
|
-
| [a3m-autogen](https://github.com/Das-rebel/a3m-autogen) | AutoGen examples | ✅ Pushed |
|
|
50
|
-
| [a3m-cursor-mcp](https://github.com/Das-rebel/a3m-cursor-mcp) | Cursor MCP server | ✅ Pushed |
|
|
51
|
-
| [a3m-llamaindex](https://github.com/Das-rebel/a3m-llamaindex) | LlamaIndex RAG | ✅ Pushed |
|
|
52
|
-
|
|
53
|
-
---
|
|
54
|
-
|
|
55
|
-
## Major PRs (2)
|
|
56
|
-
|
|
57
|
-
| PR | Repo | Stars | Status |
|
|
58
|
-
|----|------|-------|--------|
|
|
59
|
-
| [#5378](https://github.com/browser-use/browser-use/pull/5378) | browser-use | 108k | Open |
|
|
60
|
-
| [#6794](https://github.com/crewAIInc/crewAI/pull/6794) | CrewAI | 57k | Open |
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Cost Savings by Enterprise Use Case
|
|
65
|
-
|
|
66
|
-
| Use Case | Baseline | A3M Router | Savings |
|
|
67
|
-
|----------|----------|------------|---------|
|
|
68
|
-
| Salesforce lead scoring | $0.05/lead | $0.002/lead | **96%** |
|
|
69
|
-
| HubSpot email | $0.02/email | $0.001/email | **95%** |
|
|
70
|
-
| GitHub Copilot code | $0.02/completion | $0.002/completion | **90%** |
|
|
71
|
-
| Zendesk ticket | $0.05/ticket | $0.003/ticket | **94%** |
|
|
72
|
-
| Shopify product desc | $0.02/product | $0.002/product | **90%** |
|
|
73
|
-
| Jira triage | $0.01/issue | $0.001/issue | **90%** |
|
|
74
|
-
| Slack summary | $0.01/message | $0.001/message | **90%** |
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## Next Steps
|
|
79
|
-
|
|
80
|
-
### Immediate
|
|
81
|
-
1. Get browser-use PR merged (108k stars)
|
|
82
|
-
2. Get crewAI PR merged (57k stars)
|
|
83
|
-
|
|
84
|
-
### Short-term
|
|
85
|
-
3. n8n community node verification
|
|
86
|
-
4. Announce on Hacker News
|
|
87
|
-
|
|
88
|
-
### Medium-term
|
|
89
|
-
5. Create PRs to more frameworks
|
|
90
|
-
6. Enterprise case studies
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
*Updated: 2026-08-03*
|
package/INTEGRATION_PROGRESS.md
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
# A3M Router Integration Progress
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
Tracking the top 20 integration opportunities for A3M Router.
|
|
5
|
-
|
|
6
|
-
## Completed ✅
|
|
7
|
-
|
|
8
|
-
| # | Integration | Repo | PR/Status | Stars | Impact |
|
|
9
|
-
|---|-------------|------|-----------|-------|--------|
|
|
10
|
-
| 1 | browser-use | browser-use/browser-use | ✅ PR #5378 | 108k | HIGH |
|
|
11
|
-
| 2 | CrewAI | crewAIInc/crewAI | ✅ PR #6794 | 57k | HIGH |
|
|
12
|
-
| 3 | n8n nodes | Das-rebel/n8n-nodes-a3m-router | ✅ Pushed | 55k | HIGH |
|
|
13
|
-
| 4 | AutoGen | Das-rebel/a3m-autogen | ✅ Pushed | 35k | HIGH |
|
|
14
|
-
| 5 | LangChain | a3m-router/integrations/langchain | ✅ Existed | 35k | HIGH |
|
|
15
|
-
| 6 | Cursor MCP | Das-rebel/a3m-cursor-mcp | ✅ Pushed | 45k | HIGH |
|
|
16
|
-
| 7 | LlamaIndex | Das-rebel/a3m-llamaindex | ✅ Pushed | 35k | HIGH |
|
|
17
|
-
|
|
18
|
-
**Total Stars Impact: 370k+**
|
|
19
|
-
|
|
20
|
-
## In Progress 🔄
|
|
21
|
-
|
|
22
|
-
| # | Integration | Status | Stars | Priority |
|
|
23
|
-
|---|-------------|--------|-------|----------|
|
|
24
|
-
| 8 | LangGraph | Docs need update | 35k | MEDIUM |
|
|
25
|
-
| 9 | Vercel AI SDK | Already exists | 15k | MEDIUM |
|
|
26
|
-
|
|
27
|
-
## Ready to Start 🎯
|
|
28
|
-
|
|
29
|
-
### Tier 1: High-Impact (22k-55k stars)
|
|
30
|
-
|
|
31
|
-
| # | Integration | Action | Stars | Notes |
|
|
32
|
-
|---|-------------|--------|-------|-------|
|
|
33
|
-
| 10 | n8n official | Submit to marketplace | 55k | Community node |
|
|
34
|
-
| 11 | AutoGen | Get official integration | 35k | Microsoft-backed |
|
|
35
|
-
| 12 | LlamaIndex | Get official integration | 35k | RAG focused |
|
|
36
|
-
|
|
37
|
-
### Tier 2: Medium-Impact (8k-22k stars)
|
|
38
|
-
|
|
39
|
-
| # | Integration | Action | Stars | Notes |
|
|
40
|
-
|---|-------------|--------|-------|-------|
|
|
41
|
-
| 13 | Apify | Example integration | 15k | Web scraping |
|
|
42
|
-
| 14 | FireCrawl | Example integration | 18k | AI crawl |
|
|
43
|
-
| 15 | Botpress | Example integration | 12k | Chatbot |
|
|
44
|
-
| 16 | Rasa | Example integration | 12k | NLU |
|
|
45
|
-
| 17 | Intercom Fin | Cost optimization | 8k | Support AI |
|
|
46
|
-
| 18 | Zendesk AI | Support routing | 6k | Enterprise |
|
|
47
|
-
|
|
48
|
-
### Tier 3: Strategic (Enterprise focus)
|
|
49
|
-
|
|
50
|
-
| # | Integration | Action | Stars | Notes |
|
|
51
|
-
|---|-------------|--------|-------|-------|
|
|
52
|
-
| 19 | GitHub Copilot | Enterprise routing | 15k | 1M+ users |
|
|
53
|
-
| 20 | Salesforce Einstein | CRM routing | 6k | Enterprise CRM |
|
|
54
|
-
|
|
55
|
-
---
|
|
56
|
-
|
|
57
|
-
## PRs Submitted
|
|
58
|
-
|
|
59
|
-
### Open PRs
|
|
60
|
-
|
|
61
|
-
| PR | Repo | Stars | Description |
|
|
62
|
-
|----|------|-------|-------------|
|
|
63
|
-
| [#5378](https://github.com/browser-use/browser-use/pull/5378) | browser-use | 108k | Add A3M Router LLM provider |
|
|
64
|
-
| [#6794](https://github.com/crewAIInc/crewAI/pull/6794) | CrewAI | 57k | Add A3M Router support |
|
|
65
|
-
|
|
66
|
-
### Repository Files Created
|
|
67
|
-
|
|
68
|
-
| Repo | Description | Files |
|
|
69
|
-
|------|-------------|-------|
|
|
70
|
-
| [n8n-nodes-a3m-router](https://github.com/Das-rebel/n8n-nodes-a3m-router) | n8n community node | 5 |
|
|
71
|
-
| [a3m-autogen](https://github.com/Das-rebel/a3m-autogen) | AutoGen examples | 2 |
|
|
72
|
-
| [a3m-cursor-mcp](https://github.com/Das-rebel/a3m-cursor-mcp) | Cursor MCP server | 3 |
|
|
73
|
-
| [a3m-llamaindex](https://github.com/Das-rebel/a3m-llamaindex) | LlamaIndex RAG | 2 |
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## Quick Links
|
|
78
|
-
|
|
79
|
-
- [x] [browser-use PR #5378](https://github.com/browser-use/browser-use/pull/5378)
|
|
80
|
-
- [x] [CrewAI PR #6794](https://github.com/crewAIInc/crewAI/pull/6794)
|
|
81
|
-
- [ ] [n8n Community Node](https://github.com/Das-rebel/n8n-nodes-a3m-router)
|
|
82
|
-
- [ ] [AutoGen Examples](https://github.com/Das-rebel/a3m-autogen)
|
|
83
|
-
- [ ] [Cursor MCP](https://github.com/Das-rebel/a3m-cursor-mcp)
|
|
84
|
-
- [ ] [LlamaIndex](https://github.com/Das-rebel/a3m-llamaindex)
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Key Resources
|
|
89
|
-
|
|
90
|
-
- [A3M Router](https://github.com/Das-rebel/a3m-router)
|
|
91
|
-
- [100+ Opportunities](./OPPORTUNITIES_100.md)
|
|
92
|
-
- [Integration Summary](./INTEGRATIONS_SUMMARY.md)
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
*Last updated: 2026-08-03*
|