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
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
# A3M Router + sota-browser (CloakBrowser)
|
|
2
|
-
|
|
3
|
-
**The ultimate combination for reliable, cost-optimized browser automation.**
|
|
4
|
-
|
|
5
|
-
This integration combines:
|
|
6
|
-
- **A3M Router** - Intelligent LLM routing with cost optimization
|
|
7
|
-
- **sota-browser (CloakBrowser)** - 71 C++ stealth patches for maximum anti-detection
|
|
8
|
-
|
|
9
|
-
Together, they provide the most reliable and cost-effective browser automation solution available.
|
|
10
|
-
|
|
11
|
-
## Why A3M + sota-browser?
|
|
12
|
-
|
|
13
|
-
| Feature | A3M alone | sota-browser alone | A3M + sota-browser |
|
|
14
|
-
|---------|------------|-------------------|---------------------|
|
|
15
|
-
| Stealth anti-detection | Basic | ✅ Advanced | ✅ Advanced |
|
|
16
|
-
| Intelligent routing | ✅ | ❌ | ✅ |
|
|
17
|
-
| Cost optimization | ✅ | ❌ | ✅ |
|
|
18
|
-
| CAPCHA solving | ❌ | ✅ | ✅ |
|
|
19
|
-
| Proxy rotation | ❌ | ✅ | ✅ |
|
|
20
|
-
| Cost per task | $0.002 | $0.001 | **$0.002** |
|
|
21
|
-
|
|
22
|
-
## Installation
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm install adaptive-memory-multi-model-router
|
|
26
|
-
npm install sota-browser
|
|
27
|
-
|
|
28
|
-
# Or use the combined package
|
|
29
|
-
npm install a3m-sota-browser
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Quick Start
|
|
33
|
-
|
|
34
|
-
```typescript
|
|
35
|
-
import { A3MRouter } from 'adaptive-memory-multi-model-router';
|
|
36
|
-
import { BrowserManager } from 'sota-browser';
|
|
37
|
-
|
|
38
|
-
async function automatedTask() {
|
|
39
|
-
// Initialize A3M for routing
|
|
40
|
-
const router = new A3MRouter({
|
|
41
|
-
model: 'auto',
|
|
42
|
-
stealth: true,
|
|
43
|
-
parallelEnsemble: 3,
|
|
44
|
-
browserOptimized: true,
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// Initialize CloakBrowser
|
|
48
|
-
const browser = new BrowserManager({
|
|
49
|
-
stealth: true, // 71 C++ stealth patches
|
|
50
|
-
proxy: 'auto', // Automatic proxy rotation
|
|
51
|
-
humanize: true, // Human-like mouse movements
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
await browser.launch();
|
|
55
|
-
const page = await browser.newPage();
|
|
56
|
-
|
|
57
|
-
// Navigate to target
|
|
58
|
-
await page.goto('https://example.com/form');
|
|
59
|
-
|
|
60
|
-
// Use A3M to analyze and fill form
|
|
61
|
-
const analysis = await router.route({
|
|
62
|
-
task: 'Analyze this form and extract field structure',
|
|
63
|
-
context: 'form_analysis',
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
// Fill with optimal model
|
|
67
|
-
await page.fill('input[name="email"]', 'user@example.com');
|
|
68
|
-
|
|
69
|
-
await browser.close();
|
|
70
|
-
console.log(`Cost: $${router.getCost()}`);
|
|
71
|
-
}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Cost Savings
|
|
75
|
-
|
|
76
|
-
**Monthly cost comparison (1000 tasks/day):**
|
|
77
|
-
|
|
78
|
-
| Solution | Monthly Cost | Annual Cost | Detection Rate |
|
|
79
|
-
|----------|--------------|-------------|----------------|
|
|
80
|
-
| GPT-4o + manual | $9,000 | $108,000 | High |
|
|
81
|
-
| sota-browser alone | $500 | $6,000 | Low |
|
|
82
|
-
| **A3M + sota-browser** | **$450** | **$5,400** | **Very Low** |
|
|
83
|
-
|
|
84
|
-
**Why A3M + sota-browser is optimal:**
|
|
85
|
-
- sota-browser handles the stealth (proxy rotation, human-like behavior)
|
|
86
|
-
- A3M handles the intelligence (routing, cost optimization)
|
|
87
|
-
- Together: cheapest + most reliable
|
|
88
|
-
|
|
89
|
-
## Stealth Configuration
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
const browser = new BrowserManager({
|
|
93
|
-
stealth: {
|
|
94
|
-
webdriver: true, // Hide webdriver flag
|
|
95
|
-
automation: true, // Hide automation flags
|
|
96
|
-
canvas: true, // Randomize canvas fingerprint
|
|
97
|
-
webgl: true, // Randomize WebGL fingerprint
|
|
98
|
-
audio: true, // Randomize audio context
|
|
99
|
-
timezone: true, // Match proxy timezone
|
|
100
|
-
language: true, // Match browser language
|
|
101
|
-
},
|
|
102
|
-
proxy: {
|
|
103
|
-
rotate: true, // Rotate proxies per request
|
|
104
|
-
pool: ['proxy1', 'proxy2', 'proxy3'],
|
|
105
|
-
},
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
const router = new A3MRouter({
|
|
109
|
-
stealth: {
|
|
110
|
-
mode: 'intelligent', // Auto-select stealth level
|
|
111
|
-
rotation: true, // Rotate providers to avoid rate limits
|
|
112
|
-
},
|
|
113
|
-
});
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
## Example: Job Application Bot
|
|
117
|
-
|
|
118
|
-
```typescript
|
|
119
|
-
import { A3MRouter } from 'adaptive-memory-multi-model-router';
|
|
120
|
-
import { BrowserManager } from 'sota-browser';
|
|
121
|
-
|
|
122
|
-
const RESUME = {
|
|
123
|
-
name: 'Subhojit Das',
|
|
124
|
-
email: 'subho@example.com',
|
|
125
|
-
phone: '+91-7977110915',
|
|
126
|
-
experience: '10 years',
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
async function applyToJobs(jobs: string[]) {
|
|
130
|
-
const router = new A3MRouter({ model: 'auto', stealth: true });
|
|
131
|
-
const browser = new BrowserManager({ stealth: true, proxy: 'auto' });
|
|
132
|
-
|
|
133
|
-
await browser.launch();
|
|
134
|
-
const page = await browser.newPage();
|
|
135
|
-
|
|
136
|
-
for (const jobUrl of jobs) {
|
|
137
|
-
try {
|
|
138
|
-
console.log(`Applying to: ${jobUrl}`);
|
|
139
|
-
|
|
140
|
-
// A3M decides which provider to use
|
|
141
|
-
const routing = await router.route({
|
|
142
|
-
task: 'Is this job a good fit for a growth marketing leader?',
|
|
143
|
-
context: 'job_matching',
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
if (routing.content.includes('Yes')) {
|
|
147
|
-
await page.goto(jobUrl);
|
|
148
|
-
|
|
149
|
-
// CloakBrowser handles anti-detection
|
|
150
|
-
await page.fill('input[name="name"]', RESUME.name);
|
|
151
|
-
await page.fill('input[name="email"]', RESUME.email);
|
|
152
|
-
await page.click('button[type="submit"]');
|
|
153
|
-
|
|
154
|
-
console.log(`✅ Applied! Cost: $${routing.cost}`);
|
|
155
|
-
}
|
|
156
|
-
} catch (e) {
|
|
157
|
-
console.log(`❌ Failed: ${e.message}`);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
await browser.close();
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## Anti-Detection Features
|
|
166
|
-
|
|
167
|
-
sota-browser provides 71 C++ stealth patches:
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
✅ navigator.webdriver = false
|
|
171
|
-
✅ Sec-CH-UA headers properly set
|
|
172
|
-
✅ Canvas fingerprint randomization
|
|
173
|
-
✅ WebGL fingerprint randomization
|
|
174
|
-
✅ Audio context noise
|
|
175
|
-
✅ Human-like mouse movements
|
|
176
|
-
✅ Random delays between actions
|
|
177
|
-
✅ Proxy rotation
|
|
178
|
-
✅ timezone matching
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
## Best Practices
|
|
182
|
-
|
|
183
|
-
1. **Always use proxy rotation** for sensitive tasks
|
|
184
|
-
2. **Set humanize: true** for natural behavior
|
|
185
|
-
3. **Use A3M's parallel ensemble** for critical extractions
|
|
186
|
-
4. **Monitor detection rates** and adjust stealth level
|
|
187
|
-
5. **Rotate between providers** to avoid rate limits
|
|
188
|
-
|
|
189
|
-
## License
|
|
190
|
-
|
|
191
|
-
MIT - Same as A3M Router
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "a3m-sota-browser",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"description": "A3M Router + sota-browser integration for stealth browser automation",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
7
|
-
"scripts": {
|
|
8
|
-
"build": "tsc",
|
|
9
|
-
"prepublishOnly": "npm run build"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"adaptive-memory-multi-model-router": "^2.14.0",
|
|
13
|
-
"sota-browser": "^1.7.0"
|
|
14
|
-
},
|
|
15
|
-
"peerDependencies": {
|
|
16
|
-
"sota-browser": "^1.7.0"
|
|
17
|
-
},
|
|
18
|
-
"keywords": [
|
|
19
|
-
"a3m",
|
|
20
|
-
"sota-browser",
|
|
21
|
-
"cloakbrowser",
|
|
22
|
-
"browser-automation",
|
|
23
|
-
"stealth",
|
|
24
|
-
"anti-detection",
|
|
25
|
-
"llm-routing",
|
|
26
|
-
"cost-optimization"
|
|
27
|
-
],
|
|
28
|
-
"repository": {
|
|
29
|
-
"type": "git",
|
|
30
|
-
"url": "https://github.com/Das-rebel/a3m-router"
|
|
31
|
-
},
|
|
32
|
-
"author": "Subhojit Das",
|
|
33
|
-
"license": "MIT"
|
|
34
|
-
}
|