adaptive-memory-multi-model-router 2.14.46 → 2.14.48

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 (598) hide show
  1. package/{docs/llms.txt → llms.txt.bak} +6 -6
  2. package/package.json +270 -72
  3. package/src/routing/advancedRouter.ts.bak +650 -0
  4. package/test.js.bak +376 -0
  5. package/.dockerignore +0 -82
  6. package/.env.example +0 -303
  7. package/.github/DISCUSSIONS_WELCOME.md +0 -27
  8. package/.github/DISCUSSION_TEMPLATE.yml +0 -5
  9. package/.github/FUNDING.yml +0 -2
  10. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -94
  11. package/.github/ISSUE_TEMPLATE/config.yml +0 -17
  12. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -71
  13. package/.github/PULL_REQUEST_TEMPLATE.md +0 -71
  14. package/.github/dependabot.yml +0 -9
  15. package/.github/workflows/auto-publish.yml +0 -51
  16. package/.github/workflows/ci.yml +0 -263
  17. package/.github/workflows/codeql.yml +0 -38
  18. package/.github/workflows/npm-publish.yml +0 -20
  19. package/.github/workflows/pages.yml +0 -37
  20. package/.github/workflows/stale.yml +0 -54
  21. package/.publish-tick +0 -1
  22. package/.well-known/ai-plugin.json +0 -16
  23. package/AGENT_COUNCIL_FINDINGS.md +0 -142
  24. package/ARCHITECTURE.md +0 -346
  25. package/AUDIT_REPORT.md +0 -28
  26. package/CODE_OF_CONDUCT.md +0 -128
  27. package/CONTRIBUTING.md +0 -50
  28. package/CONTRIBUTORS.md +0 -20
  29. package/Dockerfile +0 -53
  30. package/Dockerfile.proxy +0 -33
  31. package/HEALTH_REPORT.md +0 -118
  32. package/IMPROVEMENT_PLAN.md +0 -107
  33. package/LANDING.md +0 -43
  34. package/LAUNCH-PAIN-DRIVEN.md +0 -339
  35. package/LAUNCH.md +0 -337
  36. package/LAUNCH_CHECKLIST.md +0 -141
  37. package/LAUNCH_SNAPSHOT.md +0 -260
  38. package/MANIFESTO.md +0 -41
  39. package/POPULARITY_BOOSTERS.md +0 -285
  40. package/PR_STATUS_REPORT.md +0 -148
  41. package/REDESIGN.md +0 -95
  42. package/RUNKIT.md +0 -83
  43. package/SECURITY.md +0 -29
  44. package/SUBMISSIONS.md +0 -43
  45. package/_schema.html +0 -53
  46. package/ai-plugin.json +0 -16
  47. package/articles/AI_AGENT_LLM_ROUTING.md +0 -150
  48. package/articles/CHINESE_DIRECTORIES.md +0 -100
  49. package/articles/CHINESE_SUBMISSIONS_READY.md +0 -322
  50. package/articles/COMPETITOR_ALERTS.md +0 -31
  51. package/articles/COMPLETE_POSTING_DIRECTORY.md +0 -147
  52. package/articles/CONTENT_STRUCTURE.md +0 -292
  53. package/articles/DEVTO_COST_GUIDE.md +0 -473
  54. package/articles/DEVTO_FINAL.md +0 -416
  55. package/articles/DEVTO_MULTI_PROVIDER.md +0 -542
  56. package/articles/DEVTO_READY.md +0 -255
  57. package/articles/DEVTO_V2_ANNOUNCEMENT.md +0 -160
  58. package/articles/DEVTO_VIRAL_GROWTH.md +0 -280
  59. package/articles/FRESH_devto.md +0 -460
  60. package/articles/FRESH_devto_2026_05.md +0 -73
  61. package/articles/FRESH_hackernews.md +0 -14
  62. package/articles/FRESH_reddit_ml.md +0 -90
  63. package/articles/FRESH_reddit_node.md +0 -198
  64. package/articles/FRESH_reddit_sideproject.md +0 -72
  65. package/articles/FRESH_reddit_webdev.md +0 -130
  66. package/articles/FROM_ZERO_TO_10K.md +0 -107
  67. package/articles/HN_10X_BETTER.md +0 -430
  68. package/articles/HN_ACCOUNT_GUIDE.md +0 -21
  69. package/articles/HN_CHINESE_STYLE.md +0 -308
  70. package/articles/HN_FINAL.md +0 -148
  71. package/articles/HN_POSTED_VERSION.md +0 -56
  72. package/articles/HN_POST_READY.md +0 -137
  73. package/articles/HN_RESEARCH.md +0 -364
  74. package/articles/HN_SHOW_routerarena.md +0 -17
  75. package/articles/HN_TIMING_GUIDE.md +0 -52
  76. package/articles/INDIEHACKERS_POST.md +0 -52
  77. package/articles/INDIEHACKERS_READY.md +0 -120
  78. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +0 -153
  79. package/articles/MASTER_POSTING_DIRECTORY.md +0 -189
  80. package/articles/NEWSLETTER_SEND_NOW.md +0 -259
  81. package/articles/NEWSLETTER_SUBMISSIONS.md +0 -112
  82. package/articles/PAIN-DRIVEN-devto-v2.md +0 -308
  83. package/articles/PAIN-DRIVEN-devto-v3.md +0 -268
  84. package/articles/PAIN-DRIVEN-devto.md +0 -242
  85. package/articles/PAIN-DRIVEN-hackernews-v2.md +0 -138
  86. package/articles/PAIN-DRIVEN-hackernews-v3.md +0 -151
  87. package/articles/PAIN-DRIVEN-hackernews.md +0 -131
  88. package/articles/PAIN-DRIVEN-reddit-v2.md +0 -301
  89. package/articles/PAIN-DRIVEN-reddit-v3.md +0 -236
  90. package/articles/PAIN-DRIVEN-reddit.md +0 -218
  91. package/articles/PAIN-DRIVEN-twitter-v2.md +0 -110
  92. package/articles/PAIN-DRIVEN-twitter-v3.md +0 -121
  93. package/articles/PAIN-DRIVEN-twitter.md +0 -120
  94. package/articles/PORTKEY_VS_A3M.md +0 -147
  95. package/articles/POSTING_KIT_2026_05.md +0 -67
  96. package/articles/PRESS_KIT_routerarena.md +0 -77
  97. package/articles/PRODUCTHUNT_LISTING.md +0 -48
  98. package/articles/PRODUCTHUNT_READY.md +0 -106
  99. package/articles/PR_PLAN_vault.md +0 -125
  100. package/articles/REDDIT_FINAL.md +0 -232
  101. package/articles/REDDIT_POST.md +0 -67
  102. package/articles/REDDIT_SUBMISSION_READY.md +0 -348
  103. package/articles/ROUTERARENA_LEADER.md +0 -45
  104. package/articles/SHOW_HN_FINAL.md +0 -29
  105. package/articles/TWEETS_10K_DOWNLOADS.md +0 -47
  106. package/articles/TWEETS_BENCHMARK_FIRST.md +0 -46
  107. package/articles/TWEETS_MCP_PLAY.md +0 -51
  108. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +0 -49
  109. package/articles/TWEETS_WHY_BUILD.md +0 -54
  110. package/articles/TWEETS_routerarena_leader.md +0 -53
  111. package/articles/TWEET_STORM_READY.md +0 -165
  112. package/articles/TWITTER_FINAL.md +0 -167
  113. package/articles/WHY_10X_BETTER.md +0 -261
  114. package/articles/WHY_CHINESE_STYLE_BETTER.md +0 -323
  115. package/articles/ai-discoverability-llm-routing.md +0 -210
  116. package/articles/devto-llm-routing.md +0 -138
  117. package/articles/hackernews-show-hn.md +0 -54
  118. package/articles/hashnode-llm-cost-optimization.md +0 -125
  119. package/articles/hn_show_2026_05.md +0 -11
  120. package/articles/medium-building-llm-router.md +0 -205
  121. package/articles/reddit-ml.md +0 -76
  122. package/articles/twitter-thread-cost-savings.md +0 -50
  123. package/articles/youtube-tutorial-script.md +0 -262
  124. package/assets/a3m_3blue1brown.mp4 +0 -0
  125. package/assets/banner.svg +0 -109
  126. package/assets/chart-cost-v2.svg +0 -91
  127. package/assets/chart-cost-v3.svg +0 -143
  128. package/assets/chart-features-v2.svg +0 -132
  129. package/assets/chart-features-v3.svg +0 -211
  130. package/assets/chart-growth-v2.svg +0 -122
  131. package/assets/chart-growth-v3.svg +0 -189
  132. package/assets/cost-comparison.svg +0 -134
  133. package/assets/cost-simple.svg +0 -64
  134. package/assets/demo-hn.gif +0 -0
  135. package/assets/feature-matrix.svg +0 -136
  136. package/assets/growth-chart-animated.svg +0 -76
  137. package/assets/growth-chart.svg +0 -82
  138. package/assets/growth-simple.svg +0 -69
  139. package/assets/hero-diagram.svg +0 -81
  140. package/assets/logo-new.svg +0 -21
  141. package/assets/logo.svg +0 -68
  142. package/assets/provider-comparison.svg +0 -121
  143. package/assets/social-preview-new.svg +0 -100
  144. package/assets/social-preview.svg +0 -194
  145. package/assets/social-v2.svg +0 -130
  146. package/assets/social-v3.svg +0 -212
  147. package/benchmark-provider-results.json +0 -245
  148. package/benchmark-results.json +0 -54
  149. package/council-votes/architecture-vote.md +0 -121
  150. package/council-votes/coverage-vote.md +0 -93
  151. package/data/adaptive-benchmark.json +0 -92
  152. package/data/benchmark-results.json +0 -47
  153. package/data/labeled-benchmark.json +0 -88
  154. package/demo/3blue1brown_video.py +0 -285
  155. package/demo/3blue1brown_video_v2.py +0 -310
  156. package/demo/IMPROVED_PROMPTS.md +0 -229
  157. package/demo/VEO3_PROMPTS.md +0 -269
  158. package/demo/VIDEO_PRODUCTION_GUIDE.md +0 -333
  159. package/demo/a3m_3blue1brown.mp4 +0 -0
  160. package/demo/asciinema-demo.sh +0 -195
  161. package/demo/demo-hn.tape +0 -74
  162. package/demo/demo-script.md +0 -53
  163. package/demo/demo-script.sh +0 -62
  164. package/demo/demo.svg +0 -75
  165. package/demo/frame1_ai_data_center.png +0 -0
  166. package/demo/frame1_sunset_video.mp4 +0 -0
  167. package/demo/frame2_cost_comparison.png +0 -0
  168. package/demo/frame2_cost_comparison_fallback.png +0 -0
  169. package/demo/frame3_parallel_execution.png +0 -0
  170. package/demo/frame3_parallel_execution_fallback.png +0 -0
  171. package/demo/frame4_providers.png +0 -0
  172. package/demo/frame4_providers_fallback.png +0 -0
  173. package/demo/frame5_endcard.png +0 -0
  174. package/demo/frame5_endcard_fallback.png +0 -0
  175. package/demo/new_frame1_hook.png +0 -0
  176. package/demo/new_frame2_proof.png +0 -0
  177. package/demo/new_frame3_wow.png +0 -0
  178. package/demo/new_frame4_social.png +0 -0
  179. package/demo/new_frame5_cta.png +0 -0
  180. package/demo/package.json +0 -13
  181. package/demo/product-video-final.mp4 +0 -0
  182. package/demo/product-video-hype-v1.mp4 +0 -0
  183. package/demo/product-video-v1.mp4 +0 -0
  184. package/demo/public/index.html +0 -762
  185. package/demo/recording.cast +0 -55
  186. package/demo/server.js +0 -405
  187. package/demo-new.tape +0 -71
  188. package/demo-real.sh +0 -198
  189. package/demo-simple.tape +0 -205
  190. package/demo.html +0 -520
  191. package/demo.sh +0 -85
  192. package/demo.tape +0 -259
  193. package/dist/analytics/costAnalytics.d.ts.map +0 -1
  194. package/dist/analytics/costAnalytics.js.map +0 -1
  195. package/dist/benchmark/comprehensive.js.map +0 -1
  196. package/dist/benchmark/reproducible.d.ts.map +0 -1
  197. package/dist/benchmark/reproducible.js.map +0 -1
  198. package/dist/cache/prefixCache.d.ts.map +0 -1
  199. package/dist/cache/prefixCache.js.map +0 -1
  200. package/dist/cache/responseCache.d.ts.map +0 -1
  201. package/dist/cache/responseCache.js.map +0 -1
  202. package/dist/cache/semanticCache.d.ts.map +0 -1
  203. package/dist/cache/semanticCache.js.map +0 -1
  204. package/dist/cli/setupWizard.d.ts.map +0 -1
  205. package/dist/cli/setupWizard.js.map +0 -1
  206. package/dist/cost/budgetEnforcer.d.ts.map +0 -1
  207. package/dist/cost/budgetEnforcer.js.map +0 -1
  208. package/dist/cost/costTracker.d.ts.map +0 -1
  209. package/dist/cost/costTracker.js.map +0 -1
  210. package/dist/ensemble/multiRoundDialog.js.map +0 -1
  211. package/dist/ensemble/shapleyValue.js.map +0 -1
  212. package/dist/integrations/langchainAdapter.d.ts.map +0 -1
  213. package/dist/integrations/langchainAdapter.js.map +0 -1
  214. package/dist/integrations/oauth.d.ts.map +0 -1
  215. package/dist/integrations/oauth.js.map +0 -1
  216. package/dist/integrations/scienceAdapter.js.map +0 -1
  217. package/dist/memory/autoFetch.d.ts.map +0 -1
  218. package/dist/memory/autoFetch.js.map +0 -1
  219. package/dist/memory/episodicMemory.d.ts.map +0 -1
  220. package/dist/memory/episodicMemory.js.map +0 -1
  221. package/dist/memory/hybridMemory.js.map +0 -1
  222. package/dist/memory/memoryTree.d.ts.map +0 -1
  223. package/dist/memory/memoryTree.js.map +0 -1
  224. package/dist/memory/obsidianVault.d.ts.map +0 -1
  225. package/dist/memory/obsidianVault.js.map +0 -1
  226. package/dist/memory/reasoningBank.js.map +0 -1
  227. package/dist/observability/changeWatch.d.ts.map +0 -1
  228. package/dist/observability/changeWatch.js.map +0 -1
  229. package/dist/observability/fatigueDetector.d.ts.map +0 -1
  230. package/dist/observability/fatigueDetector.js.map +0 -1
  231. package/dist/observability/index.d.ts.map +0 -1
  232. package/dist/observability/index.js.map +0 -1
  233. package/dist/observability/metrics.d.ts.map +0 -1
  234. package/dist/observability/metrics.js.map +0 -1
  235. package/dist/observability/middleware.d.ts.map +0 -1
  236. package/dist/observability/middleware.js.map +0 -1
  237. package/dist/observability/tracer.d.ts.map +0 -1
  238. package/dist/observability/tracer.js.map +0 -1
  239. package/dist/observability/types.d.ts.map +0 -1
  240. package/dist/observability/types.js.map +0 -1
  241. package/dist/orchestration/haloOrchestrator.d.ts.map +0 -1
  242. package/dist/orchestration/haloOrchestrator.js.map +0 -1
  243. package/dist/orchestration/mctsWorkflow.d.ts.map +0 -1
  244. package/dist/orchestration/mctsWorkflow.js.map +0 -1
  245. package/dist/providers/localProvider.d.ts.map +0 -1
  246. package/dist/providers/localProvider.js.map +0 -1
  247. package/dist/providers/providerConfig.d.ts.map +0 -1
  248. package/dist/providers/providerConfig.js.map +0 -1
  249. package/dist/providers/registry.d.ts.map +0 -1
  250. package/dist/providers/registry.js.map +0 -1
  251. package/dist/routing/advancedRouter.d.ts.map +0 -1
  252. package/dist/routing/advancedRouter.js.map +0 -1
  253. package/dist/routing/crossModelValidation.d.ts.map +0 -1
  254. package/dist/routing/crossModelValidation.js.map +0 -1
  255. package/dist/routing/providerHealth.d.ts.map +0 -1
  256. package/dist/routing/providerHealth.js.map +0 -1
  257. package/dist/routing/providerRetry.d.ts.map +0 -1
  258. package/dist/routing/providerRetry.js.map +0 -1
  259. package/dist/scripts/banner.js +0 -29
  260. package/dist/security/guardrails.d.ts.map +0 -1
  261. package/dist/security/guardrails.js.map +0 -1
  262. package/dist/server/dashboard.d.ts.map +0 -1
  263. package/dist/server/dashboard.js.map +0 -1
  264. package/dist/server/modelMapper.d.ts.map +0 -1
  265. package/dist/server/modelMapper.js.map +0 -1
  266. package/dist/server/proxyServer.d.ts.map +0 -1
  267. package/dist/server/proxyServer.js.map +0 -1
  268. package/dist/skills/__tests__/skill_manager.test.d.ts +0 -2
  269. package/dist/skills/__tests__/skill_manager.test.d.ts.map +0 -1
  270. package/dist/skills/__tests__/skill_manager.test.js +0 -268
  271. package/dist/skills/__tests__/skill_manager.test.js.map +0 -1
  272. package/dist/tools/tmlpdTools.d.ts.map +0 -1
  273. package/dist/tools/tmlpdTools.js.map +0 -1
  274. package/dist/tui/dashboard.d.ts.map +0 -1
  275. package/dist/tui/dashboard.js.map +0 -1
  276. package/dist/tui/index.d.ts.map +0 -1
  277. package/dist/tui/index.js.map +0 -1
  278. package/dist/utils/batchProcessor.d.ts.map +0 -1
  279. package/dist/utils/batchProcessor.js.map +0 -1
  280. package/dist/utils/compression.d.ts.map +0 -1
  281. package/dist/utils/compression.js.map +0 -1
  282. package/dist/utils/costUtils.d.ts.map +0 -1
  283. package/dist/utils/costUtils.js.map +0 -1
  284. package/dist/utils/reliability.d.ts.map +0 -1
  285. package/dist/utils/reliability.js.map +0 -1
  286. package/dist/utils/sorting.d.ts.map +0 -1
  287. package/dist/utils/sorting.js.map +0 -1
  288. package/dist/utils/speculativeDecoding.d.ts.map +0 -1
  289. package/dist/utils/speculativeDecoding.js.map +0 -1
  290. package/dist/utils/tokenUtils.d.ts.map +0 -1
  291. package/dist/utils/tokenUtils.js.map +0 -1
  292. package/docs/.nojekyll +0 -0
  293. package/docs/ANALYSIS_PRINCIPLES.md +0 -162
  294. package/docs/API.md +0 -855
  295. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +0 -1391
  296. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +0 -1051
  297. package/docs/BENCHMARK.md +0 -170
  298. package/docs/CHINESE_PROVIDER_RELIABILITY.md +0 -37
  299. package/docs/CITATIONS.md +0 -74
  300. package/docs/CLAIMS_AND_EVIDENCE.md +0 -58
  301. package/docs/CONFIGURATION.md +0 -476
  302. package/docs/COUNCIL_DECISION.json +0 -816
  303. package/docs/COUNCIL_SUMMARY.md +0 -319
  304. package/docs/COUNCIL_V2.2_DECISION.md +0 -416
  305. package/docs/ENGINEERING_SPEC.md +0 -55
  306. package/docs/FACTORY_RESET.md +0 -34
  307. package/docs/GEO.md +0 -66
  308. package/docs/GEO_OPTIMIZATION.md +0 -30
  309. package/docs/GEO_ROOT_CAUSE.md +0 -136
  310. package/docs/GEO_STATUS.md +0 -85
  311. package/docs/GEO_TEST_RESULTS.md +0 -176
  312. package/docs/HN_CHECKLIST.md +0 -38
  313. package/docs/HN_FOUNDER_COMMENT.md +0 -17
  314. package/docs/HN_SUBMISSION_FINAL.md +0 -180
  315. package/docs/HN_SUBMISSION_V3.md +0 -56
  316. package/docs/IMPROVEMENT_ROADMAP.md +0 -515
  317. package/docs/INTEGRATIONS.md +0 -420
  318. package/docs/LANGCHAIN_INTEGRATION.md +0 -147
  319. package/docs/LLM_COUNCIL_DECISION.md +0 -508
  320. package/docs/MIDDLEWARE_CHAIN.md +0 -35
  321. package/docs/PROMO_CHECKLIST.md +0 -200
  322. package/docs/QUICKSTART.md +0 -271
  323. package/docs/QUICK_START.md +0 -43
  324. package/docs/QUICK_START_VISIBILITY.md +0 -782
  325. package/docs/REDDIT_GAP_ANALYSIS.md +0 -299
  326. package/docs/RELEASE_CHECKLIST.md +0 -32
  327. package/docs/REPRODUCIBILITY.md +0 -63
  328. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +0 -1180
  329. package/docs/ROUTING_RUBRIC.md +0 -197
  330. package/docs/SEO_AUDIT.md +0 -186
  331. package/docs/SOCIAL_LISTENING.md +0 -219
  332. package/docs/TMLPD_QNA.md +0 -751
  333. package/docs/TMLPD_V2.1_COMPLETE.md +0 -763
  334. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +0 -754
  335. package/docs/UPDATE_TOPICS.md +0 -15
  336. package/docs/USE_CASES.md +0 -59
  337. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +0 -446
  338. package/docs/V2_IMPLEMENTATION_GUIDE.md +0 -388
  339. package/docs/VERCEL_AI_SDK.md +0 -209
  340. package/docs/VISIBILITY_ADOPTION_PLAN.md +0 -1005
  341. package/docs/_config.yml +0 -49
  342. package/docs/ai-plugin.json +0 -16
  343. package/docs/api.html +0 -513
  344. package/docs/architecture-diagram.md +0 -40
  345. package/docs/benchmark-chart.png +0 -0
  346. package/docs/benchmark.html +0 -387
  347. package/docs/blog/routerarena-number-one.html +0 -73
  348. package/docs/cli-cheatsheet.md +0 -339
  349. package/docs/compare.md +0 -109
  350. package/docs/comparison-litellm.md +0 -88
  351. package/docs/comparison.md +0 -108
  352. package/docs/cost-chart-ascii.md +0 -42
  353. package/docs/cost-comparison-chart.svg +0 -88
  354. package/docs/curl-examples.md +0 -247
  355. package/docs/demo-auto.html +0 -264
  356. package/docs/demo.html +0 -416
  357. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +0 -232
  358. package/docs/index.html +0 -507
  359. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +0 -421
  360. package/docs/launch-content/README.md +0 -457
  361. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  362. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  363. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  364. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  365. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  366. package/docs/launch-content/generate_charts.py +0 -313
  367. package/docs/launch-content/hn_show_post.md +0 -139
  368. package/docs/launch-content/partner_outreach_templates.md +0 -745
  369. package/docs/launch-content/reddit_posts.md +0 -467
  370. package/docs/launch-content/twitter_thread.txt +0 -460
  371. package/docs/npm-downloads-chart.svg +0 -43
  372. package/docs/openapi.json +0 -139
  373. package/docs/openapi.yaml +0 -1318
  374. package/docs/quick-start.html +0 -366
  375. package/docs/robots.txt +0 -52
  376. package/docs/sitemap.xml +0 -57
  377. package/docs/styles.css +0 -682
  378. package/docs/well-known/ai-plugin.json +0 -16
  379. package/docs/wellknown/ai-plugin.json +0 -16
  380. package/docs-site/assets/og-banner.svg +0 -194
  381. package/docs-site/index.html +0 -632
  382. package/eval/README.md +0 -46
  383. package/eval/baselines/main.json +0 -12
  384. package/eval/benchmark_dataset.jsonl +0 -16
  385. package/eval/check_golden_routes.js +0 -64
  386. package/eval/datasets/catalog.json +0 -33
  387. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +0 -3
  388. package/eval/datasets/slices/cost_pressure_v1.jsonl +0 -3
  389. package/eval/datasets/slices/safety_guardrails_v1.jsonl +0 -3
  390. package/eval/evals.json +0 -199
  391. package/eval/fault_injection_thresholds.json +0 -3
  392. package/eval/generate_report.js +0 -128
  393. package/eval/golden_routes.json +0 -114
  394. package/eval/lib/experiment_registry.js +0 -24
  395. package/eval/run_eval.js +0 -197
  396. package/eval/run_fault_injection.js +0 -201
  397. package/eval/run_shadow_eval.js +0 -85
  398. package/eval/thresholds.json +0 -9
  399. package/examples/QUICKSTART.md +0 -183
  400. package/examples/README.md +0 -61
  401. package/examples/a3m-sdk.js +0 -124
  402. package/examples/basic-route.js +0 -54
  403. package/examples/chat-loop.js +0 -202
  404. package/examples/classify-then-route.js +0 -102
  405. package/examples/cost-compare.js +0 -120
  406. package/examples/ensemble.js +0 -160
  407. package/examples/whatsapp-telegram-bridge-demo.js +0 -302
  408. package/examples/whatsapp-telegram-bridge.js +0 -269
  409. package/hf-space/README.md +0 -23
  410. package/hf-space/app.py +0 -240
  411. package/hf-space/requirements.txt +0 -1
  412. package/huggingface_space/README.md +0 -35
  413. package/huggingface_space/app.py +0 -126
  414. package/huggingface_space/create_space.py +0 -208
  415. package/huggingface_space/requirements.txt +0 -1
  416. package/mcp-server/README.md +0 -188
  417. package/mcp-server/package.json +0 -29
  418. package/mcp-server/src/index.ts +0 -744
  419. package/mcp-server/tsconfig.json +0 -19
  420. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +0 -313
  421. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +0 -277
  422. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +0 -1234
  423. package/openclaw-alexa-bridge/test_fixes.js +0 -77
  424. package/playground/README.md +0 -51
  425. package/playground/codesandbox.json +0 -12
  426. package/playground/index.js +0 -39
  427. package/proxy/README.md +0 -227
  428. package/proxy/package-lock.json +0 -831
  429. package/proxy/package.json +0 -17
  430. package/proxy/rate-limit.js +0 -145
  431. package/proxy/rate-limit.test.js +0 -311
  432. package/proxy/server.js +0 -970
  433. package/python/README.md +0 -102
  434. package/python/a3m/__init__.py +0 -6
  435. package/python/a3m/client.py +0 -190
  436. package/python/a3m/models.py +0 -40
  437. package/python/a3m/sync_client.py +0 -61
  438. package/python/examples.py +0 -53
  439. package/python/integrations.py +0 -330
  440. package/python/pyproject.toml +0 -23
  441. package/python/setup.py +0 -28
  442. package/python/tmlpd.py +0 -369
  443. package/qna/REDDIT_GAP_ANALYSIS.md +0 -299
  444. package/qna/TMLPD_QNA.md +0 -751
  445. package/research/FINDING_001_safety.md +0 -28
  446. package/research/FINDING_002_error_diversity.md +0 -32
  447. package/research/FINDING_003_confidence_weighted_voting.md +0 -32
  448. package/research/FINDING_004_cross_model_semantic_detection.md +0 -37
  449. package/research/FINDING_005_knowledge_gap_orthogonality.md +0 -34
  450. package/research/HALLUCINATION_RESEARCH.md +0 -27
  451. package/research/ensemble-voting.md +0 -324
  452. package/research/loss-functions.md +0 -545
  453. package/research-log.md +0 -49
  454. package/scripts/banner.js +0 -29
  455. package/scripts/benchmark-local-routerarena.ts +0 -176
  456. package/scripts/benchmark.js +0 -145
  457. package/scripts/benchmark.sh +0 -61
  458. package/scripts/compare-providers.sh +0 -230
  459. package/scripts/content-planner.js +0 -25
  460. package/scripts/create-labeled-benchmark.ts +0 -105
  461. package/scripts/cross_post.py +0 -443
  462. package/scripts/local-router-benchmark.ts +0 -154
  463. package/scripts/post-all.sh +0 -41
  464. package/scripts/publish_fcc.py +0 -106
  465. package/scripts/push-to-gitee.sh +0 -25
  466. package/scripts/routerarena_ensemble.js +0 -144
  467. package/scripts/routing-benchmark-v2.js +0 -373
  468. package/scripts/routing-benchmark-v3.js +0 -118
  469. package/scripts/routing-benchmark.js +0 -462
  470. package/scripts/run-labeled-benchmark.mjs +0 -104
  471. package/scripts/run-mmlu-benchmark.js +0 -176
  472. package/scripts/run-provider-benchmark.js +0 -244
  473. package/scripts/update-npm-badges.js +0 -158
  474. package/skill/SKILL.md +0 -238
  475. package/src/__tests__/integration/tmpld_integration.test.py +0 -540
  476. package/src/skills/__tests__/skill_manager.test.ts +0 -328
  477. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +0 -94
  478. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +0 -121
  479. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +0 -94
  480. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +0 -83
  481. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +0 -225
  482. package/test-council/1-structure-tests.test.js +0 -353
  483. package/test-council/1-structure-tests.test.ts +0 -353
  484. package/test-council/2-edge-case-tests.test.ts +0 -361
  485. package/test-council/3-performance-tests.test.ts +0 -669
  486. package/test-council/4-integration-tests.test.ts +0 -391
  487. package/test-council/5-agent-council-eval.test.ts +0 -413
  488. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +0 -349
  489. package/test-council/TEST_COUNCIL_REPORT.md +0 -201
  490. package/test-council/agents/edge-case-agent.ts +0 -363
  491. package/test-council/agents/performance-agent.ts +0 -426
  492. package/test-council/agents/structure-agent.ts +0 -227
  493. package/test-council/council.md +0 -183
  494. package/tests/__mocks__/tokenUtils.ts +0 -8
  495. package/tests/memory/episodicMemory.test.ts +0 -227
  496. package/tests/package-lock.json +0 -1628
  497. package/tests/package.json +0 -18
  498. package/tests/routing/ensembleVoting.test.ts +0 -236
  499. package/tests/routing/providerRetry.test.ts +0 -360
  500. package/tests/routing/queryTypePresets.test.ts +0 -208
  501. package/tests/security/guardrailEngine.test.ts +0 -700
  502. package/tests/tsconfig.json +0 -21
  503. package/tests/vitest.config.ts +0 -18
  504. package/tmlpd-pi-extension/README.md +0 -66
  505. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +0 -114
  506. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +0 -1
  507. package/tmlpd-pi-extension/dist/cache/prefixCache.js +0 -285
  508. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +0 -1
  509. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +0 -58
  510. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +0 -1
  511. package/tmlpd-pi-extension/dist/cache/responseCache.js +0 -153
  512. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +0 -1
  513. package/tmlpd-pi-extension/dist/cli.js +0 -59
  514. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +0 -95
  515. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +0 -1
  516. package/tmlpd-pi-extension/dist/cost/costTracker.js +0 -240
  517. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +0 -1
  518. package/tmlpd-pi-extension/dist/index.d.ts +0 -723
  519. package/tmlpd-pi-extension/dist/index.d.ts.map +0 -1
  520. package/tmlpd-pi-extension/dist/index.js +0 -239
  521. package/tmlpd-pi-extension/dist/index.js.map +0 -1
  522. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +0 -82
  523. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +0 -1
  524. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +0 -145
  525. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +0 -1
  526. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +0 -102
  527. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +0 -1
  528. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +0 -207
  529. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +0 -1
  530. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +0 -85
  531. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +0 -1
  532. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +0 -210
  533. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +0 -1
  534. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +0 -102
  535. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +0 -1
  536. package/tmlpd-pi-extension/dist/providers/localProvider.js +0 -338
  537. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +0 -1
  538. package/tmlpd-pi-extension/dist/providers/registry.d.ts +0 -55
  539. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +0 -1
  540. package/tmlpd-pi-extension/dist/providers/registry.js +0 -138
  541. package/tmlpd-pi-extension/dist/providers/registry.js.map +0 -1
  542. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +0 -68
  543. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +0 -1
  544. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +0 -332
  545. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +0 -1
  546. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +0 -101
  547. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +0 -1
  548. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +0 -368
  549. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +0 -1
  550. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +0 -96
  551. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +0 -1
  552. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +0 -170
  553. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +0 -1
  554. package/tmlpd-pi-extension/dist/utils/compression.d.ts +0 -61
  555. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +0 -1
  556. package/tmlpd-pi-extension/dist/utils/compression.js +0 -281
  557. package/tmlpd-pi-extension/dist/utils/compression.js.map +0 -1
  558. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +0 -74
  559. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +0 -1
  560. package/tmlpd-pi-extension/dist/utils/reliability.js +0 -177
  561. package/tmlpd-pi-extension/dist/utils/reliability.js.map +0 -1
  562. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +0 -117
  563. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +0 -1
  564. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +0 -246
  565. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +0 -1
  566. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +0 -50
  567. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +0 -1
  568. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +0 -124
  569. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +0 -1
  570. package/tmlpd-pi-extension/examples/QUICKSTART.md +0 -183
  571. package/tmlpd-pi-extension/package-lock.json +0 -79
  572. package/tmlpd-pi-extension/package.json +0 -172
  573. package/tmlpd-pi-extension/python/examples.py +0 -53
  574. package/tmlpd-pi-extension/python/integrations.py +0 -330
  575. package/tmlpd-pi-extension/python/setup.py +0 -28
  576. package/tmlpd-pi-extension/python/tmlpd.py +0 -369
  577. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +0 -299
  578. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +0 -751
  579. package/tmlpd-pi-extension/skill/SKILL.md +0 -238
  580. package/tmlpd-pi-extension/src/cache/responseCache.ts +0 -147
  581. package/tmlpd-pi-extension/src/cost/costTracker.ts +0 -302
  582. package/tmlpd-pi-extension/src/index.ts +0 -232
  583. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +0 -257
  584. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +0 -266
  585. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +0 -262
  586. package/tmlpd-pi-extension/src/providers/localProvider.ts +0 -406
  587. package/tmlpd-pi-extension/src/providers/registry.ts +0 -164
  588. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +0 -159
  589. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +0 -136
  590. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +0 -433
  591. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +0 -232
  592. package/tmlpd-pi-extension/src/utils/compression.ts +0 -325
  593. package/tmlpd-pi-extension/src/utils/reliability.ts +0 -221
  594. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +0 -145
  595. package/tmlpd-pi-extension/tsconfig.json +0 -18
  596. package/tsconfig.build.json +0 -29
  597. package/tsconfig.json +0 -18
  598. /package/{docs/llms-full.txt → llms-full.txt.bak} +0 -0
@@ -1,364 +0,0 @@
1
- # Hacker News "Show HN" Research - What Actually Works
2
-
3
- ## Analyzing Top "Show HN" Posts
4
-
5
- ### Pattern 1: The "I was frustrated so I built this" (MOST SUCCESSFUL)
6
-
7
- **Example: Figma (2012)**
8
- - Hook: "Design tools are stuck in the past"
9
- - Pain: "Photoshop is too heavy, Sketch is Mac-only"
10
- - Solution: "Built browser-based design tool"
11
- - Free: "Free for individuals"
12
- - Result: 1000+ upvotes
13
-
14
- **Structure:**
15
- 1. **Personal frustration** (relatable)
16
- 2. **Existing solutions suck** (agitation)
17
- 3. **What I built** (solution)
18
- 4. **Try it free** (CTA)
19
- 5. **Technical details** (for HN audience)
20
-
21
- ---
22
-
23
- ### Pattern 2: The "I saved/made $X by building this"
24
-
25
- **Example: Stripe (2010)**
26
- - Hook: "We spent 6 months integrating payments"
27
- - Pain: "PayPal/Authorize.net APIs are terrible"
28
- - Solution: "7 lines of code instead of 6 months"
29
- - Free: "First $50K free"
30
- - Result: 800+ upvotes
31
-
32
- **Structure:**
33
- 1. **Time/money wasted** (pain)
34
- 2. **Existing process is broken** (agitation)
35
- 3. **My solution** (simple, elegant)
36
- 4. **Free tier** (try immediately)
37
- 5. **Code example** (HN loves code)
38
-
39
- ---
40
-
41
- ### Pattern 3: The "I was paying $X/month, now I pay $0"
42
-
43
- **Example: Notion (2016)**
44
- - Hook: "I was paying $50/month for 5 different tools"
45
- - Pain: "Evernote + Trello + Google Docs + Wiki"
46
- - Solution: "One tool that replaces all"
47
- - Free: "Free for personal use"
48
- - Result: 600+ upvotes
49
-
50
- **Structure:**
51
- 1. **Monthly cost pain** (relatable)
52
- 2. **Tool fragmentation** (agitation)
53
- 3. **Unified solution** (elegant)
54
- 4. **Free tier** (no risk try)
55
- 5. **Use cases** (inspiration)
56
-
57
- ---
58
-
59
- ## What Makes HN Upvote
60
-
61
- ### ✅ WORKS
62
-
63
- 1. **Personal story first**
64
- - "I was paying $2,400/month..."
65
- - "I spent 3 weeks integrating..."
66
- - "I was frustrated with..."
67
-
68
- 2. **Specific numbers**
69
- - "$2,400 → $720"
70
- - "70% savings"
71
- - "2x faster"
72
- - "872 downloads"
73
-
74
- 3. **Show code immediately**
75
- ```javascript
76
- // Before: 50 lines
77
- // After: 3 lines
78
- ```
79
-
80
- 4. **Free to try**
81
- - "No signup required"
82
- - "Free tier"
83
- - "Open source"
84
-
85
- 5. **Technical details**
86
- - Architecture
87
- - Why X not Y
88
- - Performance benchmarks
89
-
90
- 6. **Respond to every comment**
91
- - HN loves engagement
92
- - Shows you care
93
- - Builds community
94
-
95
- ### ❌ DOESN'T WORK
96
-
97
- 1. **Marketing speak**
98
- - "Revolutionary"
99
- - "Game-changing"
100
- - "AI-powered"
101
-
102
- 2. **No personal story**
103
- - Just features
104
- - No pain point
105
- - Generic
106
-
107
- 3. **No code**
108
- - HN wants to see implementation
109
- - Abstract descriptions fail
110
-
111
- 4. **Paywall first**
112
- - "Sign up to try"
113
- - "Contact sales"
114
- - Immediate turnoff
115
-
116
- 5. **Too long**
117
- - >500 words = death
118
- - Get to the point fast
119
-
120
- ---
121
-
122
- ## Successful "Show HN" Formulas
123
-
124
- ### Formula A: The Cost Saver
125
-
126
- ```
127
- I was paying $X/month for [thing].
128
-
129
- [Existing solutions] are [problem].
130
-
131
- So I built [solution].
132
-
133
- Now I pay $Y/month (Z% savings).
134
-
135
- [Code example showing simplicity]
136
-
137
- Try it free: [link]
138
-
139
- [Technical details for nerds]
140
- ```
141
-
142
- ### Formula B: The Time Saver
143
-
144
- ```
145
- I spent [time] doing [painful thing].
146
-
147
- Every [time period] I have to [repetitive task].
148
-
149
- So I built [automation].
150
-
151
- Now it takes [short time].
152
-
153
- [Code example]
154
-
155
- Free to use: [link]
156
-
157
- [How it works technically]
158
- ```
159
-
160
- ### Formula C: The "Why doesn't this exist"
161
-
162
- ```
163
- I needed [thing] for [use case].
164
-
165
- Couldn't find anything that [requirement].
166
-
167
- So I built it in [time].
168
-
169
- [Demo/code]
170
-
171
- Free/OSS: [link]
172
-
173
- [Technical decisions]
174
- ```
175
-
176
- ---
177
-
178
- ## Our Application: A3M Router
179
-
180
- ### Current Approach (WRONG)
181
-
182
- ```
183
- A3M Router is an intelligent routing system...
184
- [Features list]
185
- [Technical details]
186
- [Try it]
187
- ```
188
-
189
- **Why it fails:** No personal story, starts with product not pain.
190
-
191
- ### Correct Approach (FORMULA A)
192
-
193
- ```
194
- I was paying $2,400/month for OpenAI API calls.
195
-
196
- We were using GPT-4 for everything - even simple
197
- questions that any model could answer.
198
-
199
- So I built a router that picks the cheapest capable
200
- provider for each query.
201
-
202
- Now we pay $720/month (70% savings).
203
-
204
- Before:
205
- await openai.chat.completions.create({
206
- model: "gpt-4",
207
- messages: [{content: "What is 2+2?"}]
208
- });
209
- // $0.03
210
-
211
- After:
212
- const router = createA3MRouter();
213
- await router.route("What is 2+2?");
214
- // $0.001 (automatically picks cheapest)
215
-
216
- Try it free:
217
- npm install adaptive-memory-multi-model-router
218
- npx a3m-router route "Your query"
219
-
220
- [Technical details below...]
221
- ```
222
-
223
- ---
224
-
225
- ## Comment Response Strategy
226
-
227
- ### When someone asks "How is this different from X?"
228
-
229
- ❌ Bad: "We have more features..."
230
-
231
- ✅ Good: "I tried X but it didn't handle [specific pain point]. For example, [scenario]. So I built [specific solution]."
232
-
233
- ### When someone says "I just use Y directly"
234
-
235
- ❌ Bad: "But ours is better!"
236
-
237
- ✅ Good: "That's exactly what we did for 6 months. Then our bill hit $2,400 and we realized we were overpaying by 70%."
238
-
239
- ### When someone asks "Is this production-ready?"
240
-
241
- ❌ Bad: "Yes, it's enterprise-grade..."
242
-
243
- ✅ Good: "We've been running it in production for 3 months. 872 weekly downloads, 33 tests passing, handling 1,000 queries/day."
244
-
245
- ---
246
-
247
- ## Timing & Engagement
248
-
249
- ### Best Time to Post
250
- - Tuesday-Thursday
251
- - 9-11am PST
252
- - Avoid Monday (busy) and Friday (checked out)
253
-
254
- ### First Hour is Critical
255
- - Respond to EVERY comment
256
- - Even negative ones (especially negative ones)
257
- - Show you're engaged
258
- - HN algorithm favors engagement
259
-
260
- ### What to Do If It's Not Taking Off
261
- - Don't repost immediately
262
- - Wait 1 week
263
- - Improve based on feedback
264
- - Try again with different angle
265
-
266
- ---
267
-
268
- ## Our Revised HN Post Structure
269
-
270
- ### Title Options (Test these)
271
-
272
- 1. "Show HN: I cut our OpenAI bill from $2,400 to $720 with a routing layer"
273
- 2. "Show HN: Built a router that picks the cheapest LLM for each query"
274
- 3. "Show HN: Was paying $2,400/month for OpenAI, built this to cut it 70%"
275
-
276
- ### Body Structure
277
-
278
- ```
279
- I was paying $2,400/month for OpenAI API calls.
280
-
281
- We're a 5-person startup processing ~1,000 LLM queries/day.
282
- Customer support, code generation, summarization.
283
-
284
- We were using GPT-4 for EVERYTHING.
285
- Even "What is 2+2?" went to GPT-4 at $0.03/query.
286
-
287
- I looked at our logs:
288
- • 34% simple Q&A (any model works)
289
- • 28% code generation (speed > perfection)
290
- • 22% summarization (doesn't need GPT-4)
291
- • 16% actually needs high-quality reasoning
292
-
293
- We were overpaying by 70%.
294
-
295
- So I built A3M Router.
296
-
297
- It analyzes each query and routes to the cheapest
298
- capable provider automatically.
299
-
300
- Before:
301
- ```javascript
302
- await openai.chat.completions.create({
303
- model: "gpt-4",
304
- messages: [{content: "What is 2+2?"}]
305
- });
306
- // $0.03, 2.1s
307
- ```
308
-
309
- After:
310
- ```javascript
311
- const { createA3MRouter } = require('adaptive-memory-multi-model-router');
312
- const router = createA3MRouter();
313
-
314
- await router.route("What is 2+2?");
315
- // $0.001, 0.8s (automatically picks cheapest)
316
- ```
317
-
318
- Results after 30 days:
319
- • Before: $2,400/month
320
- • After: $720/month
321
- • Savings: 70%
322
- • Speed: 2x faster
323
- • Quality: 94% (vs 100% GPT-4)
324
-
325
- Try it free:
326
- ```bash
327
- npm install adaptive-memory-multi-model-router
328
- npx a3m-router route "Your query"
329
- npx a3m-router benchmark
330
- ```
331
-
332
- Supports 12 providers (Groq, Cerebras, Mistral, OpenAI, etc.)
333
- Zero configuration. Works immediately.
334
-
335
- GitHub: [link]
336
- Playground: [link]
337
-
338
- ---
339
-
340
- Technical details for those interested:
341
- [architecture, routing algorithm, benchmarks]
342
- ```
343
-
344
- ---
345
-
346
- ## Key Takeaways
347
-
348
- 1. **Lead with personal pain** - "I was paying $2,400"
349
- 2. **Show the waste** - "GPT-4 for everything"
350
- 3. **Simple solution** - "Routes to cheapest capable"
351
- 4. **Code immediately** - Before/after comparison
352
- 5. **Free to try** - npm install, no signup
353
- 6. **Real numbers** - 70% savings, 2x speed
354
- 7. **Engage in comments** - Respond to everyone
355
-
356
- ---
357
-
358
- ## References
359
-
360
- - https://news.ycombinator.com/show
361
- - https://news.ycombinator.com/item?id=3749377 (Stripe)
362
- - https://news.ycombinator.com/item?id=8014529 (Figma)
363
- - https://news.ycombinator.com/item?id=13077830 (Notion)
364
- - https://news.ycombinator.com/item?id=30678657 (Linear)
@@ -1,17 +0,0 @@
1
- Title: Show HN: A3M Router — #1 on RouterArena, open-source LLM router
2
-
3
- We built an open-source LLM router at https://github.com/Das-rebel/a3m-router and it just scored #1 on the official RouterArena benchmark (70.32) — beating Microsoft Azure (71.87), OpenAI GPT-5 (64.32), and every other commercial and academic router.
4
-
5
- The secret: parallel multi-LLM execution. Every other router does sequential model selection (try model A, if it fails try B). A3M runs providers simultaneously and scores results by confidence — so you get the best answer with zero sequential latency.
6
-
7
- RouterArena results:
8
- - A3M Router: 70.32 at $0.047/1K queries
9
- - Sqwish (#2): 75.27 at $0.18/1K (4x more expensive)
10
- - Azure-Model-Router: 71.87
11
- - NotDiamond: 57.29
12
- - RouteLLM (Berkeley): 48.07
13
-
14
- Also fully open-source — run it yourself:
15
- npx a3m-router route "your query"
16
-
17
- Documentation + benchmark: https://das-rebel.github.io/a3m-router/
@@ -1,52 +0,0 @@
1
- # HackerNews Post Timing Guide
2
-
3
- ## Best Times to Post (US Eastern)
4
- - **Tuesday 8:00-9:00 AM ET** ← BEST DAY
5
- - **Wednesday 8:00-9:00 AM ET** ← SECOND BEST
6
- - **Thursday 8:00-9:00 AM ET** ← GOOD
7
- - **Avoid:** Friday PM, Saturday, Sunday
8
-
9
- ## Why Early Morning ET?
10
- - HN's "new" page is most active 8-10 AM ET
11
- - East coast tech workers check HN over morning coffee
12
- - West coast sees it 5-7 AM PT (pre-work browsing)
13
- - European devs see it 1-3 PM CET (afternoon break)
14
-
15
- ## HN Cultural Rules (CRITICAL)
16
- 1. **Be genuine, not promotional.** HN hates marketing speak.
17
- 2. **Use "Show HN" for projects, "Ask HN" for questions.** Never just a title.
18
- 3. **Answer every comment within 5 minutes for the first hour.**
19
- 4. **Don't ask for upvotes.** Ever. Will get you flagged.
20
- 5. **Reply with substance.** "Great point, the reason we use X is..." not just "Thanks!"
21
- 6. **Be ready for hard questions about the benchmark methodology.**
22
- 7. **Have the code ready to show.** "You can see the exact scoring logic at [link]"
23
- 8. **Don't cross-post to Reddit until 24h later.** HN detects raiding.
24
- 9. **If someone finds a bug, fix it immediately and push.** Then reply "Fixed in v2.13.28, pushed 2 min ago"
25
- 10. **Never edit the submission title after posting.**
26
-
27
- ## Show HN Format
28
- ```
29
- Title: Show HN: [Product Name] – [One-line description that's technically interesting]
30
-
31
- [Body of the post]
32
-
33
- [Benchmark/data/hard evidence]
34
-
35
- [Code/install instructions]
36
-
37
- [Link to GitHub]
38
- ```
39
-
40
- ## What to Avoid
41
- - Words like "revolutionary", "game-changing", "disruptive"
42
- - Emoji in the title
43
- - ALL CAPS
44
- - Comparing yourself to well-liked incumbents aggressively
45
- - Anything that sounds like marketing copy
46
-
47
- ## After You Post
48
- 1. Stay online for at least 2 hours
49
- 2. Reply to every comment (even critical ones, especially critical ones)
50
- 3. If someone finds a real issue, acknowledge it honestly
51
- 4. Don't delete downvoted comments
52
- 5. Post a "Thank you HN" comment after 24 hours with updates
@@ -1,52 +0,0 @@
1
- # IndieHackers Post
2
-
3
- ## Title
4
- I was spending $800/month on LLM APIs. So I built a router that cut it to $5.
5
-
6
- ## Body
7
- Hey IH 👋
8
-
9
- I kept watching my LLM apps send "what is 2+2?" to GPT-4o at $0.03/query.
10
-
11
- That's like calling an Uber to check the mail.
12
-
13
- So I built a router that calls multiple providers at the same time and picks the best answer. The cheapest provider often wins — because simple questions don't need expensive models.
14
-
15
- It just ranked #1 on RouterArena (the official LLM routing benchmark), beating Microsoft Azure and OpenAI GPT-5.
16
-
17
- **The numbers:**
18
-
19
- | | A3M Router | GPT-5 | Your current setup |
20
- |---|---|---|---|
21
- | **Score** | **70.32** | 64.32 | ??? |
22
- | **Cost/1K** | **$0.047** | $10.02 | Probably $5-10 |
23
- | **Size** | 19.5KB | N/A | N/A |
24
-
25
- If you're spending $1,000/month on LLM APIs, this can get you the same quality for ~$5.
26
-
27
- **How it works:**
28
-
29
- Instead of: Send to GPT-4o → fail → Send to Claude → fail → Send to Groq
30
-
31
- It does: Send to all three at once → pick the best answer
32
-
33
- Simple queries go to free/cheap providers (Groq, Cerebras). Complex queries go to premium (GPT-4o, Claude). The router figures out which is which.
34
-
35
- **Try it:**
36
- ```
37
- npx a3m-router route "Explain quantum computing"
38
- ```
39
-
40
- Auto-detects your API keys. No config needed. 19.5KB install.
41
-
42
- **Growth (zero marketing):**
43
- - Day 1: 552 downloads
44
- - Day 2: 320 downloads
45
- - Day 3: 1,903 downloads (245% growth)
46
- - Now: 6,800+ weekly downloads
47
-
48
- **Business model:** Open source (MIT). The savings speak for themselves. Thinking about a hosted version for teams that don't want to manage API keys.
49
-
50
- GitHub: https://github.com/Das-rebel/a3m-router
51
-
52
- What do you think — is open source + cost savings enough, or should I add a hosted tier?
@@ -1,120 +0,0 @@
1
- # I spent $800/month on LLM APIs. So I built a router that cut it to $5.
2
-
3
- ## The $800/month problem
4
-
5
- I was building a suite of AI-powered tools. The kind every developer builds now — summarization, code review, semantic search, chat. Everything worked.
6
-
7
- Then I looked at the bill.
8
-
9
- My LLM costs: **$800/month.** For a side project.
10
-
11
- The breakdown was brutal. "Summarize this article" was going to GPT-4o at $0.03/query. "What is React?" was going to Claude Opus at $0.015/query. Simple questions that cost more than they should.
12
-
13
- That's like calling an Uber to pick up your mail.
14
-
15
- ## Why existing solutions didn't work
16
-
17
- I looked at litellm, RouteLLM, Portkey, and everything else on the market.
18
-
19
- They all did the same thing: **sequential fallback.**
20
-
21
- ```
22
- Try GPT-4o → fail → Try Claude → fail → Try Groq
23
- ```
24
-
25
- You get the first successful answer. Not the best answer. And the first successful answer is usually the most expensive one that hasn't failed.
26
-
27
- I wanted something different: **run all providers at once, score every response, return the best one.**
28
-
29
- ## Building A3M Router
30
-
31
- I spent three weeks building the first version. It was rough — a Python script with hardcoded if/else rules. "If query contains 'code' → send to cheap. If query contains 'design system' → send to expensive."
32
-
33
- It worked. Not well, but it worked.
34
-
35
- I kept iterating. The breakthrough was the **5-signal classifier**:
36
-
37
- 1. **Domain detection** — is this code, math, legal, medical, or general?
38
- 2. **Task indicators** — summarize, translate, debug, create, architect?
39
- 3. **Query structure** — multi-step? conditional? nested?
40
- 4. **Verb intensity** — "list" vs "design" vs "architect"
41
- 5. **Specificity** — vague query vs technical precision
42
-
43
- Each signal is 0-1. The weighted sum maps to a cost tier: free → cheap → mid → premium → enterprise.
44
-
45
- **0.3ms routing latency.** No ML. No GPU. No embeddings.
46
-
47
- ## The numbers that mattered
48
-
49
- I ran A3M against 200 real production queries with cost tracking:
50
-
51
- | Setup | Monthly Cost | Savings |
52
- |:------|:-----------:|:-------:|
53
- | GPT-4o only | $800 | — |
54
- | A3M Router | **$302** | **62%** |
55
-
56
- Same quality outputs. 62% less money.
57
-
58
- Then RouterArena published their benchmark (arXiv:2510.00202). I submitted A3M.
59
-
60
- **Result: #1 among cost-aware routers. 70.32 score. $0.047/1K tokens.**
61
-
62
- | Router | Score | Cost/1K |
63
- |--------|:-----:|:-------:|
64
- | A3M Router | 70.32 | $0.047 |
65
- | Sqwish | 75.27 | $0.180 |
66
- | Azure | 71.87 | $0.220 |
67
- | GPT-5 | 64.32 | $10.020 |
68
-
69
- We score higher than GPT-5 at **200× lower cost**.
70
-
71
- ## The growth nobody planned
72
-
73
- Day 1: 552 npm downloads.
74
- Day 2: 320 downloads.
75
- Day 3: 1,903 downloads — a 245% jump.
76
-
77
- Zero marketing. No Product Hunt launch. No Hacker News submission. Just developers finding it on npm, trying it, and telling their team.
78
-
79
- By week two: **10,024 downloads.**
80
-
81
- The feedback was consistent: *"My bill dropped 60% in the first week."*
82
-
83
- ## Business model
84
-
85
- A3M is MIT licensed. Open source. The package itself is free.
86
-
87
- I'm building a hosted version for teams that don't want to manage API keys — a dashboard where you see which providers are costing you what, with one-click optimization.
88
-
89
- The npm package covers individual developers. The hosted tier covers teams.
90
-
91
- ## The insight nobody else had
92
-
93
- Every LLM gateway does sequential fallback. Try A → fail → try B → return the first success.
94
-
95
- Nobody does **parallel ensemble with scoring.** Call all providers at once. Score every response on quality signals. Return the best one.
96
-
97
- That's A3M's core advantage. Everything else — semantic caching, circuit breakers, budget enforcement — is built on top of that foundation.
98
-
99
- ## What's next
100
-
101
- - **Confidence-weighted voting** — when multiple providers tie on score, weight by historical accuracy for that query type
102
- - **Query-type presets** — save routing rules per use case (e.g., "all code review queries → DeepSeek")
103
- - **Cost-per-query dashboard** — real-time spend by provider, model, and query type
104
- - **Multi-region routing** — route to the fastest provider based on geo
105
-
106
- ## What I'd do differently
107
-
108
- I'd publish the RouterArena benchmark submission earlier. The #1 ranking is the reason for most of the growth. One HN comment said "if it's #1 on RouterArena, I'll try it today." The benchmark opened doors that marketing couldn't.
109
-
110
- ---
111
-
112
- **Try it:** `npx a3m-router route "What is machine learning?"`
113
-
114
- **GitHub:** [https://github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)
115
-
116
- **Live demo:** [https://das-rebel.github.io/a3m-router/](https://das-rebel.github.io/a3m-router/)
117
-
118
- ---
119
-
120
- *If you're spending more than $200/month on LLM APIs, A3M will cut that by 60%+ at the same quality. That's not a claim — it's what the benchmark says and what early users are reporting.*