adaptive-memory-multi-model-router 2.14.49 → 2.14.52

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 (605) hide show
  1. package/.dockerignore +82 -0
  2. package/.env.example +303 -0
  3. package/.github/DISCUSSIONS_WELCOME.md +27 -0
  4. package/.github/DISCUSSION_TEMPLATE.yml +5 -0
  5. package/.github/FUNDING.yml +2 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +94 -0
  7. package/.github/ISSUE_TEMPLATE/config.yml +17 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +71 -0
  9. package/.github/PULL_REQUEST_TEMPLATE.md +71 -0
  10. package/.github/dependabot.yml +9 -0
  11. package/.github/workflows/ci.yml +263 -0
  12. package/.github/workflows/codeql.yml +38 -0
  13. package/.github/workflows/npm-publish.yml +20 -0
  14. package/.github/workflows/pages.yml +37 -0
  15. package/.github/workflows/stale.yml +54 -0
  16. package/.publish-tick +1 -0
  17. package/.well-known/ai-plugin.json +16 -0
  18. package/AGENT_COUNCIL_FINDINGS.md +142 -0
  19. package/ARCHITECTURE.md +346 -0
  20. package/AUDIT_REPORT.md +28 -0
  21. package/CODE_OF_CONDUCT.md +128 -0
  22. package/CONTRIBUTING.md +50 -0
  23. package/CONTRIBUTORS.md +20 -0
  24. package/Dockerfile +53 -0
  25. package/Dockerfile.proxy +33 -0
  26. package/HEALTH_REPORT.md +118 -0
  27. package/IMPROVEMENT_PLAN.md +107 -0
  28. package/LANDING.md +43 -0
  29. package/LAUNCH-PAIN-DRIVEN.md +339 -0
  30. package/LAUNCH.md +337 -0
  31. package/LAUNCH_CHECKLIST.md +141 -0
  32. package/LAUNCH_SNAPSHOT.md +260 -0
  33. package/MANIFESTO.md +41 -0
  34. package/POPULARITY_BOOSTERS.md +285 -0
  35. package/PR_STATUS_REPORT.md +148 -0
  36. package/README.md +25 -14
  37. package/REDESIGN.md +95 -0
  38. package/RUNKIT.md +83 -0
  39. package/SECURITY.md +29 -0
  40. package/SUBMISSIONS.md +43 -0
  41. package/_schema.html +53 -0
  42. package/ai-plugin.json +16 -0
  43. package/articles/AI_AGENT_LLM_ROUTING.md +150 -0
  44. package/articles/CHINESE_DIRECTORIES.md +100 -0
  45. package/articles/CHINESE_SUBMISSIONS_READY.md +322 -0
  46. package/articles/COMPETITOR_ALERTS.md +31 -0
  47. package/articles/COMPLETE_POSTING_DIRECTORY.md +147 -0
  48. package/articles/CONTENT_STRUCTURE.md +292 -0
  49. package/articles/DEVTO_COST_GUIDE.md +473 -0
  50. package/articles/DEVTO_FINAL.md +416 -0
  51. package/articles/DEVTO_MULTI_PROVIDER.md +542 -0
  52. package/articles/DEVTO_READY.md +255 -0
  53. package/articles/DEVTO_V2_ANNOUNCEMENT.md +160 -0
  54. package/articles/DEVTO_VIRAL_GROWTH.md +280 -0
  55. package/articles/FRESH_devto.md +460 -0
  56. package/articles/FRESH_devto_2026_05.md +73 -0
  57. package/articles/FRESH_hackernews.md +14 -0
  58. package/articles/FRESH_reddit_ml.md +90 -0
  59. package/articles/FRESH_reddit_node.md +198 -0
  60. package/articles/FRESH_reddit_sideproject.md +72 -0
  61. package/articles/FRESH_reddit_webdev.md +130 -0
  62. package/articles/FROM_ZERO_TO_10K.md +107 -0
  63. package/articles/HN_10X_BETTER.md +430 -0
  64. package/articles/HN_ACCOUNT_GUIDE.md +21 -0
  65. package/articles/HN_CHINESE_STYLE.md +308 -0
  66. package/articles/HN_FINAL.md +148 -0
  67. package/articles/HN_POSTED_VERSION.md +56 -0
  68. package/articles/HN_POST_READY.md +137 -0
  69. package/articles/HN_RESEARCH.md +364 -0
  70. package/articles/HN_SHOW_routerarena.md +17 -0
  71. package/articles/HN_TIMING_GUIDE.md +52 -0
  72. package/articles/INDIEHACKERS_POST.md +52 -0
  73. package/articles/INDIEHACKERS_READY.md +120 -0
  74. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +153 -0
  75. package/articles/MASTER_POSTING_DIRECTORY.md +189 -0
  76. package/articles/NEWSLETTER_SEND_NOW.md +259 -0
  77. package/articles/NEWSLETTER_SUBMISSIONS.md +112 -0
  78. package/articles/PAIN-DRIVEN-devto-v2.md +308 -0
  79. package/articles/PAIN-DRIVEN-devto-v3.md +268 -0
  80. package/articles/PAIN-DRIVEN-devto.md +242 -0
  81. package/articles/PAIN-DRIVEN-hackernews-v2.md +138 -0
  82. package/articles/PAIN-DRIVEN-hackernews-v3.md +151 -0
  83. package/articles/PAIN-DRIVEN-hackernews.md +131 -0
  84. package/articles/PAIN-DRIVEN-reddit-v2.md +301 -0
  85. package/articles/PAIN-DRIVEN-reddit-v3.md +236 -0
  86. package/articles/PAIN-DRIVEN-reddit.md +218 -0
  87. package/articles/PAIN-DRIVEN-twitter-v2.md +110 -0
  88. package/articles/PAIN-DRIVEN-twitter-v3.md +121 -0
  89. package/articles/PAIN-DRIVEN-twitter.md +120 -0
  90. package/articles/PORTKEY_VS_A3M.md +147 -0
  91. package/articles/POSTING_KIT_2026_05.md +67 -0
  92. package/articles/PRESS_KIT_routerarena.md +77 -0
  93. package/articles/PRODUCTHUNT_LISTING.md +48 -0
  94. package/articles/PRODUCTHUNT_READY.md +106 -0
  95. package/articles/PR_PLAN_vault.md +125 -0
  96. package/articles/REDDIT_FINAL.md +232 -0
  97. package/articles/REDDIT_POST.md +67 -0
  98. package/articles/REDDIT_SUBMISSION_READY.md +348 -0
  99. package/articles/ROUTERARENA_9677.md +78 -0
  100. package/articles/ROUTERARENA_LEADER.md +45 -0
  101. package/articles/SHOW_HN_FINAL.md +29 -0
  102. package/articles/TWEETS_10K_DOWNLOADS.md +47 -0
  103. package/articles/TWEETS_BENCHMARK_FIRST.md +46 -0
  104. package/articles/TWEETS_MCP_PLAY.md +51 -0
  105. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +49 -0
  106. package/articles/TWEETS_WHY_BUILD.md +54 -0
  107. package/articles/TWEETS_routerarena_leader.md +53 -0
  108. package/articles/TWEET_STORM_READY.md +165 -0
  109. package/articles/TWITTER_FINAL.md +167 -0
  110. package/articles/WHY_10X_BETTER.md +261 -0
  111. package/articles/WHY_CHINESE_STYLE_BETTER.md +323 -0
  112. package/articles/ai-discoverability-llm-routing.md +210 -0
  113. package/articles/devto-llm-routing.md +138 -0
  114. package/articles/hackernews-show-hn.md +54 -0
  115. package/articles/hashnode-llm-cost-optimization.md +125 -0
  116. package/articles/hn_show_2026_05.md +11 -0
  117. package/articles/medium-building-llm-router.md +205 -0
  118. package/articles/reddit-ml.md +76 -0
  119. package/articles/twitter-thread-cost-savings.md +50 -0
  120. package/articles/youtube-tutorial-script.md +262 -0
  121. package/assets/a3m_3blue1brown.mp4 +0 -0
  122. package/assets/banner.svg +109 -0
  123. package/assets/chart-cost-v2.svg +91 -0
  124. package/assets/chart-cost-v3.svg +143 -0
  125. package/assets/chart-features-v2.svg +132 -0
  126. package/assets/chart-features-v3.svg +211 -0
  127. package/assets/chart-growth-v2.svg +122 -0
  128. package/assets/chart-growth-v3.svg +189 -0
  129. package/assets/cost-comparison.svg +134 -0
  130. package/assets/cost-simple.svg +64 -0
  131. package/assets/demo-hn.gif +0 -0
  132. package/assets/feature-matrix.svg +136 -0
  133. package/assets/growth-chart-animated.svg +76 -0
  134. package/assets/growth-chart.svg +82 -0
  135. package/assets/growth-simple.svg +69 -0
  136. package/assets/hero-diagram.svg +81 -0
  137. package/assets/logo-new.svg +21 -0
  138. package/assets/logo.svg +68 -0
  139. package/assets/provider-comparison.svg +121 -0
  140. package/assets/social-preview-new.svg +100 -0
  141. package/assets/social-preview.svg +194 -0
  142. package/assets/social-v2.svg +130 -0
  143. package/assets/social-v3.svg +212 -0
  144. package/benchmark-provider-results.json +245 -0
  145. package/benchmark-results.json +54 -0
  146. package/council-votes/architecture-vote.md +121 -0
  147. package/council-votes/coverage-vote.md +93 -0
  148. package/data/adaptive-benchmark.json +92 -0
  149. package/data/benchmark-results.json +47 -0
  150. package/data/labeled-benchmark.json +88 -0
  151. package/demo/3blue1brown_video.py +285 -0
  152. package/demo/3blue1brown_video_v2.py +310 -0
  153. package/demo/IMPROVED_PROMPTS.md +229 -0
  154. package/demo/VEO3_PROMPTS.md +269 -0
  155. package/demo/VIDEO_PRODUCTION_GUIDE.md +333 -0
  156. package/demo/a3m_3blue1brown.mp4 +0 -0
  157. package/demo/asciinema-demo.sh +195 -0
  158. package/demo/demo-hn.tape +74 -0
  159. package/demo/demo-script.md +53 -0
  160. package/demo/demo-script.sh +62 -0
  161. package/demo/demo.svg +75 -0
  162. package/demo/frame1_ai_data_center.png +0 -0
  163. package/demo/frame1_sunset_video.mp4 +0 -0
  164. package/demo/frame2_cost_comparison.png +0 -0
  165. package/demo/frame2_cost_comparison_fallback.png +0 -0
  166. package/demo/frame3_parallel_execution.png +0 -0
  167. package/demo/frame3_parallel_execution_fallback.png +0 -0
  168. package/demo/frame4_providers.png +0 -0
  169. package/demo/frame4_providers_fallback.png +0 -0
  170. package/demo/frame5_endcard.png +0 -0
  171. package/demo/frame5_endcard_fallback.png +0 -0
  172. package/demo/new_frame1_hook.png +0 -0
  173. package/demo/new_frame2_proof.png +0 -0
  174. package/demo/new_frame3_wow.png +0 -0
  175. package/demo/new_frame4_social.png +0 -0
  176. package/demo/new_frame5_cta.png +0 -0
  177. package/demo/package.json +13 -0
  178. package/demo/product-video-final.mp4 +0 -0
  179. package/demo/product-video-hype-v1.mp4 +0 -0
  180. package/demo/product-video-v1.mp4 +0 -0
  181. package/demo/public/index.html +762 -0
  182. package/demo/recording.cast +55 -0
  183. package/demo/server.js +405 -0
  184. package/demo-new.tape +71 -0
  185. package/demo-real.sh +198 -0
  186. package/demo-simple.tape +205 -0
  187. package/demo.html +520 -0
  188. package/demo.sh +85 -0
  189. package/demo.tape +259 -0
  190. package/dist/analytics/costAnalytics.d.ts.map +1 -0
  191. package/dist/analytics/costAnalytics.js.map +1 -0
  192. package/dist/benchmark/comprehensive.js.map +1 -0
  193. package/dist/benchmark/reproducible.d.ts.map +1 -0
  194. package/dist/benchmark/reproducible.js.map +1 -0
  195. package/dist/cache/prefixCache.d.ts.map +1 -0
  196. package/dist/cache/prefixCache.js.map +1 -0
  197. package/dist/cache/responseCache.d.ts.map +1 -0
  198. package/dist/cache/responseCache.js.map +1 -0
  199. package/dist/cache/semanticCache.d.ts.map +1 -0
  200. package/dist/cache/semanticCache.js.map +1 -0
  201. package/dist/cli/setupWizard.d.ts.map +1 -0
  202. package/dist/cli/setupWizard.js.map +1 -0
  203. package/dist/cost/budgetEnforcer.d.ts.map +1 -0
  204. package/dist/cost/budgetEnforcer.js.map +1 -0
  205. package/dist/cost/costTracker.d.ts.map +1 -0
  206. package/dist/cost/costTracker.js.map +1 -0
  207. package/dist/ensemble/multiRoundDialog.js.map +1 -0
  208. package/dist/ensemble/shapleyValue.js.map +1 -0
  209. package/dist/integrations/langchainAdapter.d.ts.map +1 -0
  210. package/dist/integrations/langchainAdapter.js.map +1 -0
  211. package/dist/integrations/oauth.d.ts.map +1 -0
  212. package/dist/integrations/oauth.js.map +1 -0
  213. package/dist/integrations/scienceAdapter.js.map +1 -0
  214. package/dist/memory/autoFetch.d.ts.map +1 -0
  215. package/dist/memory/autoFetch.js.map +1 -0
  216. package/dist/memory/episodicMemory.d.ts.map +1 -0
  217. package/dist/memory/episodicMemory.js.map +1 -0
  218. package/dist/memory/hybridMemory.js.map +1 -0
  219. package/dist/memory/memoryTree.d.ts.map +1 -0
  220. package/dist/memory/memoryTree.js.map +1 -0
  221. package/dist/memory/obsidianVault.d.ts.map +1 -0
  222. package/dist/memory/obsidianVault.js.map +1 -0
  223. package/dist/memory/reasoningBank.js.map +1 -0
  224. package/dist/observability/changeWatch.d.ts.map +1 -0
  225. package/dist/observability/changeWatch.js.map +1 -0
  226. package/dist/observability/fatigueDetector.d.ts.map +1 -0
  227. package/dist/observability/fatigueDetector.js.map +1 -0
  228. package/dist/observability/index.d.ts.map +1 -0
  229. package/dist/observability/index.js.map +1 -0
  230. package/dist/observability/metrics.d.ts.map +1 -0
  231. package/dist/observability/metrics.js.map +1 -0
  232. package/dist/observability/middleware.d.ts.map +1 -0
  233. package/dist/observability/middleware.js.map +1 -0
  234. package/dist/observability/tracer.d.ts.map +1 -0
  235. package/dist/observability/tracer.js.map +1 -0
  236. package/dist/observability/types.d.ts.map +1 -0
  237. package/dist/observability/types.js.map +1 -0
  238. package/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  239. package/dist/orchestration/haloOrchestrator.js.map +1 -0
  240. package/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  241. package/dist/orchestration/mctsWorkflow.js.map +1 -0
  242. package/dist/providers/localProvider.d.ts.map +1 -0
  243. package/dist/providers/localProvider.js.map +1 -0
  244. package/dist/providers/providerConfig.d.ts.map +1 -0
  245. package/dist/providers/providerConfig.js.map +1 -0
  246. package/dist/providers/registry.d.ts.map +1 -0
  247. package/dist/providers/registry.js.map +1 -0
  248. package/dist/routing/advancedRouter.d.ts.map +1 -0
  249. package/dist/routing/advancedRouter.js +1 -1
  250. package/dist/routing/advancedRouter.js.map +1 -0
  251. package/dist/routing/crossModelValidation.d.ts.map +1 -0
  252. package/dist/routing/crossModelValidation.js.map +1 -0
  253. package/dist/routing/providerHealth.d.ts.map +1 -0
  254. package/dist/routing/providerHealth.js.map +1 -0
  255. package/dist/routing/providerRetry.d.ts.map +1 -0
  256. package/dist/routing/providerRetry.js.map +1 -0
  257. package/dist/scripts/banner.js +29 -0
  258. package/dist/security/guardrails.d.ts.map +1 -0
  259. package/dist/security/guardrails.js.map +1 -0
  260. package/dist/server/dashboard.d.ts.map +1 -0
  261. package/dist/server/dashboard.js.map +1 -0
  262. package/dist/server/modelMapper.d.ts.map +1 -0
  263. package/dist/server/modelMapper.js.map +1 -0
  264. package/dist/server/proxyServer.d.ts.map +1 -0
  265. package/dist/server/proxyServer.js.map +1 -0
  266. package/dist/skills/__tests__/skill_manager.test.d.ts +2 -0
  267. package/dist/skills/__tests__/skill_manager.test.d.ts.map +1 -0
  268. package/dist/skills/__tests__/skill_manager.test.js +268 -0
  269. package/dist/skills/__tests__/skill_manager.test.js.map +1 -0
  270. package/dist/tools/tmlpdTools.d.ts.map +1 -0
  271. package/dist/tools/tmlpdTools.js.map +1 -0
  272. package/dist/tui/dashboard.d.ts.map +1 -0
  273. package/dist/tui/dashboard.js.map +1 -0
  274. package/dist/tui/index.d.ts.map +1 -0
  275. package/dist/tui/index.js.map +1 -0
  276. package/dist/utils/batchProcessor.d.ts.map +1 -0
  277. package/dist/utils/batchProcessor.js.map +1 -0
  278. package/dist/utils/compression.d.ts.map +1 -0
  279. package/dist/utils/compression.js.map +1 -0
  280. package/dist/utils/costUtils.d.ts.map +1 -0
  281. package/dist/utils/costUtils.js.map +1 -0
  282. package/dist/utils/reliability.d.ts.map +1 -0
  283. package/dist/utils/reliability.js.map +1 -0
  284. package/dist/utils/sorting.d.ts.map +1 -0
  285. package/dist/utils/sorting.js.map +1 -0
  286. package/dist/utils/speculativeDecoding.d.ts.map +1 -0
  287. package/dist/utils/speculativeDecoding.js.map +1 -0
  288. package/dist/utils/tokenUtils.d.ts.map +1 -0
  289. package/dist/utils/tokenUtils.js.map +1 -0
  290. package/docs/.nojekyll +0 -0
  291. package/docs/ANALYSIS_PRINCIPLES.md +162 -0
  292. package/docs/API.md +855 -0
  293. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +1391 -0
  294. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +1051 -0
  295. package/docs/BENCHMARK.md +170 -0
  296. package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
  297. package/docs/CITATIONS.md +74 -0
  298. package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
  299. package/docs/CONFIGURATION.md +476 -0
  300. package/docs/COUNCIL_DECISION.json +816 -0
  301. package/docs/COUNCIL_SUMMARY.md +319 -0
  302. package/docs/COUNCIL_V2.2_DECISION.md +416 -0
  303. package/docs/ENGINEERING_SPEC.md +55 -0
  304. package/docs/FACTORY_RESET.md +34 -0
  305. package/docs/GEO.md +66 -0
  306. package/docs/GEO_OPTIMIZATION.md +30 -0
  307. package/docs/GEO_ROOT_CAUSE.md +136 -0
  308. package/docs/GEO_STATUS.md +85 -0
  309. package/docs/GEO_TEST_RESULTS.md +176 -0
  310. package/docs/HN_CHECKLIST.md +38 -0
  311. package/docs/HN_FOUNDER_COMMENT.md +17 -0
  312. package/docs/HN_SUBMISSION_FINAL.md +180 -0
  313. package/docs/HN_SUBMISSION_V3.md +56 -0
  314. package/docs/IMPROVEMENT_ROADMAP.md +515 -0
  315. package/docs/INTEGRATIONS.md +420 -0
  316. package/docs/LANGCHAIN_INTEGRATION.md +147 -0
  317. package/docs/LLM_COUNCIL_DECISION.md +508 -0
  318. package/docs/MIDDLEWARE_CHAIN.md +35 -0
  319. package/docs/PROMO_CHECKLIST.md +200 -0
  320. package/docs/QUICKSTART.md +271 -0
  321. package/docs/QUICK_START.md +43 -0
  322. package/docs/QUICK_START_VISIBILITY.md +782 -0
  323. package/docs/REDDIT_GAP_ANALYSIS.md +299 -0
  324. package/docs/RELEASE_CHECKLIST.md +32 -0
  325. package/docs/REPRODUCIBILITY.md +63 -0
  326. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +1180 -0
  327. package/docs/ROUTING_RUBRIC.md +197 -0
  328. package/docs/SEO_AUDIT.md +186 -0
  329. package/docs/SOCIAL_LISTENING.md +219 -0
  330. package/docs/TMLPD_QNA.md +751 -0
  331. package/docs/TMLPD_V2.1_COMPLETE.md +763 -0
  332. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +754 -0
  333. package/docs/UPDATE_TOPICS.md +15 -0
  334. package/docs/USE_CASES.md +59 -0
  335. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +446 -0
  336. package/docs/V2_IMPLEMENTATION_GUIDE.md +388 -0
  337. package/docs/VERCEL_AI_SDK.md +209 -0
  338. package/docs/VISIBILITY_ADOPTION_PLAN.md +1005 -0
  339. package/docs/_config.yml +49 -0
  340. package/docs/ai-plugin.json +16 -0
  341. package/docs/api.html +513 -0
  342. package/docs/architecture-diagram.md +40 -0
  343. package/docs/benchmark-chart.png +0 -0
  344. package/docs/benchmark.html +387 -0
  345. package/docs/blog/routerarena-9677.html +92 -0
  346. package/docs/blog/routerarena-number-one.html +73 -0
  347. package/docs/cli-cheatsheet.md +339 -0
  348. package/docs/compare.md +109 -0
  349. package/docs/comparison-litellm.md +88 -0
  350. package/docs/comparison.md +108 -0
  351. package/docs/cost-chart-ascii.md +42 -0
  352. package/docs/cost-comparison-chart.svg +88 -0
  353. package/docs/curl-examples.md +247 -0
  354. package/docs/demo-auto.html +264 -0
  355. package/docs/demo.html +416 -0
  356. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +232 -0
  357. package/docs/index.html +507 -0
  358. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +421 -0
  359. package/docs/launch-content/README.md +457 -0
  360. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  361. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  362. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  363. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  364. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  365. package/docs/launch-content/generate_charts.py +313 -0
  366. package/docs/launch-content/hn_show_post.md +139 -0
  367. package/docs/launch-content/partner_outreach_templates.md +745 -0
  368. package/docs/launch-content/reddit_posts.md +467 -0
  369. package/docs/launch-content/twitter_thread.txt +460 -0
  370. package/{llms.txt.bak → docs/llms.txt} +6 -6
  371. package/docs/npm-downloads-chart.svg +43 -0
  372. package/docs/openapi.json +139 -0
  373. package/docs/openapi.yaml +1318 -0
  374. package/docs/quick-start.html +366 -0
  375. package/docs/robots.txt +52 -0
  376. package/docs/sitemap.xml +57 -0
  377. package/docs/styles.css +682 -0
  378. package/docs/well-known/ai-plugin.json +16 -0
  379. package/docs/wellknown/ai-plugin.json +16 -0
  380. package/docs-site/assets/og-banner.svg +194 -0
  381. package/docs-site/index.html +632 -0
  382. package/eval/README.md +46 -0
  383. package/eval/baselines/main.json +12 -0
  384. package/eval/benchmark_dataset.jsonl +16 -0
  385. package/eval/check_golden_routes.js +64 -0
  386. package/eval/datasets/catalog.json +33 -0
  387. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  388. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  389. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  390. package/eval/evals.json +199 -0
  391. package/eval/fault_injection_thresholds.json +3 -0
  392. package/eval/generate_report.js +128 -0
  393. package/eval/golden_routes.json +114 -0
  394. package/eval/lib/experiment_registry.js +24 -0
  395. package/eval/run_eval.js +197 -0
  396. package/eval/run_fault_injection.js +201 -0
  397. package/eval/run_shadow_eval.js +85 -0
  398. package/eval/thresholds.json +9 -0
  399. package/examples/QUICKSTART.md +183 -0
  400. package/examples/README.md +61 -0
  401. package/examples/a3m-sdk.js +124 -0
  402. package/examples/basic-route.js +54 -0
  403. package/examples/chat-loop.js +202 -0
  404. package/examples/classify-then-route.js +102 -0
  405. package/examples/cost-compare.js +120 -0
  406. package/examples/ensemble.js +160 -0
  407. package/examples/whatsapp-telegram-bridge-demo.js +302 -0
  408. package/examples/whatsapp-telegram-bridge.js +269 -0
  409. package/hf-space/README.md +23 -0
  410. package/hf-space/app.py +240 -0
  411. package/hf-space/requirements.txt +1 -0
  412. package/huggingface_space/README.md +35 -0
  413. package/huggingface_space/app.py +126 -0
  414. package/huggingface_space/create_space.py +208 -0
  415. package/huggingface_space/requirements.txt +1 -0
  416. package/index.html +1 -1
  417. package/mcp-server/README.md +188 -0
  418. package/mcp-server/package.json +29 -0
  419. package/mcp-server/src/index.ts +744 -0
  420. package/mcp-server/tsconfig.json +19 -0
  421. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +313 -0
  422. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +277 -0
  423. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +1234 -0
  424. package/openclaw-alexa-bridge/test_fixes.js +77 -0
  425. package/package.json +76 -272
  426. package/playground/README.md +51 -0
  427. package/playground/codesandbox.json +12 -0
  428. package/playground/index.js +39 -0
  429. package/proxy/README.md +227 -0
  430. package/proxy/package-lock.json +831 -0
  431. package/proxy/package.json +17 -0
  432. package/proxy/rate-limit.js +145 -0
  433. package/proxy/rate-limit.test.js +311 -0
  434. package/proxy/server.js +970 -0
  435. package/python/README.md +102 -0
  436. package/python/a3m/__init__.py +6 -0
  437. package/python/a3m/client.py +190 -0
  438. package/python/a3m/models.py +40 -0
  439. package/python/a3m/sync_client.py +61 -0
  440. package/python/examples.py +53 -0
  441. package/python/integrations.py +330 -0
  442. package/python/pyproject.toml +23 -0
  443. package/python/setup.py +28 -0
  444. package/python/tmlpd.py +369 -0
  445. package/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  446. package/qna/TMLPD_QNA.md +751 -0
  447. package/research/FINDING_001_safety.md +28 -0
  448. package/research/FINDING_002_error_diversity.md +32 -0
  449. package/research/FINDING_003_confidence_weighted_voting.md +32 -0
  450. package/research/FINDING_004_cross_model_semantic_detection.md +37 -0
  451. package/research/FINDING_005_knowledge_gap_orthogonality.md +34 -0
  452. package/research/HALLUCINATION_RESEARCH.md +27 -0
  453. package/research/ensemble-voting.md +324 -0
  454. package/research/loss-functions.md +545 -0
  455. package/research-log.md +49 -0
  456. package/scripts/banner.js +29 -0
  457. package/scripts/benchmark-local-routerarena.ts +176 -0
  458. package/scripts/benchmark.js +145 -0
  459. package/scripts/benchmark.sh +61 -0
  460. package/scripts/compare-providers.sh +230 -0
  461. package/scripts/content-planner.js +25 -0
  462. package/scripts/create-labeled-benchmark.ts +105 -0
  463. package/scripts/cross_post.py +443 -0
  464. package/scripts/local-router-benchmark.ts +154 -0
  465. package/scripts/post-all.sh +41 -0
  466. package/scripts/publish_fcc.py +106 -0
  467. package/scripts/push-to-gitee.sh +25 -0
  468. package/scripts/routerarena_ensemble.js +144 -0
  469. package/scripts/routing-benchmark-v2.js +373 -0
  470. package/scripts/routing-benchmark-v3.js +118 -0
  471. package/scripts/routing-benchmark.js +462 -0
  472. package/scripts/run-labeled-benchmark.mjs +104 -0
  473. package/scripts/run-mmlu-benchmark.js +176 -0
  474. package/scripts/run-provider-benchmark.js +244 -0
  475. package/scripts/update-npm-badges.js +158 -0
  476. package/skill/SKILL.md +238 -0
  477. package/src/__tests__/integration/tmpld_integration.test.py +540 -0
  478. package/src/ensemble.ts +2 -0
  479. package/src/routing/advancedRouter.ts +1 -1
  480. package/src/skills/__tests__/skill_manager.test.ts +328 -0
  481. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +94 -0
  482. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +121 -0
  483. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +94 -0
  484. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +83 -0
  485. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +225 -0
  486. package/test-council/1-structure-tests.test.js +353 -0
  487. package/test-council/1-structure-tests.test.ts +353 -0
  488. package/test-council/2-edge-case-tests.test.ts +361 -0
  489. package/test-council/3-performance-tests.test.ts +652 -0
  490. package/test-council/4-integration-tests.test.ts +391 -0
  491. package/test-council/5-agent-council-eval.test.ts +413 -0
  492. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +349 -0
  493. package/test-council/TEST_COUNCIL_REPORT.md +201 -0
  494. package/test-council/agents/edge-case-agent.ts +363 -0
  495. package/test-council/agents/performance-agent.ts +426 -0
  496. package/test-council/agents/structure-agent.ts +227 -0
  497. package/test-council/council.md +183 -0
  498. package/tests/__mocks__/tokenUtils.ts +8 -0
  499. package/tests/memory/episodicMemory.test.ts +227 -0
  500. package/tests/package-lock.json +1785 -0
  501. package/tests/package.json +19 -0
  502. package/tests/routing/ensembleVoting.test.ts +236 -0
  503. package/tests/routing/providerRetry.test.ts +360 -0
  504. package/tests/routing/queryTypePresets.test.ts +208 -0
  505. package/tests/security/guardrailEngine.test.ts +700 -0
  506. package/tests/tsconfig.json +21 -0
  507. package/tests/vitest.config.ts +18 -0
  508. package/tmlpd-pi-extension/README.md +66 -0
  509. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +114 -0
  510. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +1 -0
  511. package/tmlpd-pi-extension/dist/cache/prefixCache.js +285 -0
  512. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +1 -0
  513. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +58 -0
  514. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +1 -0
  515. package/tmlpd-pi-extension/dist/cache/responseCache.js +153 -0
  516. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +1 -0
  517. package/tmlpd-pi-extension/dist/cli.js +59 -0
  518. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +95 -0
  519. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +1 -0
  520. package/tmlpd-pi-extension/dist/cost/costTracker.js +240 -0
  521. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +1 -0
  522. package/tmlpd-pi-extension/dist/index.d.ts +723 -0
  523. package/tmlpd-pi-extension/dist/index.d.ts.map +1 -0
  524. package/tmlpd-pi-extension/dist/index.js +239 -0
  525. package/tmlpd-pi-extension/dist/index.js.map +1 -0
  526. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +82 -0
  527. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +1 -0
  528. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +145 -0
  529. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +1 -0
  530. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +102 -0
  531. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  532. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +207 -0
  533. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +1 -0
  534. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +85 -0
  535. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  536. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +210 -0
  537. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +1 -0
  538. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +102 -0
  539. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +1 -0
  540. package/tmlpd-pi-extension/dist/providers/localProvider.js +338 -0
  541. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +1 -0
  542. package/tmlpd-pi-extension/dist/providers/registry.d.ts +55 -0
  543. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +1 -0
  544. package/tmlpd-pi-extension/dist/providers/registry.js +138 -0
  545. package/tmlpd-pi-extension/dist/providers/registry.js.map +1 -0
  546. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +68 -0
  547. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +1 -0
  548. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +332 -0
  549. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +1 -0
  550. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +101 -0
  551. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +1 -0
  552. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +368 -0
  553. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +1 -0
  554. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +96 -0
  555. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +1 -0
  556. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +170 -0
  557. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +1 -0
  558. package/tmlpd-pi-extension/dist/utils/compression.d.ts +61 -0
  559. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +1 -0
  560. package/tmlpd-pi-extension/dist/utils/compression.js +281 -0
  561. package/tmlpd-pi-extension/dist/utils/compression.js.map +1 -0
  562. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +74 -0
  563. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +1 -0
  564. package/tmlpd-pi-extension/dist/utils/reliability.js +177 -0
  565. package/tmlpd-pi-extension/dist/utils/reliability.js.map +1 -0
  566. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +117 -0
  567. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +1 -0
  568. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +246 -0
  569. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +1 -0
  570. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +50 -0
  571. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +1 -0
  572. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +124 -0
  573. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +1 -0
  574. package/tmlpd-pi-extension/examples/QUICKSTART.md +183 -0
  575. package/tmlpd-pi-extension/package-lock.json +79 -0
  576. package/tmlpd-pi-extension/package.json +172 -0
  577. package/tmlpd-pi-extension/python/examples.py +53 -0
  578. package/tmlpd-pi-extension/python/integrations.py +330 -0
  579. package/tmlpd-pi-extension/python/setup.py +28 -0
  580. package/tmlpd-pi-extension/python/tmlpd.py +369 -0
  581. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  582. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +751 -0
  583. package/tmlpd-pi-extension/skill/SKILL.md +238 -0
  584. package/tmlpd-pi-extension/src/cache/responseCache.ts +147 -0
  585. package/tmlpd-pi-extension/src/cost/costTracker.ts +302 -0
  586. package/tmlpd-pi-extension/src/index.ts +232 -0
  587. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +257 -0
  588. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +266 -0
  589. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +262 -0
  590. package/tmlpd-pi-extension/src/providers/localProvider.ts +406 -0
  591. package/tmlpd-pi-extension/src/providers/registry.ts +164 -0
  592. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +159 -0
  593. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +136 -0
  594. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +433 -0
  595. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +232 -0
  596. package/tmlpd-pi-extension/src/utils/compression.ts +325 -0
  597. package/tmlpd-pi-extension/src/utils/reliability.ts +221 -0
  598. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +145 -0
  599. package/tmlpd-pi-extension/tsconfig.json +18 -0
  600. package/tsconfig.build.json +29 -0
  601. package/tsconfig.json +18 -0
  602. package/README.md.bak +0 -1185
  603. package/src/routing/advancedRouter.ts.bak +0 -650
  604. package/test.js.bak +0 -376
  605. /package/{llms-full.txt.bak → docs/llms-full.txt} +0 -0
@@ -0,0 +1,200 @@
1
+ # A3M Router — 40 Free Promotion Channels
2
+
3
+ Ranked by Domain Rating (DR). One action per day = launched in 40 days.
4
+
5
+ ## Tier 1: Must-Do (DR 85+) [5 sites]
6
+
7
+ ### 1. Product Hunt (DR 91)
8
+ - **Submit:** https://www.producthunt.com/posts/new
9
+ - **Hook:** "Same answer as GPT-5. 200× cheaper. Open source."
10
+ - **Best time:** Tue-Thu, 12:01am PT
11
+ - **Tips:** Post maker comment within 1hr. Reply to every comment. Have 5 friends ready to upvote.
12
+ - **❌** Don't beg for upvotes. Don't launch Friday-Sunday.
13
+
14
+ ### 2. Hacker News (DR 91)
15
+ - **Submit:** https://news.ycombinator.com/submit
16
+ - **Hook:** "Show HN: A3M Router – Open-source LLM router, #1 on RouterArena"
17
+ - **Best time:** Tue-Thu, 8:30-10am ET
18
+ - **Tips:** Title must be factual. Be in comments within 30min. Pre-write your first comment explaining the project.
19
+ - **❌** No marketing speak, no $ figures in title, no cherry-picked numbers.
20
+
21
+ ### 3. Buy Me a Coffee (DR 91)
22
+ - **Create:** https://buymeacoffee.com
23
+ - **Hook:** "Support open-source AI routing infrastructure"
24
+ - **Tips:** Link from GitHub repo README. Offer "Sponsor" badge for backers.
25
+
26
+ ### 4. Crunchbase (DR 90)
27
+ - **Submit:** https://www.crunchbase.com/#/home/index
28
+ - **Hook:** Create company profile for the project
29
+ - **Tips:** Add GitHub link, description, and team. Good for SEO backlinks.
30
+
31
+ ### 5. GitHub Trending
32
+ - **Optimize:** Add relevant topics: `llm`, `router`, `ai-gateway`, `open-source`, `model-routing`
33
+ - **Hook:** Good README + active commits = trending chance
34
+ - **Tips:** Star history matters. Consistent commits = algorithmic boost.
35
+
36
+ ## Tier 2: High Impact (DR 70-84) [10 sites]
37
+
38
+ ### 6. DevTo (DR 85)
39
+ - **Submit:** https://dev.to/new
40
+ - **Hook:** "I built an open-source LLM router that saved me $800/month"
41
+ - **Tags:** `#opensource` `#ai` `#llm` `#nodejs` `#javascript`
42
+ - **❌** No direct product pitches. Share the story, mention the tool.
43
+
44
+ ### 7. Reddit — r/programming (DR 84)
45
+ - **Submit:** https://www.reddit.com/r/programming/submit
46
+ - **Hook:** "Show HN-style with technical details"
47
+ - **❌** No self-promo. Frame as "I built this, here's how it works technically."
48
+
49
+ ### 8. Reddit — r/MachineLearning (DR 84)
50
+ - **Hook:** Focus on routing algorithms, not the tool
51
+ - **Tips:** Share benchmark methodology. Reference RouterArena.
52
+
53
+ ### 9. Reddit — r/commandline (DR 84)
54
+ - **Hook:** "CLI tool to route queries across 47 LLM providers"
55
+ - **Tips:** Show asciinema demo gif.
56
+
57
+ ### 10. Reddit — r/node (DR 84)
58
+ - **Hook:** "npm package for intelligent LLM routing — A3M Router"
59
+ - **Tips:** Show the npm install + code example.
60
+
61
+ ### 11. Reddit — r/opensource (DR 84)
62
+ - **Hook:** "MIT-licensed open-source LLM router"
63
+ - **Tips:** Emphasize transparency, no vendor lock-in.
64
+
65
+ ### 12. LinkedIn (DR 86)
66
+ - **Post:** Write article about the $800/month → $5 story
67
+ - **Tips:** Tag people in the routing space. Use the benchmark chart.
68
+
69
+ ### 13. Twitter/X (DR 86)
70
+ - **Thread:** Cost comparison + benchmark + code example
71
+ - **Best time:** 8-10am ET
72
+ - **Tips:** Include a screenshot of the CLI in action.
73
+
74
+ ### 14. StackShare (DR 80)
75
+ - **Submit:** https://stackshare.io/add-tool
76
+ - **Hook:** "Intelligent LLM routing for your stack"
77
+ - **Tips:** Compare with LiteLLM, Portkey, OpenRouter.
78
+
79
+ ### 15. AlternativeTo (DR 79)
80
+ - **Submit:** https://alternativeto.net/software/new/
81
+ - **Hook:** Alternative to LiteLLM, Portkey, OpenRouter
82
+ - **Tips:** List accurate features and pricing (free/open source).
83
+
84
+ ## Tier 3: Niche Communities (DR 50-69) [15 sites]
85
+
86
+ ### 16. Lobsters (DR 55)
87
+ - **Submit:** https://lobste.rs
88
+ - **Hook:** Technical discussion about routing algorithms
89
+ - **❌** Tech-heavy crowd. Focus on engineering, not marketing.
90
+
91
+ ### 17. Terminal Trove (DR ~65)
92
+ - **Submit:** https://terminaltrove.com
93
+ - **Hook:** CLI tool directory
94
+
95
+ ### 18. Awesome LLM Routing (GitHub)
96
+ - **Submit:** PR to add A3M Router
97
+ - **Search:** `awesome-llm` `awesome-ai` `awesome-router`
98
+
99
+ ### 19. Show HN on Lobsters
100
+ - **Submit:** https://lobste.rs/stories/new
101
+ - **Hook:** Same as HN but more technical audience
102
+
103
+ ### 20. BetaList (DR 58)
104
+ - **Submit:** https://betalist.com/submit
105
+ - **Hook:** "AI-powered LLM router — same answers, 200× cheaper"
106
+
107
+ ### 21. BetaPage (DR 52)
108
+ - **Submit:** https://betapage.co/submit-startup
109
+
110
+ ### 22. LaunchingNext (DR 60)
111
+ - **Submit:** https://launchingnext.com/submit
112
+
113
+ ### 23. SaaSHub (DR 69)
114
+ - **Submit:** https://www.saashub.com/submit
115
+ - **Hook:** Alternative to expensive LLM gateways
116
+
117
+ ### 24. FutureTools (DR 62)
118
+ - **Submit:** https://futuretools.io/submit
119
+
120
+ ### 25. There's An AI For That (DR 66)
121
+ - **Submit:** https://theresanaiforthat.com/submit/
122
+
123
+ ### 26. AI Directory
124
+ - **Search and submit** to top AI directories
125
+
126
+ ### 27. npm — Optimize listing
127
+ - **Keywords:** `llm-router`, `ai-gateway`, `model-routing`, `openai-alternative`
128
+ - **Description:** "Intelligent LLM routing across 47 providers. Same answers, 200× cheaper."
129
+ - **Tips:** Good README = higher npm install conversion
130
+
131
+ ### 28. GitHub Topics
132
+ - Add ALL relevant topics: `llm`, `router`, `ai`, `gateway`, `open-source`, `nodejs`, `routing`, `llm-routing`, `model-router`
133
+
134
+ ### 29. LibHunt (DR 68)
135
+ - **Submit:** https://www.libhunt.com
136
+ - **Tips:** Compare with similar libraries
137
+
138
+ ### 30. Openbase (DR 65)
139
+ - **Submit:** https://openbase.com
140
+
141
+ ## Tier 4: Long Tail (DR < 50) [10 sites]
142
+
143
+ ### 31. Makerlog (DR 45)
144
+ - **Submit:** https://getmakerlog.com
145
+
146
+ ### 32. WIP.chat (DR 40)
147
+ - **Submit:** https://wip.chat
148
+
149
+ ### 33. Failory (DR 48)
150
+ - **Submit:** https://failory.com/submit
151
+ - **Hook:** "What I learned building an open-source LLM router"
152
+
153
+ ### 34. StarterStory (DR 49)
154
+ - **Submit:** https://starterstory.com
155
+ - **Hook:** "From $800/month API bill to $5 — the A3M story"
156
+
157
+ ### 35. IndieHackers (DR 56)
158
+ - **Post:** Write a maker story
159
+ - **Hook:** "$800/month → $5 by routing smart. Here's how."
160
+
161
+ ### 36. SideProjectors (DR 35)
162
+ - **Submit:** https://sideprojectors.com
163
+
164
+ ### 37. Geekflare (DR 54)
165
+ - **Submit:** https://geekflare.com/tools/
166
+
167
+ ### 38. YourStory (DR 44)
168
+ - **Submit:** https://yourstory.com/submit
169
+
170
+ ### 39. TechCrunch Tip Line
171
+ - **Submit:** tips@techcrunch.com
172
+ - **Hook:** "Open source project beats GPT-4 at 0.5% of the cost"
173
+
174
+ ### 40. HackerNoon (DR 53)
175
+ - **Write:** Article as guest writer
176
+ - **Hook:** "I built an open-source LLM router. Here's why you need one."
177
+
178
+ ---
179
+
180
+ ## Automation
181
+
182
+ For daily monitoring, set up:
183
+ ```
184
+ # Google Alerts
185
+ "LLM routing" "model router" "AI gateway alternative" "LiteLLM alternative"
186
+
187
+ # F5bot — HN keyword monitoring (free tier)
188
+ https://f5bot.com
189
+
190
+ # ReplyGuy — automated reply system
191
+ https://replyguy.com
192
+ ```
193
+
194
+ ## Tracking
195
+
196
+ | # | Site | Submitted | Date | Result |
197
+ |---|------|-----------|------|--------|
198
+ | 1 | Product Hunt | | | |
199
+ | 2 | Hacker News | | | |
200
+ | ... | ... | ... | ... | ... |
@@ -0,0 +1,271 @@
1
+ # A3M Router - Quick Start Guide
2
+
3
+ ## 5-Minute Setup
4
+
5
+ ### Step 1: Install
6
+
7
+ ```bash
8
+ npm install adaptive-memory-multi-model-router
9
+ ```
10
+
11
+ ### Step 2: Basic Usage
12
+
13
+ ```javascript
14
+ import { createA3MRouter } from 'adaptive-memory-multi-model-router';
15
+
16
+ const router = createA3MRouter({
17
+ memory: true,
18
+ costBudget: 0.05
19
+ });
20
+
21
+ // Route a request
22
+ const result = await router.route({
23
+ prompt: 'Explain quantum entanglement'
24
+ });
25
+
26
+ console.log(result.output);
27
+ console.log('Provider:', result.provider);
28
+ console.log('Cost:', result.cost);
29
+ ```
30
+
31
+ ### Step 3: Add Integrations
32
+
33
+ ```javascript
34
+ import { createIntegration } from 'adaptive-memory-multi-model-router/integrations';
35
+
36
+ // GitHub
37
+ const github = createIntegration('github', { apiKey: process.env.GITHUB_TOKEN });
38
+ await github.createIssue('owner', 'repo', 'Bug', 'Fix this');
39
+
40
+ // Slack
41
+ const slack = createIntegration('slack', { webhookUrl: process.env.SLACK_WEBHOOK });
42
+ await slack.sendMessage('#team', 'Build complete!');
43
+ ```
44
+
45
+ ---
46
+
47
+ ## Examples
48
+
49
+ ### Example 1: Smart Routing with Memory
50
+
51
+ ```javascript
52
+ import { createA3MRouter } from 'adaptive-memory-multi-model-router';
53
+
54
+ const router = createA3MRouter({
55
+ memory: true, // Enable memory tree
56
+ costBudget: 0.05, // Max $0.05 per request
57
+ providers: ['openai', 'groq', 'anthropic', 'cerebras']
58
+ });
59
+
60
+ async function handleUserQuery(query) {
61
+ // Route with context from memory
62
+ const result = await router.route({
63
+ prompt: query,
64
+ context: {
65
+ type: detectIntent(query),
66
+ history: memory.getContext(2000)
67
+ }
68
+ });
69
+
70
+ // Learn from this interaction
71
+ memory.add({ query, response: result.output, provider: result.provider });
72
+
73
+ return result;
74
+ }
75
+ ```
76
+
77
+ ### Example 2: Batch Processing
78
+
79
+ ```javascript
80
+ import { batchProcess } from 'adaptive-memory-multi-model-router';
81
+
82
+ const tasks = [
83
+ 'Analyze this data',
84
+ 'Write unit tests',
85
+ 'Document API',
86
+ 'Review PR',
87
+ 'Write release notes'
88
+ ];
89
+
90
+ const results = await batchProcess(tasks, {
91
+ maxParallel: 3,
92
+ provider: 'openai'
93
+ });
94
+
95
+ results.forEach((result, i) => {
96
+ console.log(`Task ${i+1}: ${result.output.slice(0, 50)}...`);
97
+ });
98
+ ```
99
+
100
+ ### Example 3: Cost-Optimized Routing
101
+
102
+ ```javascript
103
+ import { createA3MRouter } from 'adaptive-memory-multi-model-router';
104
+
105
+ const router = createA3MRouter({
106
+ costBudget: 0.02, // Very low budget
107
+ providers: ['groq', 'cerebras'] // Fast + free tier
108
+ });
109
+
110
+ // Simple queries go to fast free providers
111
+ // Complex queries route to best available
112
+
113
+ const queries = [
114
+ 'What is 2+2?', // → Groq (fast, free)
115
+ 'Explain black holes', // → Cerebras (free tier)
116
+ 'Debug my 10k line program' // → Cerebras (best available)
117
+ ];
118
+
119
+ for (const query of queries) {
120
+ const result = await router.route({ prompt: query });
121
+ console.log(`${query.slice(0, 30)}... → ${result.provider} ($${result.cost.toFixed(4)})`);
122
+ }
123
+ ```
124
+
125
+ ### Example 4: Auto-Fetch for Context
126
+
127
+ ```javascript
128
+ import { AutoFetch } from 'adaptive-memory-multi-model-router/autofetch';
129
+ import { MemoryTree } from 'adaptive-memory-multi-model-router/memory';
130
+
131
+ const fetcher = new AutoFetch({
132
+ intervalMs: 20 * 60 * 1000, // 20 minutes
133
+ targets: ['github', 'notion', 'slack']
134
+ });
135
+
136
+ const memory = new MemoryTree();
137
+
138
+ fetcher.start();
139
+
140
+ // On each sync, memory automatically updated
141
+ fetcher.on('sync', (target, data) => {
142
+ memory.add(data);
143
+ console.log(`${target} synced, memory now has ${memory.getStats().totalChunks} chunks`);
144
+ });
145
+
146
+ // Now routing has fresh context
147
+ const result = await router.route({
148
+ prompt: userQuery,
149
+ context: { context: memory.getContext(3000) }
150
+ });
151
+ ```
152
+
153
+ ### Example 5: Compression for Large Contexts
154
+
155
+ ```javascript
156
+ import { EnhancedCompression } from 'adaptive-memory-multi-model-router/compression';
157
+
158
+ const compressor = new EnhancedCompression();
159
+
160
+ // Compress HTML content
161
+ const htmlContent = `
162
+ <html><body>
163
+ <h1>Document Title</h1>
164
+ <p>This is a very long paragraph with a very long URL:
165
+ https://example.com/very/very/very/very/very/long/path/that/should/be/shortened</p>
166
+ </body></html>
167
+ `;
168
+
169
+ const compressed = compressor.compress(htmlContent);
170
+ // Output: '# Document Title\n\nThis is a very long paragraph with a URL: example.com/...'
171
+
172
+ console.log('Reduced from', htmlContent.length, 'to', compressed.length, 'chars');
173
+ ```
174
+
175
+ ### Example 6: Obsidian Vault for Audit Trail
176
+
177
+ ```javascript
178
+ import { ObsidianVault } from 'adaptive-memory-multi-model-router/vault';
179
+ import { createA3MRouter } from 'adaptive-memory-multi-model-router';
180
+
181
+ const vault = new ObsidianVault({ path: './my-vault' });
182
+ const router = createA3MRouter();
183
+
184
+ router.on('route', async (request, result) => {
185
+ // Save every routing decision
186
+ await vault.saveDecision({
187
+ id: generateId(),
188
+ timestamp: Date.now(),
189
+ prompt: request.prompt,
190
+ selectedProvider: result.provider,
191
+ selectedModel: result.model,
192
+ reasoning: result.reasoning,
193
+ cost: result.cost,
194
+ latency: result.latency
195
+ });
196
+ });
197
+
198
+ // Later, review routing decisions in Obsidian
199
+ const recent = vault.getRecentDecisions(50);
200
+ // Open ./my-vault/routing-index.md in Obsidian to browse
201
+ ```
202
+
203
+ ---
204
+
205
+ ## CLI Quick Reference
206
+
207
+ ```bash
208
+ # Route a query
209
+ a3m-router route "Explain quantum computing"
210
+
211
+ # Parallel execution
212
+ a3m-router parallel "task1" "task2" "task3"
213
+
214
+ # Compare models
215
+ a3m-router compare "Write a haiku"
216
+
217
+ # Cost summary
218
+ a3m-router cost
219
+
220
+ # Token counting
221
+ a3m-router count "Your text here"
222
+
223
+ # Compress text
224
+ a3m-router compress "<html>content</html>"
225
+
226
+ # Local Ollama
227
+ a3m-router local "Write Python hello world"
228
+ ```
229
+
230
+ ---
231
+
232
+ ## Environment Variables
233
+
234
+ ```bash
235
+ # LLM Providers
236
+ OPENAI_API_KEY=sk-...
237
+ ANTHROPIC_API_KEY=sk-ant-...
238
+ GROQ_API_KEY=gsk_...
239
+ CEREBRAS_API_KEY=...
240
+
241
+ # Integrations
242
+ GITHUB_TOKEN=ghp_...
243
+ SLACK_WEBHOOK=https://hooks.slack.com/...
244
+ PINECONE_API_KEY=...
245
+ STRIPE_API_KEY=sk_...
246
+
247
+ # Optional
248
+ LOG_LEVEL=info
249
+ CACHE_TTL=3600
250
+ ```
251
+
252
+ ---
253
+
254
+ ## Next Steps
255
+
256
+ 1. **Read the full [API Documentation](API.md)**
257
+ 2. **Explore [116 Integrations](INTEGRATIONS.md)**
258
+ 3. **Deploy to production** with proper monitoring
259
+ 4. **Join the community** for support
260
+
261
+ ---
262
+
263
+ ## Performance Tips
264
+
265
+ | Tip | Impact |
266
+ |-----|--------|
267
+ | Use memory tree | 10x faster routing |
268
+ | Enable compression | 2-5x less tokens |
269
+ | Use batch processing | 3x throughput |
270
+ | Configure cost budgets | 40% cost savings |
271
+ | Use provider caching | 5x fewer API calls |
@@ -0,0 +1,43 @@
1
+ # Quick Start 🚀
2
+
3
+ ## 1 Minute Setup
4
+
5
+ ```bash
6
+ npm install adaptive-memory-multi-model-router
7
+ npx a3m-router serve
8
+ ```
9
+
10
+ ```bash
11
+ curl http://localhost:8787/v1/chat/completions \
12
+ -H "Content-Type: application/json" \
13
+ -d '{"model":"auto","messages":[{"role":"user","content":"Hello"}]}'
14
+ ```
15
+
16
+ ## Drop-in OpenAI Replacement
17
+
18
+ ```typescript
19
+ import OpenAI from 'openai';
20
+
21
+ const client = new OpenAI({
22
+ baseURL: 'http://localhost:8787/v1',
23
+ apiKey: 'not-needed',
24
+ });
25
+
26
+ // All your existing OpenAI code works — A3M routes to cheapest provider
27
+ const response = await client.chat.completions.create({
28
+ model: 'auto',
29
+ messages: [{ role: 'user', content: 'Hello' }],
30
+ });
31
+ ```
32
+
33
+ ## Why A3M Router?
34
+
35
+ | Feature | A3M Router |
36
+ |---------|-----------|
37
+ | Routing Accuracy | 70.32 |
38
+ | Cost Savings | 62% vs all-premium |
39
+ | Providers | 47+ |
40
+ | Semantic Cache | ✅ 30%+ hit rate |
41
+ | Budget Enforcement | ✅ Hard caps |
42
+ | Failover | ✅ 3-failure trigger |
43
+ | Self-Hosted | ✅ MIT license |