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

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 (603) 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/auto-publish.yml +51 -0
  12. package/.github/workflows/ci.yml +263 -0
  13. package/.github/workflows/codeql.yml +38 -0
  14. package/.github/workflows/npm-publish.yml +20 -0
  15. package/.github/workflows/pages.yml +37 -0
  16. package/.github/workflows/stale.yml +54 -0
  17. package/.publish-tick +1 -0
  18. package/.well-known/ai-plugin.json +16 -0
  19. package/AGENT_COUNCIL_FINDINGS.md +142 -0
  20. package/ARCHITECTURE.md +346 -0
  21. package/AUDIT_REPORT.md +28 -0
  22. package/CODE_OF_CONDUCT.md +128 -0
  23. package/CONTRIBUTING.md +50 -0
  24. package/CONTRIBUTORS.md +20 -0
  25. package/Dockerfile +53 -0
  26. package/Dockerfile.proxy +33 -0
  27. package/HEALTH_REPORT.md +118 -0
  28. package/IMPROVEMENT_PLAN.md +107 -0
  29. package/LANDING.md +43 -0
  30. package/LAUNCH-PAIN-DRIVEN.md +339 -0
  31. package/LAUNCH.md +337 -0
  32. package/LAUNCH_CHECKLIST.md +141 -0
  33. package/LAUNCH_SNAPSHOT.md +260 -0
  34. package/MANIFESTO.md +41 -0
  35. package/POPULARITY_BOOSTERS.md +285 -0
  36. package/PR_STATUS_REPORT.md +148 -0
  37. package/README.md +10 -0
  38. package/REDESIGN.md +95 -0
  39. package/RUNKIT.md +83 -0
  40. package/SECURITY.md +29 -0
  41. package/SUBMISSIONS.md +43 -0
  42. package/_schema.html +53 -0
  43. package/ai-plugin.json +16 -0
  44. package/articles/AI_AGENT_LLM_ROUTING.md +150 -0
  45. package/articles/CHINESE_DIRECTORIES.md +100 -0
  46. package/articles/CHINESE_SUBMISSIONS_READY.md +322 -0
  47. package/articles/COMPETITOR_ALERTS.md +31 -0
  48. package/articles/COMPLETE_POSTING_DIRECTORY.md +147 -0
  49. package/articles/CONTENT_STRUCTURE.md +292 -0
  50. package/articles/DEVTO_COST_GUIDE.md +473 -0
  51. package/articles/DEVTO_FINAL.md +416 -0
  52. package/articles/DEVTO_MULTI_PROVIDER.md +542 -0
  53. package/articles/DEVTO_READY.md +255 -0
  54. package/articles/DEVTO_V2_ANNOUNCEMENT.md +160 -0
  55. package/articles/DEVTO_VIRAL_GROWTH.md +280 -0
  56. package/articles/FRESH_devto.md +460 -0
  57. package/articles/FRESH_devto_2026_05.md +73 -0
  58. package/articles/FRESH_hackernews.md +14 -0
  59. package/articles/FRESH_reddit_ml.md +90 -0
  60. package/articles/FRESH_reddit_node.md +198 -0
  61. package/articles/FRESH_reddit_sideproject.md +72 -0
  62. package/articles/FRESH_reddit_webdev.md +130 -0
  63. package/articles/FROM_ZERO_TO_10K.md +107 -0
  64. package/articles/HN_10X_BETTER.md +430 -0
  65. package/articles/HN_ACCOUNT_GUIDE.md +21 -0
  66. package/articles/HN_CHINESE_STYLE.md +308 -0
  67. package/articles/HN_FINAL.md +148 -0
  68. package/articles/HN_POSTED_VERSION.md +56 -0
  69. package/articles/HN_POST_READY.md +137 -0
  70. package/articles/HN_RESEARCH.md +364 -0
  71. package/articles/HN_SHOW_routerarena.md +17 -0
  72. package/articles/HN_TIMING_GUIDE.md +52 -0
  73. package/articles/INDIEHACKERS_POST.md +52 -0
  74. package/articles/INDIEHACKERS_READY.md +120 -0
  75. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +153 -0
  76. package/articles/MASTER_POSTING_DIRECTORY.md +189 -0
  77. package/articles/NEWSLETTER_SEND_NOW.md +259 -0
  78. package/articles/NEWSLETTER_SUBMISSIONS.md +112 -0
  79. package/articles/PAIN-DRIVEN-devto-v2.md +308 -0
  80. package/articles/PAIN-DRIVEN-devto-v3.md +268 -0
  81. package/articles/PAIN-DRIVEN-devto.md +242 -0
  82. package/articles/PAIN-DRIVEN-hackernews-v2.md +138 -0
  83. package/articles/PAIN-DRIVEN-hackernews-v3.md +151 -0
  84. package/articles/PAIN-DRIVEN-hackernews.md +131 -0
  85. package/articles/PAIN-DRIVEN-reddit-v2.md +301 -0
  86. package/articles/PAIN-DRIVEN-reddit-v3.md +236 -0
  87. package/articles/PAIN-DRIVEN-reddit.md +218 -0
  88. package/articles/PAIN-DRIVEN-twitter-v2.md +110 -0
  89. package/articles/PAIN-DRIVEN-twitter-v3.md +121 -0
  90. package/articles/PAIN-DRIVEN-twitter.md +120 -0
  91. package/articles/PORTKEY_VS_A3M.md +147 -0
  92. package/articles/POSTING_KIT_2026_05.md +67 -0
  93. package/articles/PRESS_KIT_routerarena.md +77 -0
  94. package/articles/PRODUCTHUNT_LISTING.md +48 -0
  95. package/articles/PRODUCTHUNT_READY.md +106 -0
  96. package/articles/PR_PLAN_vault.md +125 -0
  97. package/articles/REDDIT_FINAL.md +232 -0
  98. package/articles/REDDIT_POST.md +67 -0
  99. package/articles/REDDIT_SUBMISSION_READY.md +348 -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-number-one.html +73 -0
  346. package/docs/cli-cheatsheet.md +339 -0
  347. package/docs/compare.md +109 -0
  348. package/docs/comparison-litellm.md +88 -0
  349. package/docs/comparison.md +108 -0
  350. package/docs/cost-chart-ascii.md +42 -0
  351. package/docs/cost-comparison-chart.svg +88 -0
  352. package/docs/curl-examples.md +247 -0
  353. package/docs/demo-auto.html +264 -0
  354. package/docs/demo.html +416 -0
  355. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +232 -0
  356. package/docs/index.html +507 -0
  357. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +421 -0
  358. package/docs/launch-content/README.md +457 -0
  359. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  360. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  361. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  362. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  363. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  364. package/docs/launch-content/generate_charts.py +313 -0
  365. package/docs/launch-content/hn_show_post.md +139 -0
  366. package/docs/launch-content/partner_outreach_templates.md +745 -0
  367. package/docs/launch-content/reddit_posts.md +467 -0
  368. package/docs/launch-content/twitter_thread.txt +460 -0
  369. package/{llms.txt.bak → docs/llms.txt} +6 -6
  370. package/docs/npm-downloads-chart.svg +43 -0
  371. package/docs/openapi.json +139 -0
  372. package/docs/openapi.yaml +1318 -0
  373. package/docs/quick-start.html +366 -0
  374. package/docs/robots.txt +52 -0
  375. package/docs/sitemap.xml +57 -0
  376. package/docs/styles.css +682 -0
  377. package/docs/well-known/ai-plugin.json +16 -0
  378. package/docs/wellknown/ai-plugin.json +16 -0
  379. package/docs-site/assets/og-banner.svg +194 -0
  380. package/docs-site/index.html +632 -0
  381. package/eval/README.md +46 -0
  382. package/eval/baselines/main.json +12 -0
  383. package/eval/benchmark_dataset.jsonl +16 -0
  384. package/eval/check_golden_routes.js +64 -0
  385. package/eval/datasets/catalog.json +33 -0
  386. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  387. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  388. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  389. package/eval/evals.json +199 -0
  390. package/eval/fault_injection_thresholds.json +3 -0
  391. package/eval/generate_report.js +128 -0
  392. package/eval/golden_routes.json +114 -0
  393. package/eval/lib/experiment_registry.js +24 -0
  394. package/eval/run_eval.js +197 -0
  395. package/eval/run_fault_injection.js +201 -0
  396. package/eval/run_shadow_eval.js +85 -0
  397. package/eval/thresholds.json +9 -0
  398. package/examples/QUICKSTART.md +183 -0
  399. package/examples/README.md +61 -0
  400. package/examples/a3m-sdk.js +124 -0
  401. package/examples/basic-route.js +54 -0
  402. package/examples/chat-loop.js +202 -0
  403. package/examples/classify-then-route.js +102 -0
  404. package/examples/cost-compare.js +120 -0
  405. package/examples/ensemble.js +160 -0
  406. package/examples/whatsapp-telegram-bridge-demo.js +302 -0
  407. package/examples/whatsapp-telegram-bridge.js +269 -0
  408. package/hf-space/README.md +23 -0
  409. package/hf-space/app.py +240 -0
  410. package/hf-space/requirements.txt +1 -0
  411. package/huggingface_space/README.md +35 -0
  412. package/huggingface_space/app.py +126 -0
  413. package/huggingface_space/create_space.py +208 -0
  414. package/huggingface_space/requirements.txt +1 -0
  415. package/mcp-server/README.md +188 -0
  416. package/mcp-server/package.json +29 -0
  417. package/mcp-server/src/index.ts +744 -0
  418. package/mcp-server/tsconfig.json +19 -0
  419. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +313 -0
  420. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +277 -0
  421. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +1234 -0
  422. package/openclaw-alexa-bridge/test_fixes.js +77 -0
  423. package/package.json +73 -270
  424. package/playground/README.md +51 -0
  425. package/playground/codesandbox.json +12 -0
  426. package/playground/index.js +39 -0
  427. package/proxy/README.md +227 -0
  428. package/proxy/package-lock.json +831 -0
  429. package/proxy/package.json +17 -0
  430. package/proxy/rate-limit.js +145 -0
  431. package/proxy/rate-limit.test.js +311 -0
  432. package/proxy/server.js +970 -0
  433. package/python/README.md +102 -0
  434. package/python/a3m/__init__.py +6 -0
  435. package/python/a3m/client.py +190 -0
  436. package/python/a3m/models.py +40 -0
  437. package/python/a3m/sync_client.py +61 -0
  438. package/python/examples.py +53 -0
  439. package/python/integrations.py +330 -0
  440. package/python/pyproject.toml +23 -0
  441. package/python/setup.py +28 -0
  442. package/python/tmlpd.py +369 -0
  443. package/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  444. package/qna/TMLPD_QNA.md +751 -0
  445. package/research/FINDING_001_safety.md +28 -0
  446. package/research/FINDING_002_error_diversity.md +32 -0
  447. package/research/FINDING_003_confidence_weighted_voting.md +32 -0
  448. package/research/FINDING_004_cross_model_semantic_detection.md +37 -0
  449. package/research/FINDING_005_knowledge_gap_orthogonality.md +34 -0
  450. package/research/HALLUCINATION_RESEARCH.md +27 -0
  451. package/research/PUBLISH_LOG.md +3 -0
  452. package/research/ensemble-voting.md +324 -0
  453. package/research/loss-functions.md +545 -0
  454. package/research-log.md +49 -0
  455. package/scripts/banner.js +29 -0
  456. package/scripts/benchmark-local-routerarena.ts +176 -0
  457. package/scripts/benchmark.js +145 -0
  458. package/scripts/benchmark.sh +61 -0
  459. package/scripts/compare-providers.sh +230 -0
  460. package/scripts/content-planner.js +25 -0
  461. package/scripts/create-labeled-benchmark.ts +105 -0
  462. package/scripts/cross_post.py +443 -0
  463. package/scripts/local-router-benchmark.ts +154 -0
  464. package/scripts/post-all.sh +41 -0
  465. package/scripts/publish_fcc.py +106 -0
  466. package/scripts/push-to-gitee.sh +25 -0
  467. package/scripts/routerarena_ensemble.js +144 -0
  468. package/scripts/routing-benchmark-v2.js +373 -0
  469. package/scripts/routing-benchmark-v3.js +118 -0
  470. package/scripts/routing-benchmark.js +462 -0
  471. package/scripts/run-labeled-benchmark.mjs +104 -0
  472. package/scripts/run-mmlu-benchmark.js +176 -0
  473. package/scripts/run-provider-benchmark.js +244 -0
  474. package/scripts/update-npm-badges.js +158 -0
  475. package/skill/SKILL.md +238 -0
  476. package/src/__tests__/integration/tmpld_integration.test.py +540 -0
  477. package/src/routing/advancedRouter.ts +1 -1
  478. package/src/skills/__tests__/skill_manager.test.ts +328 -0
  479. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +94 -0
  480. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +121 -0
  481. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +94 -0
  482. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +83 -0
  483. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +225 -0
  484. package/test-council/1-structure-tests.test.js +353 -0
  485. package/test-council/1-structure-tests.test.ts +353 -0
  486. package/test-council/2-edge-case-tests.test.ts +361 -0
  487. package/test-council/3-performance-tests.test.ts +669 -0
  488. package/test-council/4-integration-tests.test.ts +391 -0
  489. package/test-council/5-agent-council-eval.test.ts +413 -0
  490. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +349 -0
  491. package/test-council/TEST_COUNCIL_REPORT.md +201 -0
  492. package/test-council/agents/edge-case-agent.ts +363 -0
  493. package/test-council/agents/performance-agent.ts +426 -0
  494. package/test-council/agents/structure-agent.ts +227 -0
  495. package/test-council/council.md +183 -0
  496. package/tests/__mocks__/tokenUtils.ts +8 -0
  497. package/tests/memory/episodicMemory.test.ts +227 -0
  498. package/tests/package-lock.json +1628 -0
  499. package/tests/package.json +18 -0
  500. package/tests/routing/ensembleVoting.test.ts +236 -0
  501. package/tests/routing/providerRetry.test.ts +360 -0
  502. package/tests/routing/queryTypePresets.test.ts +208 -0
  503. package/tests/security/guardrailEngine.test.ts +700 -0
  504. package/tests/tsconfig.json +21 -0
  505. package/tests/vitest.config.ts +18 -0
  506. package/tmlpd-pi-extension/README.md +66 -0
  507. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +114 -0
  508. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +1 -0
  509. package/tmlpd-pi-extension/dist/cache/prefixCache.js +285 -0
  510. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +1 -0
  511. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +58 -0
  512. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +1 -0
  513. package/tmlpd-pi-extension/dist/cache/responseCache.js +153 -0
  514. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +1 -0
  515. package/tmlpd-pi-extension/dist/cli.js +59 -0
  516. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +95 -0
  517. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +1 -0
  518. package/tmlpd-pi-extension/dist/cost/costTracker.js +240 -0
  519. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +1 -0
  520. package/tmlpd-pi-extension/dist/index.d.ts +723 -0
  521. package/tmlpd-pi-extension/dist/index.d.ts.map +1 -0
  522. package/tmlpd-pi-extension/dist/index.js +239 -0
  523. package/tmlpd-pi-extension/dist/index.js.map +1 -0
  524. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +82 -0
  525. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +1 -0
  526. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +145 -0
  527. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +1 -0
  528. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +102 -0
  529. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  530. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +207 -0
  531. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +1 -0
  532. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +85 -0
  533. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  534. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +210 -0
  535. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +1 -0
  536. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +102 -0
  537. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +1 -0
  538. package/tmlpd-pi-extension/dist/providers/localProvider.js +338 -0
  539. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +1 -0
  540. package/tmlpd-pi-extension/dist/providers/registry.d.ts +55 -0
  541. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +1 -0
  542. package/tmlpd-pi-extension/dist/providers/registry.js +138 -0
  543. package/tmlpd-pi-extension/dist/providers/registry.js.map +1 -0
  544. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +68 -0
  545. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +1 -0
  546. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +332 -0
  547. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +1 -0
  548. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +101 -0
  549. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +1 -0
  550. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +368 -0
  551. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +1 -0
  552. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +96 -0
  553. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +1 -0
  554. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +170 -0
  555. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +1 -0
  556. package/tmlpd-pi-extension/dist/utils/compression.d.ts +61 -0
  557. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +1 -0
  558. package/tmlpd-pi-extension/dist/utils/compression.js +281 -0
  559. package/tmlpd-pi-extension/dist/utils/compression.js.map +1 -0
  560. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +74 -0
  561. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +1 -0
  562. package/tmlpd-pi-extension/dist/utils/reliability.js +177 -0
  563. package/tmlpd-pi-extension/dist/utils/reliability.js.map +1 -0
  564. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +117 -0
  565. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +1 -0
  566. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +246 -0
  567. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +1 -0
  568. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +50 -0
  569. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +1 -0
  570. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +124 -0
  571. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +1 -0
  572. package/tmlpd-pi-extension/examples/QUICKSTART.md +183 -0
  573. package/tmlpd-pi-extension/package-lock.json +79 -0
  574. package/tmlpd-pi-extension/package.json +172 -0
  575. package/tmlpd-pi-extension/python/examples.py +53 -0
  576. package/tmlpd-pi-extension/python/integrations.py +330 -0
  577. package/tmlpd-pi-extension/python/setup.py +28 -0
  578. package/tmlpd-pi-extension/python/tmlpd.py +369 -0
  579. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  580. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +751 -0
  581. package/tmlpd-pi-extension/skill/SKILL.md +238 -0
  582. package/tmlpd-pi-extension/src/cache/responseCache.ts +147 -0
  583. package/tmlpd-pi-extension/src/cost/costTracker.ts +302 -0
  584. package/tmlpd-pi-extension/src/index.ts +232 -0
  585. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +257 -0
  586. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +266 -0
  587. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +262 -0
  588. package/tmlpd-pi-extension/src/providers/localProvider.ts +406 -0
  589. package/tmlpd-pi-extension/src/providers/registry.ts +164 -0
  590. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +159 -0
  591. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +136 -0
  592. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +433 -0
  593. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +232 -0
  594. package/tmlpd-pi-extension/src/utils/compression.ts +325 -0
  595. package/tmlpd-pi-extension/src/utils/reliability.ts +221 -0
  596. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +145 -0
  597. package/tmlpd-pi-extension/tsconfig.json +18 -0
  598. package/tsconfig.build.json +29 -0
  599. package/tsconfig.json +18 -0
  600. package/README.md.bak +0 -1185
  601. package/src/routing/advancedRouter.ts.bak +0 -650
  602. package/test.js.bak +0 -376
  603. /package/{llms-full.txt.bak → docs/llms-full.txt} +0 -0
@@ -0,0 +1,118 @@
1
+ # A3M Router — Health Report
2
+
3
+ **Generated:** 2026-05-28
4
+ **Branch:** `main`
5
+ **npm version:** 2.13.22
6
+ **Latest release:** v2.13.20 "SEO fixes, homepage URL, 15 awesome PRs"
7
+
8
+ ---
9
+
10
+ ## 1. Awesome-List Submissions (15 issues)
11
+
12
+ | # | Repo | Issue | State | Comments | Notes |
13
+ |---|------|-------|-------|----------|-------|
14
+ | 1 | 12britz/awesome-ai-gateways | #6 | OPEN | 0 | |
15
+ | 2 | wauputr4/awesome-llm-gateways | #1 | OPEN | 1 | Author responded to review |
16
+ | 3 | pyxis3-ai/awesome-model-agnostic-llm | #2 | OPEN | 0 | |
17
+ | 4 | mahseema/awesome-ai-tools | #1404 | OPEN | 0 | |
18
+ | 5 | ai-for-developers/awesome-ai-coding-tools | #358 | OPEN | 0 | |
19
+ | 6 | WangRongsheng/awesome-LLM-resources | #125 | OPEN | 0 | |
20
+ | 7 | tensorchord/Awesome-LLMOps | #523 | OPEN | 0 | |
21
+ | 8 | Hannibal046/Awesome-LLM | #611 | OPEN | 0 | |
22
+ | 9 | RunaCapital/awesome-oss-alternatives | #352 | OPEN | 0 | Label: enhancement |
23
+ | 10 | AiHubCN/Awesome-Chinese-LLM | #101 | OPEN | 0 | |
24
+ | 11 | jamesmurdza/awesome-ai-devtools | #584 | **CLOSED** | 1 | Rejected — missing PR template checklist items (auto-closed by bot) |
25
+ | 12 | EthicalML/awesome-production-machine-learning | #778 | OPEN | 0 | |
26
+ | 13 | reorx/awesome-chatgpt-api | #158 | OPEN | 0 | |
27
+ | 14 | Not-Diamond/awesome-ai-model-routing | #15 | OPEN | 0 | |
28
+ | 15 | filipecalegario/awesome-generative-ai | #536 | OPEN | 0 | |
29
+
30
+ **Summary:** 14/15 OPEN, 1 CLOSED (template violation). Only 1 has any reviewer comments (wauputr4). No repo maintainer has merged any entry yet. The closed one (awesome-ai-devtools) can be reopened if the PR description is fixed to match their template.
31
+
32
+ ---
33
+
34
+ ## 2. CI / GitHub Actions
35
+
36
+ | Workflow | Status | Latest Run |
37
+ |----------|--------|------------|
38
+ | CI | success | 2026-05-28T04:25:34Z |
39
+ | Deploy Pages | success | 2026-05-28T04:25:34Z |
40
+ | CodeQL | success | 2026-05-28T04:25:34Z |
41
+ | pages-build-deployment | success | 2026-05-28T04:25:32Z |
42
+ | stale.yml | **failure** | 2026-05-28T04:25:33Z |
43
+
44
+ **Stale.yml failure:** The `actions/stale` workflow fails consistently. Root cause: `exempt-issue-labels` and `exempt-pr-labels` are defined **twice** in the config (duplicate keys). GitHub Actions treats duplicate YAML keys as an error. Fix: deduplicate the labels into one `exempt-issue-labels` and one `exempt-pr-labels` entry.
45
+
46
+ ---
47
+
48
+ ## 3. npm Package Metadata
49
+
50
+ | Field | Value |
51
+ |-------|-------|
52
+ | **Package** | `adaptive-memory-multi-model-router` |
53
+ | **Version** | `2.13.22` |
54
+ | **Homepage** | `https://das-rebel.github.io/a3m-router/` |
55
+ | **Repository** | `git+https://github.com/Das-rebel/a3m-router.git` |
56
+ | **License** | MIT |
57
+ | **Engine** | Node >= 18.0.0 |
58
+ | **Keywords** | 54 keywords (ai-gateway, llm-router, parallel-llm, ensemble-voting, etc.) |
59
+ | **Binaries** | a3m-router, a3m, a3m-tui, adaptive-memory-multi-model-router |
60
+ | **Types** | Not set (missing from package.json) |
61
+ | **Weekly Downloads** | **5,369** (last week) — Top 0.2% of npm |
62
+ | **Total Downloads** | ~10,024 in 14 days |
63
+
64
+ - `types` field is missing from package.json — consumers using TypeScript won't get automatic type resolution.
65
+ - Package name may be too long for convenience; the shorter CLI aliases (`a3m`, `a3m-router`) help.
66
+
67
+ ---
68
+
69
+ ## 4. GitHub Pages
70
+
71
+ | Check | Status |
72
+ |-------|--------|
73
+ | HTTPS | OK (200) |
74
+ | Content-Type | text/html |
75
+ | Size | 19,847 bytes |
76
+ | Last-Modified | 2026-05-28 (today) |
77
+ | Deploy Workflow | Success on latest run |
78
+
79
+ **Page is healthy and serving content.**
80
+
81
+ ---
82
+
83
+ ## 5. GitHub Releases
84
+
85
+ | Tag | Date | Notes |
86
+ |-----|------|-------|
87
+ | v2.13.20 | 2026-05-28 | **Latest** — SEO fixes, homepage URL, 15 awesome PRs |
88
+ | v2.13.18 | 2026-05-27 | 54 npm keywords + HF Space ready |
89
+ | v2.14.0 | 2026-05-27 | 10K downloads in 14 days |
90
+ | v2.13.3 | 2026-05-26 | Parallel Multi-LLM Execution with Intelligent Merge |
91
+
92
+ ---
93
+
94
+ ## 6. Action Items
95
+
96
+ ### Critical
97
+ 1. **Fix stale.yml** — Duplicate `exempt-issue-labels`/`exempt-pr-labels` keys cause workflow failure. Merge into single definitions.
98
+ 2. **Add `types` to package.json** — Currently missing, breaking automatic TypeScript type resolution for consumers.
99
+
100
+ ### Medium
101
+ 3. **Reopen awesome-ai-devtools PR (#584)** — Edit description to match PR template and re-open. This repo has 2.9K+ visibility.
102
+ 4. **Check on wauputr4 review** — The only repo with active reviewer feedback. Respond to their comments if any remain.
103
+
104
+ ### Low
105
+ 5. **Track remaining 14 open submissions** — None have been merged yet. May need follow-up nudges or format adjustments per each repo's rules.
106
+
107
+ ---
108
+
109
+ ## 7. Overall Health Score
110
+
111
+ | Category | Score | Notes |
112
+ |----------|-------|-------|
113
+ | CI/CD | 80% | stale.yml broken, others green |
114
+ | npm Package | 85% | Missing `types` field |
115
+ | GitHub Pages | 100% | Healthy |
116
+ | Submissions | 93% | 14/15 open, none merged yet |
117
+ | Releases | 100% | Regular cadence |
118
+ | **Overall** | **88%** | Good — 2 quick fixes needed |
@@ -0,0 +1,107 @@
1
+ # A3M Router Improvement Plan: Target 80% Accuracy
2
+
3
+ ## Current State (Local Benchmark v2.14.26)
4
+ - **Overall Accuracy**: 67% (134/200)
5
+ - **Target**: 80% (160/200)
6
+ - **Gap**: +26 correct answers needed
7
+
8
+ ## Problem Areas
9
+
10
+ ### 1. MID Tier: 36% → Need 70%
11
+ - **Current**: 18/50 correct
12
+ - **Problem**: 22 queries under-routed to CHEAP, 9 over-routed to PREMIUM
13
+ - **Impact**: +17 potential correct
14
+
15
+ ### 2. PREMIUM Tier: 58% → Need 75%
16
+ - **Current**: 23/40 correct
17
+ - **Problem**: 11 queries under-routed to MID, 4 to CHEAP, 2 to FREE
18
+ - **Impact**: +9 potential correct
19
+
20
+ ### 3. CHEAP Tier: 75% → Keep at 80%+
21
+ - **Current**: 45/60 correct (13 under-routed to FREE)
22
+
23
+ ## Root Cause Analysis
24
+
25
+ The router uses a single "complexity" score (0-1) to route queries. The problem:
26
+
27
+ 1. **MID queries scored too low** → routed to CHEAP (44% error rate)
28
+ 2. **PREMIUM queries scored too low** → routed to MID/CHEAP (30% error rate)
29
+
30
+ ### Current Complexity Signal Weights
31
+ - Word count: up to 0.35
32
+ - Jargon: up to 0.35
33
+ - Formality: up to 0.19
34
+ - Depth indicators: up to 0.17
35
+ - Stakes indicators: up to 0.12
36
+ - Multi-step: up to 0.11
37
+ - Domain detection: up to 0.35
38
+ - Code detection: +0.15
39
+ - Reasoning detection: +0.20
40
+ - Multilingual: +0.10
41
+
42
+ **Problem**: These signals don't differentiate enough between CHEAP and MID/PREMIUM tiers.
43
+
44
+ ## Proposed Signal Improvements
45
+
46
+ ### A. MID Tier Detection Signals (Priority 1)
47
+
48
+ **Add these to complexity score:**
49
+ 1. **Technical depth markers** (+0.15): "implement", "architecture", "system design", "optimize", "performance"
50
+ 2. **Analysis requirements** (+0.12): "compare and contrast", "evaluate", "assess", "analyze the tradeoffs"
51
+ 3. **Multi-conceptual** (+0.10): Queries mentioning 3+ concepts that need to be connected
52
+ 4. **Specific domain expertise** (+0.08): Medical, legal, financial, security terminology
53
+
54
+ ### B. PREMIUM Tier Detection Signals (Priority 2)
55
+
56
+ **Add these to complexity score:**
57
+ 1. **Advanced reasoning** (+0.20): "prove that", "derive", "synthesize", "create a new approach"
58
+ 2. **Multi-modal requirements** (+0.15): Code + data + explanation needs
59
+ 3. **Novel generation** (+0.15): "write a story", "generate code", "create a solution"
60
+ 4. **High-stakes context** (+0.12): Decisions with significant consequences
61
+
62
+ ### C. Calibration Fixes
63
+
64
+ 1. **Don't route to FREE** if:
65
+ - Query has any technical terms
66
+ - Query length > 75 words
67
+ - Query asks for explanation/analysis
68
+
69
+ 2. **Don't route to CHEAP** if:
70
+ - Query has 2+ mid-tier indicators
71
+ - Domain is medical/legal/financial/security
72
+
73
+ 3. **Route to PREMIUM** if:
74
+ - Query explicitly asks for reasoning chain
75
+ - Query is about system architecture
76
+ - Query requires code generation AND explanation
77
+
78
+ ## Implementation Order
79
+
80
+ ### Phase 1: Fix MID→CHEAP under-routing
81
+ - Add mid-tier specific signals
82
+ - Recalibrate complexity thresholds
83
+ - Target: MID tier 36% → 60%
84
+
85
+ ### Phase 2: Fix PREMIUM under-routing
86
+ - Add premium-tier specific signals
87
+ - Target: PREMIUM tier 58% → 75%
88
+
89
+ ### Phase 3: Protect CHEAP tier
90
+ - Ensure CHEAP queries don't leak to FREE
91
+ - Target: Keep CHEAP at 75%+
92
+
93
+ ## Expected Results
94
+
95
+ | Tier | Current | Phase 1 | Phase 2 | Final |
96
+ |------|---------|---------|---------|-------|
97
+ | FREE | 96% | 96% | 96% | 96% |
98
+ | CHEAP | 75% | 70% | 70% | 80% |
99
+ | MID | 36% | 60% | 65% | 70% |
100
+ | PREMIUM | 58% | 58% | 75% | 75% |
101
+ | **Overall** | **67%** | **70%** | **76%** | **80%** |
102
+
103
+ ## Testing Strategy
104
+
105
+ 1. Run local benchmark after each change
106
+ 2. Only submit to RouterArena when local benchmark shows 80%+
107
+ 3. Use RouterArena validation as final check, not development tool
package/LANDING.md ADDED
@@ -0,0 +1,43 @@
1
+ # A3M Router — Parallel Multi-LLM Execution with Intelligent Merge
2
+
3
+ *One prompt. All providers. The best answer.*
4
+
5
+ ---
6
+
7
+ ## What It Is
8
+
9
+ A routing layer between your app and every LLM provider. Routes every query to the cheapest capable model, runs multiple providers in parallel when quality matters, and scores results to return the best answer.
10
+
11
+ ## What It Does
12
+
13
+ - **Parallel ensemble** — Runs NVIDIA + Groq + OpenAI simultaneously, scores results, picks best
14
+ - **Smart routing** — 12 heuristic signals classify query complexity, routes to cheapest capable model
15
+ - **Cost control** — Hard per-user/team budgets with real-time tracking and alerts
16
+ - **Fault tolerance** — Circuit breaker, automatic failover, exponential backoff with jitter
17
+ - **Memory persistence** — Cross-session episodic memory with keyword indexing
18
+
19
+ ## By the Numbers
20
+
21
+ | Metric | Result |
22
+ |--------|--------|
23
+ | Routing Accuracy | **70.32** |
24
+ | Cost Savings | **62%** vs all-premium |
25
+ | Providers | **47+** |
26
+ | Cache Hit Rate | **30%+** |
27
+ | Size | **19.5 KB** |
28
+ | Startup | **<100ms** |
29
+
30
+ ## Start in 30 Seconds
31
+
32
+ ```bash
33
+ npm install adaptive-memory-multi-model-router
34
+ npx a3m-router serve # OpenAI proxy at localhost:8787
35
+ npx a3m-router route "What is 2+2?" # Routing decision
36
+ npx a3m-router compare "Explain AI" # All providers side-by-side
37
+ ```
38
+
39
+ Point any OpenAI-compatible client to `http://localhost:8787` with `model: "auto"`.
40
+
41
+ ---
42
+
43
+ *A3M Router. Parallel multi-LLM execution with result merging.*
@@ -0,0 +1,339 @@
1
+ # 🚀 PAIN-DRIVEN LAUNCH MANIFEST
2
+
3
+ ## The Strategy: Pain → Agitate → Solution → Transformation
4
+
5
+ **OLD APPROACH**: "Here's a cool feature we built"
6
+ **NEW APPROACH**: "Your OpenAI bill is 3x higher than it should be (here's the fix)"
7
+
8
+ ---
9
+
10
+ ## 📰 CONTENT READY TO POST
11
+
12
+ ### 1. DEV.TO (Highest Priority)
13
+ **File**: `articles/PAIN-DRIVEN-devto.md`
14
+
15
+ **URL**: https://dev.to/new
16
+
17
+ **Title**:
18
+ ```
19
+ Your OpenAI Bill is 3x Higher Than It Should Be (Here's the Fix)
20
+ ```
21
+
22
+ **Hook**: "Last month, our startup's OpenAI bill hit $2,400."
23
+
24
+ **Pain**: Using GPT-4 for everything = paying premium for basic tasks
25
+
26
+ **Agitation**: CFO ultimatum, 40% of infrastructure budget
27
+
28
+ **Solution**: A3M Router with intelligent query analysis
29
+
30
+ **Transformation**: $2,400 → $720/month (70% savings)
31
+
32
+ **Copy & paste the entire file content**
33
+
34
+ ---
35
+
36
+ ### 2. HACKER NEWS (Highest Priority)
37
+ **File**: `articles/PAIN-DRIVEN-hackernews.md`
38
+
39
+ **URL**: https://news.ycombinator.com/submit
40
+
41
+ **Title**:
42
+ ```
43
+ Show HN: I cut our OpenAI bill by 70% with intelligent LLM routing
44
+ ```
45
+
46
+ **Hook**: "$2,400 OpenAI bill, 5-person team, 1,000 queries/day"
47
+
48
+ **Key Stats Table**: Before/After comparison
49
+
50
+ **Copy & paste the entire file content**
51
+
52
+ **Best Time**: Tuesday-Thursday, 9-11am PST
53
+
54
+ ---
55
+
56
+ ### 3. TWITTER THREAD (Highest Priority)
57
+ **File**: `articles/PAIN-DRIVEN-twitter.md`
58
+
59
+ **URL**: https://twitter.com/compose/tweet
60
+
61
+ **Hook (Tweet 1)**:
62
+ ```
63
+ Our OpenAI bill hit $2,400 last month.
64
+
65
+ We're 5 people. 1,000 queries/day. Customer support, code gen, summarization.
66
+
67
+ Nothing that should cost $2,400.
68
+
69
+ Here's why we were overpaying by 70% 🧵
70
+ ```
71
+
72
+ **Copy all 10 tweets and post as thread**
73
+
74
+ **Pin to profile for 1 week**
75
+
76
+ ---
77
+
78
+ ### 4. REDDIT r/MachineLearning (High Priority)
79
+ **File**: `articles/PAIN-DRIVEN-reddit.md`
80
+
81
+ **URL**: https://www.reddit.com/r/MachineLearning/submit
82
+
83
+ **Title**:
84
+ ```
85
+ [P] We cut our LLM API costs by 70% with learned routing - here's how
86
+ ```
87
+
88
+ **Focus**: Research approach, methodology, results
89
+
90
+ **Copy & paste the entire file content**
91
+
92
+ **Flair**: `Project`
93
+
94
+ ---
95
+
96
+ ### 5. REDDIT r/javascript (High Priority)
97
+ **URL**: https://www.reddit.com/r/javascript/submit
98
+
99
+ **Title**:
100
+ ```
101
+ I was paying $2,400/month for OpenAI API calls. Built a router that cut it to $720.
102
+ ```
103
+
104
+ **Content**:
105
+ ```
106
+ Hey r/javascript,
107
+
108
+ Last month our startup's OpenAI bill hit $2,400. We're 5 people processing ~1,000 LLM queries per day.
109
+
110
+ I looked at our logs:
111
+ • 34% simple Q&A (any model works)
112
+ • 28% code generation (speed > perfection)
113
+ • 22% summarization (doesn't need GPT-4)
114
+ • 16% actually needs high-quality reasoning
115
+
116
+ We were paying GPT-4 prices for 84% of queries that didn't need it.
117
+
118
+ So I built A3M Router - it analyzes each query and routes to the cheapest capable provider:
119
+
120
+ ```javascript
121
+ const { routeQuery } = require('adaptive-memory-multi-model-router');
122
+
123
+ // Simple query → FREE provider
124
+ routeQuery("What is 2+2?"); // → commandcode/taste-1 ($0.00)
125
+
126
+ // Code query → FAST provider
127
+ routeQuery("Write Python to reverse a string");
128
+ // → groq/llama-3.3-70b ($0.0004, 5x faster)
129
+ ```
130
+
131
+ Results after 30 days:
132
+ • Before: $2,400/month
133
+ • After: $720/month
134
+ • Savings: 70%
135
+ • Speed: 2x faster
136
+ • Quality: 94% (vs 100% GPT-4)
137
+
138
+ Trade-off: 6% quality for 70% savings. Worth it.
139
+
140
+ If your OpenAI bill is >$500/month, you're probably overpaying.
141
+
142
+ Try it:
143
+ ```bash
144
+ npm install adaptive-memory-multi-model-router
145
+ npx a3m-router route "Your query"
146
+ ```
147
+
148
+ GitHub: https://github.com/Das-rebel/a3m-router
149
+
150
+ What's your current LLM spend?
151
+ ```
152
+
153
+ ---
154
+
155
+ ## 🎯 POSTING SEQUENCE
156
+
157
+ ### TODAY (Do in this order)
158
+
159
+ **Hour 1: Twitter**
160
+ - Post thread from `PAIN-DRIVEN-twitter.md`
161
+ - Pin to profile
162
+ - Reply to any responses immediately
163
+
164
+ **Hour 2: Hacker News**
165
+ - Post from `PAIN-DRIVEN-hackernews.md`
166
+ - Monitor comments for 2 hours
167
+ - Respond to technical questions
168
+
169
+ **Hour 3: Dev.to**
170
+ - Post from `PAIN-DRIVEN-devto.md`
171
+ - Share link on Twitter
172
+ - Submit to JavaScript Weekly newsletter
173
+
174
+ **Hour 4: Reddit**
175
+ - Post to r/MachineLearning
176
+ - Post to r/javascript
177
+ - Monitor and respond
178
+
179
+ ### THIS WEEK
180
+
181
+ **Day 2-3**:
182
+ - Hashnode article (adapt from Dev.to)
183
+ - Medium article (adapt from Dev.to)
184
+ - IndieHackers post
185
+
186
+ **Day 4-5**:
187
+ - Product Hunt prep (schedule for next Tuesday)
188
+ - YouTube script recording
189
+ - Demo GIF creation
190
+
191
+ **Day 6-7**:
192
+ - Monitor all posts
193
+ - Respond to comments
194
+ - Track metrics
195
+ - Iterate based on feedback
196
+
197
+ ---
198
+
199
+ ## 📊 EXPECTED RESULTS (Pain-Driven Approach)
200
+
201
+ ### Why Pain-Driven Works Better
202
+
203
+ | Approach | Engagement | Conversion | Shares |
204
+ |----------|-----------|------------|--------|
205
+ | Feature-focused | Low | 0.5% | Rare |
206
+ | **Pain-driven** | **High** | **3-5%** | **Common** |
207
+
208
+ ### Projected Impact
209
+
210
+ **Week 1**:
211
+ - HN: 100-300 upvotes (pain resonates)
212
+ - Twitter: 20-50k impressions (relatable problem)
213
+ - Reddit: 50-200 upvotes per post
214
+ - Dev.to: 1,000-5,000 views
215
+ - **Result**: 1,000-2,000 GitHub stars
216
+
217
+ **Month 1**:
218
+ - 5,000-10,000 daily NPM downloads
219
+ - 3,000-5,000 GitHub stars
220
+ - GitHub Trending feature
221
+ - Newsletter mentions
222
+
223
+ ---
224
+
225
+ ## 💬 RESPONSE TEMPLATES
226
+
227
+ ### When Someone Says "This is exactly what I needed"
228
+
229
+ > "Thanks! What was your biggest pain point - cost, speed, or something else?"
230
+
231
+ ### When Someone Asks About Quality
232
+
233
+ > "We tracked 1,000 test queries. Overall quality: 94% vs 100% GPT-4. Trade-off: 6% quality for 70% savings. For our use case (customer support, code gen), totally worth it."
234
+
235
+ ### When Someone Asks About Setup
236
+
237
+ > "Literally 10 minutes:
238
+ > ```bash
239
+ > npm install adaptive-memory-multi-model-router
240
+ > ```
241
+ > Then replace your OpenAI calls with `router.route()`. That's it."
242
+
243
+ ### When Someone Shares Their Bill
244
+
245
+ > "Ouch! Based on your volume, you could probably save $X/month. Want me to run the numbers?"
246
+
247
+ ### When Someone Criticizes Quality Trade-off
248
+
249
+ > "Fair point! For medical/legal use cases, you might want 100% quality. But for customer support, internal tools, code generation - 94% at 30% cost is a no-brainer."
250
+
251
+ ---
252
+
253
+ ## 📈 TRACKING
254
+
255
+ ### Metrics to Watch
256
+
257
+ **Engagement**:
258
+ - HN upvotes/comments
259
+ - Twitter impressions/engagement
260
+ - Reddit upvotes/comments
261
+ - Dev.to views/reactions
262
+
263
+ **Conversion**:
264
+ - GitHub stars (target: 1,000 week 1)
265
+ - NPM downloads (target: 2,000/day week 1)
266
+ - Playground usage
267
+ - Issue/PR creation
268
+
269
+ **Sentiment**:
270
+ - Positive vs negative comments
271
+ - Feature requests
272
+ - Bug reports
273
+
274
+ ### Tools
275
+
276
+ - HN: https://hn.algolia.com/?q=a3m+router
277
+ - Twitter: https://analytics.twitter.com/
278
+ - Reddit: Post notifications
279
+ - NPM: https://npm-stat.com/
280
+ - GitHub: https://github.com/Das-rebel/a3m-router/graphs/traffic
281
+
282
+ ---
283
+
284
+ ## 🚀 LAUNCH MESSAGE (Use Everywhere)
285
+
286
+ ```
287
+ 🚀 A3M Router is LIVE!
288
+
289
+ Your OpenAI bill is probably 3x higher than it should be.
290
+
291
+ We were paying $2,400/month. Cut it to $720 with intelligent routing.
292
+
293
+ ✨ Automatic query analysis
294
+ 💰 50-80% cost reduction
295
+ ⚡ 2x faster responses
296
+ 🔄 Smart fallback
297
+ 📊 Real-time cost tracking
298
+
299
+ npm install adaptive-memory-multi-model-router
300
+
301
+ GitHub: github.com/Das-rebel/a3m-router
302
+
303
+ Try the playground: [link]
304
+
305
+ What's your current LLM spend? 👇
306
+ ```
307
+
308
+ ---
309
+
310
+ ## ✅ FINAL CHECKLIST
311
+
312
+ **Content Ready**:
313
+ - [x] Dev.to (pain-driven)
314
+ - [x] Hacker News (pain-driven)
315
+ - [x] Twitter thread (pain-driven)
316
+ - [x] Reddit ML (pain-driven)
317
+ - [x] Reddit JS (pain-driven)
318
+
319
+ **Assets Ready**:
320
+ - [x] GitHub optimized
321
+ - [x] README with pain points
322
+ - [x] Playgrounds live
323
+ - [x] Demo script ready
324
+
325
+ **Posting Plan**:
326
+ - [ ] Hour 1: Twitter
327
+ - [ ] Hour 2: Hacker News
328
+ - [ ] Hour 3: Dev.to
329
+ - [ ] Hour 4: Reddit
330
+ - [ ] Day 2-3: Hashnode, Medium, IndieHackers
331
+ - [ ] Day 4-5: Product Hunt prep
332
+
333
+ **READY TO LAUNCH! 🚀**
334
+
335
+ ---
336
+
337
+ **All pain-driven content is in `articles/PAIN-DRIVEN-*.md` files.**
338
+
339
+ **Copy, paste, post. Watch the engagement roll in.**