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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/.dockerignore +82 -0
  2. package/.env.example +303 -0
  3. package/.github/DISCUSSIONS_WELCOME.md +27 -0
  4. package/.github/DISCUSSION_TEMPLATE.yml +5 -0
  5. package/.github/FUNDING.yml +2 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +94 -0
  7. package/.github/ISSUE_TEMPLATE/config.yml +17 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +71 -0
  9. package/.github/PULL_REQUEST_TEMPLATE.md +71 -0
  10. package/.github/dependabot.yml +9 -0
  11. package/.github/workflows/ci.yml +263 -0
  12. package/.github/workflows/codeql.yml +38 -0
  13. package/.github/workflows/npm-publish.yml +20 -0
  14. package/.github/workflows/pages.yml +37 -0
  15. package/.github/workflows/stale.yml +54 -0
  16. package/.publish-tick +1 -0
  17. package/.well-known/ai-plugin.json +16 -0
  18. package/AGENT_COUNCIL_FINDINGS.md +142 -0
  19. package/ARCHITECTURE.md +346 -0
  20. package/AUDIT_REPORT.md +28 -0
  21. package/CODE_OF_CONDUCT.md +128 -0
  22. package/CONTRIBUTING.md +50 -0
  23. package/CONTRIBUTORS.md +20 -0
  24. package/Dockerfile +53 -0
  25. package/Dockerfile.proxy +33 -0
  26. package/HEALTH_REPORT.md +118 -0
  27. package/IMPROVEMENT_PLAN.md +107 -0
  28. package/LANDING.md +43 -0
  29. package/LAUNCH-PAIN-DRIVEN.md +339 -0
  30. package/LAUNCH.md +337 -0
  31. package/LAUNCH_CHECKLIST.md +141 -0
  32. package/LAUNCH_SNAPSHOT.md +260 -0
  33. package/MANIFESTO.md +41 -0
  34. package/POPULARITY_BOOSTERS.md +285 -0
  35. package/PR_STATUS_REPORT.md +148 -0
  36. package/README.md +25 -14
  37. package/REDESIGN.md +95 -0
  38. package/RUNKIT.md +83 -0
  39. package/SECURITY.md +29 -0
  40. package/SUBMISSIONS.md +43 -0
  41. package/_schema.html +53 -0
  42. package/ai-plugin.json +16 -0
  43. package/articles/AI_AGENT_LLM_ROUTING.md +150 -0
  44. package/articles/CHINESE_DIRECTORIES.md +100 -0
  45. package/articles/CHINESE_SUBMISSIONS_READY.md +322 -0
  46. package/articles/COMPETITOR_ALERTS.md +31 -0
  47. package/articles/COMPLETE_POSTING_DIRECTORY.md +147 -0
  48. package/articles/CONTENT_STRUCTURE.md +292 -0
  49. package/articles/DEVTO_COST_GUIDE.md +473 -0
  50. package/articles/DEVTO_FINAL.md +416 -0
  51. package/articles/DEVTO_MULTI_PROVIDER.md +542 -0
  52. package/articles/DEVTO_READY.md +255 -0
  53. package/articles/DEVTO_V2_ANNOUNCEMENT.md +160 -0
  54. package/articles/DEVTO_VIRAL_GROWTH.md +280 -0
  55. package/articles/FRESH_devto.md +460 -0
  56. package/articles/FRESH_devto_2026_05.md +73 -0
  57. package/articles/FRESH_hackernews.md +14 -0
  58. package/articles/FRESH_reddit_ml.md +90 -0
  59. package/articles/FRESH_reddit_node.md +198 -0
  60. package/articles/FRESH_reddit_sideproject.md +72 -0
  61. package/articles/FRESH_reddit_webdev.md +130 -0
  62. package/articles/FROM_ZERO_TO_10K.md +107 -0
  63. package/articles/HN_10X_BETTER.md +430 -0
  64. package/articles/HN_ACCOUNT_GUIDE.md +21 -0
  65. package/articles/HN_CHINESE_STYLE.md +308 -0
  66. package/articles/HN_FINAL.md +148 -0
  67. package/articles/HN_POSTED_VERSION.md +56 -0
  68. package/articles/HN_POST_READY.md +137 -0
  69. package/articles/HN_RESEARCH.md +364 -0
  70. package/articles/HN_SHOW_routerarena.md +17 -0
  71. package/articles/HN_TIMING_GUIDE.md +52 -0
  72. package/articles/INDIEHACKERS_POST.md +52 -0
  73. package/articles/INDIEHACKERS_READY.md +120 -0
  74. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +153 -0
  75. package/articles/MASTER_POSTING_DIRECTORY.md +189 -0
  76. package/articles/NEWSLETTER_SEND_NOW.md +259 -0
  77. package/articles/NEWSLETTER_SUBMISSIONS.md +112 -0
  78. package/articles/PAIN-DRIVEN-devto-v2.md +308 -0
  79. package/articles/PAIN-DRIVEN-devto-v3.md +268 -0
  80. package/articles/PAIN-DRIVEN-devto.md +242 -0
  81. package/articles/PAIN-DRIVEN-hackernews-v2.md +138 -0
  82. package/articles/PAIN-DRIVEN-hackernews-v3.md +151 -0
  83. package/articles/PAIN-DRIVEN-hackernews.md +131 -0
  84. package/articles/PAIN-DRIVEN-reddit-v2.md +301 -0
  85. package/articles/PAIN-DRIVEN-reddit-v3.md +236 -0
  86. package/articles/PAIN-DRIVEN-reddit.md +218 -0
  87. package/articles/PAIN-DRIVEN-twitter-v2.md +110 -0
  88. package/articles/PAIN-DRIVEN-twitter-v3.md +121 -0
  89. package/articles/PAIN-DRIVEN-twitter.md +120 -0
  90. package/articles/PORTKEY_VS_A3M.md +147 -0
  91. package/articles/POSTING_KIT_2026_05.md +67 -0
  92. package/articles/PRESS_KIT_routerarena.md +77 -0
  93. package/articles/PRODUCTHUNT_LISTING.md +48 -0
  94. package/articles/PRODUCTHUNT_READY.md +106 -0
  95. package/articles/PR_PLAN_vault.md +125 -0
  96. package/articles/REDDIT_FINAL.md +232 -0
  97. package/articles/REDDIT_POST.md +67 -0
  98. package/articles/REDDIT_SUBMISSION_READY.md +348 -0
  99. package/articles/ROUTERARENA_9677.md +78 -0
  100. package/articles/ROUTERARENA_LEADER.md +45 -0
  101. package/articles/SHOW_HN_FINAL.md +29 -0
  102. package/articles/TWEETS_10K_DOWNLOADS.md +47 -0
  103. package/articles/TWEETS_BENCHMARK_FIRST.md +46 -0
  104. package/articles/TWEETS_MCP_PLAY.md +51 -0
  105. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +49 -0
  106. package/articles/TWEETS_WHY_BUILD.md +54 -0
  107. package/articles/TWEETS_routerarena_leader.md +53 -0
  108. package/articles/TWEET_STORM_READY.md +165 -0
  109. package/articles/TWITTER_FINAL.md +167 -0
  110. package/articles/WHY_10X_BETTER.md +261 -0
  111. package/articles/WHY_CHINESE_STYLE_BETTER.md +323 -0
  112. package/articles/ai-discoverability-llm-routing.md +210 -0
  113. package/articles/devto-llm-routing.md +138 -0
  114. package/articles/hackernews-show-hn.md +54 -0
  115. package/articles/hashnode-llm-cost-optimization.md +125 -0
  116. package/articles/hn_show_2026_05.md +11 -0
  117. package/articles/medium-building-llm-router.md +205 -0
  118. package/articles/reddit-ml.md +76 -0
  119. package/articles/twitter-thread-cost-savings.md +50 -0
  120. package/articles/youtube-tutorial-script.md +262 -0
  121. package/assets/a3m_3blue1brown.mp4 +0 -0
  122. package/assets/banner.svg +109 -0
  123. package/assets/chart-cost-v2.svg +91 -0
  124. package/assets/chart-cost-v3.svg +143 -0
  125. package/assets/chart-features-v2.svg +132 -0
  126. package/assets/chart-features-v3.svg +211 -0
  127. package/assets/chart-growth-v2.svg +122 -0
  128. package/assets/chart-growth-v3.svg +189 -0
  129. package/assets/cost-comparison.svg +134 -0
  130. package/assets/cost-simple.svg +64 -0
  131. package/assets/demo-hn.gif +0 -0
  132. package/assets/feature-matrix.svg +136 -0
  133. package/assets/growth-chart-animated.svg +76 -0
  134. package/assets/growth-chart.svg +82 -0
  135. package/assets/growth-simple.svg +69 -0
  136. package/assets/hero-diagram.svg +81 -0
  137. package/assets/logo-new.svg +21 -0
  138. package/assets/logo.svg +68 -0
  139. package/assets/provider-comparison.svg +121 -0
  140. package/assets/social-preview-new.svg +100 -0
  141. package/assets/social-preview.svg +194 -0
  142. package/assets/social-v2.svg +130 -0
  143. package/assets/social-v3.svg +212 -0
  144. package/benchmark-provider-results.json +245 -0
  145. package/benchmark-results.json +54 -0
  146. package/council-votes/architecture-vote.md +121 -0
  147. package/council-votes/coverage-vote.md +93 -0
  148. package/data/adaptive-benchmark.json +92 -0
  149. package/data/benchmark-results.json +47 -0
  150. package/data/labeled-benchmark.json +88 -0
  151. package/demo/3blue1brown_video.py +285 -0
  152. package/demo/3blue1brown_video_v2.py +310 -0
  153. package/demo/IMPROVED_PROMPTS.md +229 -0
  154. package/demo/VEO3_PROMPTS.md +269 -0
  155. package/demo/VIDEO_PRODUCTION_GUIDE.md +333 -0
  156. package/demo/a3m_3blue1brown.mp4 +0 -0
  157. package/demo/asciinema-demo.sh +195 -0
  158. package/demo/demo-hn.tape +74 -0
  159. package/demo/demo-script.md +53 -0
  160. package/demo/demo-script.sh +62 -0
  161. package/demo/demo.svg +75 -0
  162. package/demo/frame1_ai_data_center.png +0 -0
  163. package/demo/frame1_sunset_video.mp4 +0 -0
  164. package/demo/frame2_cost_comparison.png +0 -0
  165. package/demo/frame2_cost_comparison_fallback.png +0 -0
  166. package/demo/frame3_parallel_execution.png +0 -0
  167. package/demo/frame3_parallel_execution_fallback.png +0 -0
  168. package/demo/frame4_providers.png +0 -0
  169. package/demo/frame4_providers_fallback.png +0 -0
  170. package/demo/frame5_endcard.png +0 -0
  171. package/demo/frame5_endcard_fallback.png +0 -0
  172. package/demo/new_frame1_hook.png +0 -0
  173. package/demo/new_frame2_proof.png +0 -0
  174. package/demo/new_frame3_wow.png +0 -0
  175. package/demo/new_frame4_social.png +0 -0
  176. package/demo/new_frame5_cta.png +0 -0
  177. package/demo/package.json +13 -0
  178. package/demo/product-video-final.mp4 +0 -0
  179. package/demo/product-video-hype-v1.mp4 +0 -0
  180. package/demo/product-video-v1.mp4 +0 -0
  181. package/demo/public/index.html +762 -0
  182. package/demo/recording.cast +55 -0
  183. package/demo/server.js +405 -0
  184. package/demo-new.tape +71 -0
  185. package/demo-real.sh +198 -0
  186. package/demo-simple.tape +205 -0
  187. package/demo.html +520 -0
  188. package/demo.sh +85 -0
  189. package/demo.tape +259 -0
  190. package/dist/analytics/costAnalytics.d.ts.map +1 -0
  191. package/dist/analytics/costAnalytics.js.map +1 -0
  192. package/dist/benchmark/comprehensive.js.map +1 -0
  193. package/dist/benchmark/reproducible.d.ts.map +1 -0
  194. package/dist/benchmark/reproducible.js.map +1 -0
  195. package/dist/cache/prefixCache.d.ts.map +1 -0
  196. package/dist/cache/prefixCache.js.map +1 -0
  197. package/dist/cache/responseCache.d.ts.map +1 -0
  198. package/dist/cache/responseCache.js.map +1 -0
  199. package/dist/cache/semanticCache.d.ts.map +1 -0
  200. package/dist/cache/semanticCache.js.map +1 -0
  201. package/dist/cli/setupWizard.d.ts.map +1 -0
  202. package/dist/cli/setupWizard.js.map +1 -0
  203. package/dist/cost/budgetEnforcer.d.ts.map +1 -0
  204. package/dist/cost/budgetEnforcer.js.map +1 -0
  205. package/dist/cost/costTracker.d.ts.map +1 -0
  206. package/dist/cost/costTracker.js.map +1 -0
  207. package/dist/ensemble/multiRoundDialog.js.map +1 -0
  208. package/dist/ensemble/shapleyValue.js.map +1 -0
  209. package/dist/integrations/langchainAdapter.d.ts.map +1 -0
  210. package/dist/integrations/langchainAdapter.js.map +1 -0
  211. package/dist/integrations/oauth.d.ts.map +1 -0
  212. package/dist/integrations/oauth.js.map +1 -0
  213. package/dist/integrations/scienceAdapter.js.map +1 -0
  214. package/dist/memory/autoFetch.d.ts.map +1 -0
  215. package/dist/memory/autoFetch.js.map +1 -0
  216. package/dist/memory/episodicMemory.d.ts.map +1 -0
  217. package/dist/memory/episodicMemory.js.map +1 -0
  218. package/dist/memory/hybridMemory.js.map +1 -0
  219. package/dist/memory/memoryTree.d.ts.map +1 -0
  220. package/dist/memory/memoryTree.js.map +1 -0
  221. package/dist/memory/obsidianVault.d.ts.map +1 -0
  222. package/dist/memory/obsidianVault.js.map +1 -0
  223. package/dist/memory/reasoningBank.js.map +1 -0
  224. package/dist/observability/changeWatch.d.ts.map +1 -0
  225. package/dist/observability/changeWatch.js.map +1 -0
  226. package/dist/observability/fatigueDetector.d.ts.map +1 -0
  227. package/dist/observability/fatigueDetector.js.map +1 -0
  228. package/dist/observability/index.d.ts.map +1 -0
  229. package/dist/observability/index.js.map +1 -0
  230. package/dist/observability/metrics.d.ts.map +1 -0
  231. package/dist/observability/metrics.js.map +1 -0
  232. package/dist/observability/middleware.d.ts.map +1 -0
  233. package/dist/observability/middleware.js.map +1 -0
  234. package/dist/observability/tracer.d.ts.map +1 -0
  235. package/dist/observability/tracer.js.map +1 -0
  236. package/dist/observability/types.d.ts.map +1 -0
  237. package/dist/observability/types.js.map +1 -0
  238. package/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  239. package/dist/orchestration/haloOrchestrator.js.map +1 -0
  240. package/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  241. package/dist/orchestration/mctsWorkflow.js.map +1 -0
  242. package/dist/providers/localProvider.d.ts.map +1 -0
  243. package/dist/providers/localProvider.js.map +1 -0
  244. package/dist/providers/providerConfig.d.ts.map +1 -0
  245. package/dist/providers/providerConfig.js.map +1 -0
  246. package/dist/providers/registry.d.ts.map +1 -0
  247. package/dist/providers/registry.js.map +1 -0
  248. package/dist/routing/advancedRouter.d.ts.map +1 -0
  249. package/dist/routing/advancedRouter.js +1 -1
  250. package/dist/routing/advancedRouter.js.map +1 -0
  251. package/dist/routing/crossModelValidation.d.ts.map +1 -0
  252. package/dist/routing/crossModelValidation.js.map +1 -0
  253. package/dist/routing/providerHealth.d.ts.map +1 -0
  254. package/dist/routing/providerHealth.js.map +1 -0
  255. package/dist/routing/providerRetry.d.ts.map +1 -0
  256. package/dist/routing/providerRetry.js.map +1 -0
  257. package/dist/scripts/banner.js +29 -0
  258. package/dist/security/guardrails.d.ts.map +1 -0
  259. package/dist/security/guardrails.js.map +1 -0
  260. package/dist/server/dashboard.d.ts.map +1 -0
  261. package/dist/server/dashboard.js.map +1 -0
  262. package/dist/server/modelMapper.d.ts.map +1 -0
  263. package/dist/server/modelMapper.js.map +1 -0
  264. package/dist/server/proxyServer.d.ts.map +1 -0
  265. package/dist/server/proxyServer.js.map +1 -0
  266. package/dist/skills/__tests__/skill_manager.test.d.ts +2 -0
  267. package/dist/skills/__tests__/skill_manager.test.d.ts.map +1 -0
  268. package/dist/skills/__tests__/skill_manager.test.js +268 -0
  269. package/dist/skills/__tests__/skill_manager.test.js.map +1 -0
  270. package/dist/tools/tmlpdTools.d.ts.map +1 -0
  271. package/dist/tools/tmlpdTools.js.map +1 -0
  272. package/dist/tui/dashboard.d.ts.map +1 -0
  273. package/dist/tui/dashboard.js.map +1 -0
  274. package/dist/tui/index.d.ts.map +1 -0
  275. package/dist/tui/index.js.map +1 -0
  276. package/dist/utils/batchProcessor.d.ts.map +1 -0
  277. package/dist/utils/batchProcessor.js.map +1 -0
  278. package/dist/utils/compression.d.ts.map +1 -0
  279. package/dist/utils/compression.js.map +1 -0
  280. package/dist/utils/costUtils.d.ts.map +1 -0
  281. package/dist/utils/costUtils.js.map +1 -0
  282. package/dist/utils/reliability.d.ts.map +1 -0
  283. package/dist/utils/reliability.js.map +1 -0
  284. package/dist/utils/sorting.d.ts.map +1 -0
  285. package/dist/utils/sorting.js.map +1 -0
  286. package/dist/utils/speculativeDecoding.d.ts.map +1 -0
  287. package/dist/utils/speculativeDecoding.js.map +1 -0
  288. package/dist/utils/tokenUtils.d.ts.map +1 -0
  289. package/dist/utils/tokenUtils.js.map +1 -0
  290. package/docs/.nojekyll +0 -0
  291. package/docs/ANALYSIS_PRINCIPLES.md +162 -0
  292. package/docs/API.md +855 -0
  293. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +1391 -0
  294. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +1051 -0
  295. package/docs/BENCHMARK.md +170 -0
  296. package/docs/CHINESE_PROVIDER_RELIABILITY.md +37 -0
  297. package/docs/CITATIONS.md +74 -0
  298. package/docs/CLAIMS_AND_EVIDENCE.md +58 -0
  299. package/docs/CONFIGURATION.md +476 -0
  300. package/docs/COUNCIL_DECISION.json +816 -0
  301. package/docs/COUNCIL_SUMMARY.md +319 -0
  302. package/docs/COUNCIL_V2.2_DECISION.md +416 -0
  303. package/docs/ENGINEERING_SPEC.md +55 -0
  304. package/docs/FACTORY_RESET.md +34 -0
  305. package/docs/GEO.md +66 -0
  306. package/docs/GEO_OPTIMIZATION.md +30 -0
  307. package/docs/GEO_ROOT_CAUSE.md +136 -0
  308. package/docs/GEO_STATUS.md +85 -0
  309. package/docs/GEO_TEST_RESULTS.md +176 -0
  310. package/docs/HN_CHECKLIST.md +38 -0
  311. package/docs/HN_FOUNDER_COMMENT.md +17 -0
  312. package/docs/HN_SUBMISSION_FINAL.md +180 -0
  313. package/docs/HN_SUBMISSION_V3.md +56 -0
  314. package/docs/IMPROVEMENT_ROADMAP.md +515 -0
  315. package/docs/INTEGRATIONS.md +420 -0
  316. package/docs/LANGCHAIN_INTEGRATION.md +147 -0
  317. package/docs/LLM_COUNCIL_DECISION.md +508 -0
  318. package/docs/MIDDLEWARE_CHAIN.md +35 -0
  319. package/docs/PROMO_CHECKLIST.md +200 -0
  320. package/docs/QUICKSTART.md +271 -0
  321. package/docs/QUICK_START.md +43 -0
  322. package/docs/QUICK_START_VISIBILITY.md +782 -0
  323. package/docs/REDDIT_GAP_ANALYSIS.md +299 -0
  324. package/docs/RELEASE_CHECKLIST.md +32 -0
  325. package/docs/REPRODUCIBILITY.md +63 -0
  326. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +1180 -0
  327. package/docs/ROUTING_RUBRIC.md +197 -0
  328. package/docs/SEO_AUDIT.md +186 -0
  329. package/docs/SOCIAL_LISTENING.md +219 -0
  330. package/docs/TMLPD_QNA.md +751 -0
  331. package/docs/TMLPD_V2.1_COMPLETE.md +763 -0
  332. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +754 -0
  333. package/docs/UPDATE_TOPICS.md +15 -0
  334. package/docs/USE_CASES.md +59 -0
  335. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +446 -0
  336. package/docs/V2_IMPLEMENTATION_GUIDE.md +388 -0
  337. package/docs/VERCEL_AI_SDK.md +209 -0
  338. package/docs/VISIBILITY_ADOPTION_PLAN.md +1005 -0
  339. package/docs/_config.yml +49 -0
  340. package/docs/ai-plugin.json +16 -0
  341. package/docs/api.html +513 -0
  342. package/docs/architecture-diagram.md +40 -0
  343. package/docs/benchmark-chart.png +0 -0
  344. package/docs/benchmark.html +387 -0
  345. package/docs/blog/routerarena-9677.html +92 -0
  346. package/docs/blog/routerarena-number-one.html +73 -0
  347. package/docs/cli-cheatsheet.md +339 -0
  348. package/docs/compare.md +109 -0
  349. package/docs/comparison-litellm.md +88 -0
  350. package/docs/comparison.md +108 -0
  351. package/docs/cost-chart-ascii.md +42 -0
  352. package/docs/cost-comparison-chart.svg +88 -0
  353. package/docs/curl-examples.md +247 -0
  354. package/docs/demo-auto.html +264 -0
  355. package/docs/demo.html +416 -0
  356. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +232 -0
  357. package/docs/index.html +507 -0
  358. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +421 -0
  359. package/docs/launch-content/README.md +457 -0
  360. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  361. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  362. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  363. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  364. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  365. package/docs/launch-content/generate_charts.py +313 -0
  366. package/docs/launch-content/hn_show_post.md +139 -0
  367. package/docs/launch-content/partner_outreach_templates.md +745 -0
  368. package/docs/launch-content/reddit_posts.md +467 -0
  369. package/docs/launch-content/twitter_thread.txt +460 -0
  370. package/{llms.txt.bak → docs/llms.txt} +6 -6
  371. package/docs/npm-downloads-chart.svg +43 -0
  372. package/docs/openapi.json +139 -0
  373. package/docs/openapi.yaml +1318 -0
  374. package/docs/quick-start.html +366 -0
  375. package/docs/robots.txt +52 -0
  376. package/docs/sitemap.xml +57 -0
  377. package/docs/styles.css +682 -0
  378. package/docs/well-known/ai-plugin.json +16 -0
  379. package/docs/wellknown/ai-plugin.json +16 -0
  380. package/docs-site/assets/og-banner.svg +194 -0
  381. package/docs-site/index.html +632 -0
  382. package/eval/README.md +46 -0
  383. package/eval/baselines/main.json +12 -0
  384. package/eval/benchmark_dataset.jsonl +16 -0
  385. package/eval/check_golden_routes.js +64 -0
  386. package/eval/datasets/catalog.json +33 -0
  387. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +3 -0
  388. package/eval/datasets/slices/cost_pressure_v1.jsonl +3 -0
  389. package/eval/datasets/slices/safety_guardrails_v1.jsonl +3 -0
  390. package/eval/evals.json +199 -0
  391. package/eval/fault_injection_thresholds.json +3 -0
  392. package/eval/generate_report.js +128 -0
  393. package/eval/golden_routes.json +114 -0
  394. package/eval/lib/experiment_registry.js +24 -0
  395. package/eval/run_eval.js +197 -0
  396. package/eval/run_fault_injection.js +201 -0
  397. package/eval/run_shadow_eval.js +85 -0
  398. package/eval/thresholds.json +9 -0
  399. package/examples/QUICKSTART.md +183 -0
  400. package/examples/README.md +61 -0
  401. package/examples/a3m-sdk.js +124 -0
  402. package/examples/basic-route.js +54 -0
  403. package/examples/chat-loop.js +202 -0
  404. package/examples/classify-then-route.js +102 -0
  405. package/examples/cost-compare.js +120 -0
  406. package/examples/ensemble.js +160 -0
  407. package/examples/whatsapp-telegram-bridge-demo.js +302 -0
  408. package/examples/whatsapp-telegram-bridge.js +269 -0
  409. package/hf-space/README.md +23 -0
  410. package/hf-space/app.py +240 -0
  411. package/hf-space/requirements.txt +1 -0
  412. package/huggingface_space/README.md +35 -0
  413. package/huggingface_space/app.py +126 -0
  414. package/huggingface_space/create_space.py +208 -0
  415. package/huggingface_space/requirements.txt +1 -0
  416. package/index.html +1 -1
  417. package/mcp-server/README.md +188 -0
  418. package/mcp-server/package.json +29 -0
  419. package/mcp-server/src/index.ts +744 -0
  420. package/mcp-server/tsconfig.json +19 -0
  421. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +313 -0
  422. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +277 -0
  423. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +1234 -0
  424. package/openclaw-alexa-bridge/test_fixes.js +77 -0
  425. package/package.json +76 -272
  426. package/playground/README.md +51 -0
  427. package/playground/codesandbox.json +12 -0
  428. package/playground/index.js +39 -0
  429. package/proxy/README.md +227 -0
  430. package/proxy/package-lock.json +831 -0
  431. package/proxy/package.json +17 -0
  432. package/proxy/rate-limit.js +145 -0
  433. package/proxy/rate-limit.test.js +311 -0
  434. package/proxy/server.js +970 -0
  435. package/python/README.md +102 -0
  436. package/python/a3m/__init__.py +6 -0
  437. package/python/a3m/client.py +190 -0
  438. package/python/a3m/models.py +40 -0
  439. package/python/a3m/sync_client.py +61 -0
  440. package/python/examples.py +53 -0
  441. package/python/integrations.py +330 -0
  442. package/python/pyproject.toml +23 -0
  443. package/python/setup.py +28 -0
  444. package/python/tmlpd.py +369 -0
  445. package/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  446. package/qna/TMLPD_QNA.md +751 -0
  447. package/research/FINDING_001_safety.md +28 -0
  448. package/research/FINDING_002_error_diversity.md +32 -0
  449. package/research/FINDING_003_confidence_weighted_voting.md +32 -0
  450. package/research/FINDING_004_cross_model_semantic_detection.md +37 -0
  451. package/research/FINDING_005_knowledge_gap_orthogonality.md +34 -0
  452. package/research/HALLUCINATION_RESEARCH.md +27 -0
  453. package/research/ensemble-voting.md +324 -0
  454. package/research/loss-functions.md +545 -0
  455. package/research-log.md +49 -0
  456. package/scripts/banner.js +29 -0
  457. package/scripts/benchmark-local-routerarena.ts +176 -0
  458. package/scripts/benchmark.js +145 -0
  459. package/scripts/benchmark.sh +61 -0
  460. package/scripts/compare-providers.sh +230 -0
  461. package/scripts/content-planner.js +25 -0
  462. package/scripts/create-labeled-benchmark.ts +105 -0
  463. package/scripts/cross_post.py +443 -0
  464. package/scripts/local-router-benchmark.ts +154 -0
  465. package/scripts/post-all.sh +41 -0
  466. package/scripts/publish_fcc.py +106 -0
  467. package/scripts/push-to-gitee.sh +25 -0
  468. package/scripts/routerarena_ensemble.js +144 -0
  469. package/scripts/routing-benchmark-v2.js +373 -0
  470. package/scripts/routing-benchmark-v3.js +118 -0
  471. package/scripts/routing-benchmark.js +462 -0
  472. package/scripts/run-labeled-benchmark.mjs +104 -0
  473. package/scripts/run-mmlu-benchmark.js +176 -0
  474. package/scripts/run-provider-benchmark.js +244 -0
  475. package/scripts/update-npm-badges.js +158 -0
  476. package/skill/SKILL.md +238 -0
  477. package/src/__tests__/integration/tmpld_integration.test.py +540 -0
  478. package/src/ensemble.ts +2 -0
  479. package/src/routing/advancedRouter.ts +1 -1
  480. package/src/skills/__tests__/skill_manager.test.ts +328 -0
  481. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +94 -0
  482. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +121 -0
  483. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +94 -0
  484. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +83 -0
  485. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +225 -0
  486. package/test-council/1-structure-tests.test.js +353 -0
  487. package/test-council/1-structure-tests.test.ts +353 -0
  488. package/test-council/2-edge-case-tests.test.ts +361 -0
  489. package/test-council/3-performance-tests.test.ts +652 -0
  490. package/test-council/4-integration-tests.test.ts +391 -0
  491. package/test-council/5-agent-council-eval.test.ts +413 -0
  492. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +349 -0
  493. package/test-council/TEST_COUNCIL_REPORT.md +201 -0
  494. package/test-council/agents/edge-case-agent.ts +363 -0
  495. package/test-council/agents/performance-agent.ts +426 -0
  496. package/test-council/agents/structure-agent.ts +227 -0
  497. package/test-council/council.md +183 -0
  498. package/tests/__mocks__/tokenUtils.ts +8 -0
  499. package/tests/memory/episodicMemory.test.ts +227 -0
  500. package/tests/package-lock.json +1785 -0
  501. package/tests/package.json +19 -0
  502. package/tests/routing/ensembleVoting.test.ts +236 -0
  503. package/tests/routing/providerRetry.test.ts +360 -0
  504. package/tests/routing/queryTypePresets.test.ts +208 -0
  505. package/tests/security/guardrailEngine.test.ts +700 -0
  506. package/tests/tsconfig.json +21 -0
  507. package/tests/vitest.config.ts +18 -0
  508. package/tmlpd-pi-extension/README.md +66 -0
  509. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +114 -0
  510. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +1 -0
  511. package/tmlpd-pi-extension/dist/cache/prefixCache.js +285 -0
  512. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +1 -0
  513. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +58 -0
  514. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +1 -0
  515. package/tmlpd-pi-extension/dist/cache/responseCache.js +153 -0
  516. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +1 -0
  517. package/tmlpd-pi-extension/dist/cli.js +59 -0
  518. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +95 -0
  519. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +1 -0
  520. package/tmlpd-pi-extension/dist/cost/costTracker.js +240 -0
  521. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +1 -0
  522. package/tmlpd-pi-extension/dist/index.d.ts +723 -0
  523. package/tmlpd-pi-extension/dist/index.d.ts.map +1 -0
  524. package/tmlpd-pi-extension/dist/index.js +239 -0
  525. package/tmlpd-pi-extension/dist/index.js.map +1 -0
  526. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +82 -0
  527. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +1 -0
  528. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +145 -0
  529. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +1 -0
  530. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +102 -0
  531. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +1 -0
  532. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +207 -0
  533. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +1 -0
  534. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +85 -0
  535. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +1 -0
  536. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +210 -0
  537. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +1 -0
  538. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +102 -0
  539. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +1 -0
  540. package/tmlpd-pi-extension/dist/providers/localProvider.js +338 -0
  541. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +1 -0
  542. package/tmlpd-pi-extension/dist/providers/registry.d.ts +55 -0
  543. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +1 -0
  544. package/tmlpd-pi-extension/dist/providers/registry.js +138 -0
  545. package/tmlpd-pi-extension/dist/providers/registry.js.map +1 -0
  546. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +68 -0
  547. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +1 -0
  548. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +332 -0
  549. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +1 -0
  550. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +101 -0
  551. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +1 -0
  552. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +368 -0
  553. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +1 -0
  554. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +96 -0
  555. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +1 -0
  556. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +170 -0
  557. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +1 -0
  558. package/tmlpd-pi-extension/dist/utils/compression.d.ts +61 -0
  559. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +1 -0
  560. package/tmlpd-pi-extension/dist/utils/compression.js +281 -0
  561. package/tmlpd-pi-extension/dist/utils/compression.js.map +1 -0
  562. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +74 -0
  563. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +1 -0
  564. package/tmlpd-pi-extension/dist/utils/reliability.js +177 -0
  565. package/tmlpd-pi-extension/dist/utils/reliability.js.map +1 -0
  566. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +117 -0
  567. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +1 -0
  568. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +246 -0
  569. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +1 -0
  570. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +50 -0
  571. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +1 -0
  572. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +124 -0
  573. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +1 -0
  574. package/tmlpd-pi-extension/examples/QUICKSTART.md +183 -0
  575. package/tmlpd-pi-extension/package-lock.json +79 -0
  576. package/tmlpd-pi-extension/package.json +172 -0
  577. package/tmlpd-pi-extension/python/examples.py +53 -0
  578. package/tmlpd-pi-extension/python/integrations.py +330 -0
  579. package/tmlpd-pi-extension/python/setup.py +28 -0
  580. package/tmlpd-pi-extension/python/tmlpd.py +369 -0
  581. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +299 -0
  582. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +751 -0
  583. package/tmlpd-pi-extension/skill/SKILL.md +238 -0
  584. package/tmlpd-pi-extension/src/cache/responseCache.ts +147 -0
  585. package/tmlpd-pi-extension/src/cost/costTracker.ts +302 -0
  586. package/tmlpd-pi-extension/src/index.ts +232 -0
  587. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +257 -0
  588. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +266 -0
  589. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +262 -0
  590. package/tmlpd-pi-extension/src/providers/localProvider.ts +406 -0
  591. package/tmlpd-pi-extension/src/providers/registry.ts +164 -0
  592. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +159 -0
  593. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +136 -0
  594. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +433 -0
  595. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +232 -0
  596. package/tmlpd-pi-extension/src/utils/compression.ts +325 -0
  597. package/tmlpd-pi-extension/src/utils/reliability.ts +221 -0
  598. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +145 -0
  599. package/tmlpd-pi-extension/tsconfig.json +18 -0
  600. package/tsconfig.build.json +29 -0
  601. package/tsconfig.json +18 -0
  602. package/README.md.bak +0 -1185
  603. package/src/routing/advancedRouter.ts.bak +0 -650
  604. package/test.js.bak +0 -376
  605. /package/{llms-full.txt.bak → docs/llms-full.txt} +0 -0
package/.dockerignore ADDED
@@ -0,0 +1,82 @@
1
+ # =============================================================================
2
+ # A3M Router — .dockerignore
3
+ # Excludes unnecessary files from Docker build context for smaller images
4
+ # =============================================================================
5
+
6
+ # Dependencies (installed inside container)
7
+ node_modules/
8
+
9
+ # Git
10
+ .git/
11
+ .gitattributes
12
+ .gitignore
13
+ .github/
14
+
15
+ # Build output (built inside container)
16
+ dist/
17
+
18
+ # Documentation (not needed at runtime)
19
+ docs/
20
+ docs-site/
21
+ _*.md
22
+ CONTRIBUTING.md
23
+ CHANGELOG.md
24
+ CODE_OF_CONDUCT.md
25
+ SECURITY.md
26
+ LAUNCH*.md
27
+ MANIFESTO.md
28
+ LANDING.md
29
+ POPULARITY_BOOSTERS.md
30
+ SUBMISSIONS.md
31
+
32
+ # Research / articles
33
+ articles/
34
+ awesome-ai-gateways/
35
+ Awesome-LLM/
36
+ awesome-selfhosted/
37
+ qna/
38
+ llms-full.txt
39
+ llms.txt
40
+
41
+ # Demos / playground
42
+ demo/
43
+ playground/
44
+ demo*.tape
45
+ demo*.sh
46
+ demo.html
47
+ index.html
48
+
49
+ # Tests
50
+ test/
51
+ test*
52
+ pytest.ini
53
+ __pycache__/
54
+ *.py[cod]
55
+ .pytest_cache/
56
+
57
+ # Scripts / tooling
58
+ scripts/
59
+ eval/
60
+ integrations/
61
+ mcp-server/
62
+ tmlpd-pi-extension/
63
+ openclaw-alexa-bridge/
64
+ python/
65
+ skill/
66
+ hf-space/
67
+
68
+ # Config & secrets (use container env vars)
69
+ .env
70
+ .env.example
71
+ tsconfig.json
72
+ tsconfig.build.json
73
+
74
+ # OS files
75
+ .DS_Store
76
+ Thumbs.db
77
+
78
+ # Logs / temp
79
+ *.log
80
+ *.tsbuildinfo
81
+ *.bak
82
+ coverage/
package/.env.example ADDED
@@ -0,0 +1,303 @@
1
+ # =============================================================================
2
+ # A3M Router - Adaptive Memory Multi-Model Router
3
+ # Environment Configuration Template
4
+ # =============================================================================
5
+ #
6
+ # Copy this file to .env and fill in your API keys.
7
+ # At least one provider key is required for the router to function.
8
+ # Providers without keys are automatically skipped at runtime.
9
+ #
10
+ # Usage:
11
+ # cp .env.example .env
12
+ # # Edit .env with your keys
13
+ # a3m-router start
14
+ #
15
+ # =============================================================================
16
+
17
+ # =============================================================================
18
+ # SECTION 1: PRIMARY PROVIDERS (Frontier / Most Commonly Used)
19
+ # =============================================================================
20
+
21
+ # OpenAI — GPT-4o, GPT-4o-mini, o1, o3, etc.
22
+ # https://platform.openai.com/api-keys
23
+ OPENAI_API_KEY=sk-...
24
+
25
+ # Anthropic — Claude Sonnet 4, Opus, Haiku
26
+ # https://console.anthropic.com/
27
+ ANTHROPIC_API_KEY=sk-ant-...
28
+
29
+ # Google / Gemini — Gemini 2.5 Flash/Pro, Gemma
30
+ # https://aistudio.google.com/apikey
31
+ GOOGLE_API_KEY=...
32
+
33
+ # xAI — Grok-3, Grok-3-mini, Grok-2
34
+ # https://console.x.ai
35
+ XAI_API_KEY=...
36
+
37
+ # =============================================================================
38
+ # SECTION 2: FAST INFERENCE PROVIDERS (Cheap / Low-Latency)
39
+ # =============================================================================
40
+
41
+ # Groq — LPU-powered inference, very fast
42
+ # https://console.groq.com/keys
43
+ GROQ_API_KEY=gsk_...
44
+
45
+ # Cerebras — Wafer-scale inference, ultra-fast
46
+ # https://cloud.cerebras.ai/
47
+ CEREBRAS_API_KEY=...
48
+
49
+ # DeepInfra — Serverless inference, many open models
50
+ # https://deepinfra.com/dash/api_keys
51
+ DEEPINFRA_API_KEY=...
52
+
53
+ # Together AI — Hosted open-source models
54
+ # https://api.together.ai/settings/api-keys
55
+ TOGETHER_API_KEY=...
56
+
57
+ # Fireworks AI — Fast inference for open models
58
+ # https://fireworks.ai/api-keys
59
+ FIREWORKS_API_KEY=...
60
+
61
+ # Novita AI — Low-cost LLM inference
62
+ # https://novita.ai/settings
63
+ NOVITA_API_KEY=...
64
+
65
+ # SambaNova — Fast open-model inference
66
+ # https://cloud.sambanova.ai/
67
+ SAMBANOVA_API_KEY=...
68
+
69
+ # Anyscale — Endpoints for open models
70
+ # https://console.anyscale.com/
71
+ ANYSCALE_API_KEY=...
72
+
73
+ # =============================================================================
74
+ # SECTION 3: MID-TIER / SPECIALTY PROVIDERS
75
+ # =============================================================================
76
+
77
+ # DeepSeek — DeepSeek-V3, DeepSeek-R1
78
+ # https://platform.deepseek.com/api_keys
79
+ DEEPSEEK_API_KEY=...
80
+
81
+ # Mistral AI — Mistral Large, Small, Codestral, Ministral
82
+ # https://console.mistral.ai/api-keys
83
+ MISTRAL_API_KEY=...
84
+
85
+ # Perplexity — Sonar models with online search
86
+ # https://www.perplexity.ai/settings/api
87
+ PERPLEXITY_API_KEY=...
88
+
89
+ # Cohere — Command R+, Command A, embeddings
90
+ # https://dashboard.cohere.com/api-keys
91
+ COHERE_API_KEY=...
92
+
93
+ # AI21 Labs — Jamba 1.5 models
94
+ # https://studio.ai21.com/account/api-keys
95
+ AI21_API_KEY=...
96
+
97
+ # Replicate — Cloud for open-source models
98
+ # https://replicate.com/account/api-tokens
99
+ REPLICATE_API_KEY=...
100
+
101
+ # Hugging Face — Inference API, Inference Endpoints
102
+ # https://huggingface.co/settings/tokens
103
+ HUGGINGFACE_API_KEY=hf_...
104
+ # or use HF_API_TOKEN
105
+ HF_API_TOKEN=hf_...
106
+
107
+ # Writer — Palmyra models, full-stack AI platform
108
+ # https://dev.writer.com/
109
+ WRITER_API_KEY=...
110
+
111
+ # OctoAI — Fast inference for open and custom models
112
+ # https://octo.ai/
113
+ OCTOAI_API_KEY=...
114
+
115
+ # =============================================================================
116
+ # SECTION 4: AI AGGREGATORS & ROUTERS
117
+ # =============================================================================
118
+
119
+ # OpenRouter — Aggregator with 200+ models, passthrough pricing
120
+ # https://openrouter.ai/keys
121
+ OPENROUTER_API_KEY=...
122
+
123
+ # AI/ML API — Single API for 200+ models
124
+ # https://aimlapi.com/
125
+ AIMLAPI_KEY=...
126
+
127
+ # =============================================================================
128
+ # SECTION 5: ENTERPRISE CLOUD PROVIDERS
129
+ # =============================================================================
130
+
131
+ # Azure OpenAI — GPT models via Azure
132
+ # https://portal.azure.com/
133
+ AZURE_OPENAI_API_KEY=...
134
+ # Also requires your Azure endpoint
135
+ AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com/
136
+
137
+ # AWS Bedrock — Claude, Llama, Mistral via AWS
138
+ # https://console.aws.amazon.com/bedrock/
139
+ AWS_ACCESS_KEY_ID=...
140
+ AWS_SECRET_ACCESS_KEY=...
141
+ # Optional: set default region
142
+ AWS_REGION=us-east-1
143
+
144
+ # Google Vertex AI — Gemini, Claude via GCP
145
+ # https://console.cloud.google.com/vertex-ai
146
+ # Path to service account JSON key file
147
+ GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account-key.json
148
+
149
+ # IBM watsonx — Granite, Llama, Mistral on IBM Cloud
150
+ # https://cloud.ibm.com/watsonx
151
+ WATSONX_API_KEY=...
152
+ WATSONX_PROJECT_ID=...
153
+ WATSONX_URL=https://us-south.ml.cloud.ibm.com
154
+
155
+ # Cloudflare Workers AI — Serverless AI inference
156
+ # https://dash.cloudflare.com/profile/api-tokens
157
+ CLOUDFLARE_API_TOKEN=...
158
+ CLOUDFLARE_ACCOUNT_ID=...
159
+
160
+ # =============================================================================
161
+ # SECTION 6: NVIDIA PLATFORMS
162
+ # =============================================================================
163
+
164
+ # NVIDIA NIM / API Catalog — Free tier for many open models
165
+ # https://build.nvidia.com/
166
+ NVIDIA_API_KEY=nvapi-...
167
+
168
+ # NVIDIA AI Foundation — Endpoints for NeMo, Llama, etc.
169
+ # Also uses NVIDIA_API_KEY above
170
+
171
+ # =============================================================================
172
+ # SECTION 7: CHINESE / ASIAN PROVIDERS
173
+ # =============================================================================
174
+
175
+ # Zhipu AI (GLM) — GLM-4 series
176
+ # https://open.bigmodel.cn/usercenter/apikeys
177
+ ZHIPU_API_KEY=...
178
+
179
+ # Alibaba Qwen (DashScope) — Qwen-Max, Qwen-Plus, Qwen-Turbo
180
+ # https://dashscope.console.aliyun.com/
181
+ DASHSCOPE_API_KEY=...
182
+
183
+ # Moonshot AI (Kimi) — Long-context models (128K)
184
+ # https://platform.moonshot.cn/
185
+ MOONSHOT_API_KEY=...
186
+
187
+ # 01.AI (Yi) — Yi-Lightning, Yi-Large, Yi-Medium
188
+ # https://platform.lingyiwanwu.com/
189
+ YI_API_KEY=...
190
+
191
+ # Baichuan AI — Baichuan4, Baichuan3-Turbo
192
+ # https://platform.baichuan-ai.com/
193
+ BAICHUAN_API_KEY=...
194
+
195
+ # MiniMax — MiniMax-Text-01, abab models
196
+ # https://platform.minimax.chat/
197
+ MINIMAX_API_KEY=...
198
+
199
+ # StepFun (Step) — Step-1, Step-2 models
200
+ # https://platform.stepfun.com/
201
+ STEPFUN_API_KEY=...
202
+
203
+ # ByteDance (Doubao) — Doubao-pro, Doubao-lite
204
+ # https://console.volcengine.com/ark
205
+ ARK_API_KEY=...
206
+
207
+ # Tencent (Hunyuan) — Hunyuan large models
208
+ # https://console.cloud.tencent.com/hunyuan
209
+ TENCENT_API_KEY=...
210
+
211
+ # Baidu (ERNIE) — ERNIE 4.0, ERNIE-Bot
212
+ # https://console.bce.baidu.com/qianfan/
213
+ BAIDU_API_KEY=...
214
+ BAIDU_SECRET_KEY=...
215
+
216
+ # =============================================================================
217
+ # SECTION 8: EUROPEAN & PRIVACY-FOCUSED PROVIDERS
218
+ # =============================================================================
219
+
220
+ # Aleph Alpha — Luminous models (GDPR-compliant)
221
+ # https://www.aleph-alpha.com/
222
+ ALEPH_ALPHA_API_KEY=...
223
+
224
+ # Deepset — Haystack Cloud, model endpoints
225
+ # https://cloud.deepset.ai/
226
+ DEEPSET_API_KEY=...
227
+
228
+ # Lepton AI — Fast, affordable inference
229
+ # https://lepton.ai/
230
+ LEPTON_API_KEY=...
231
+
232
+ # Mistral AI (also listed above, European-based)
233
+ # MISTRAL_API_KEY=...
234
+
235
+ # =============================================================================
236
+ # SECTION 9: EMBEDDINGS & SPECIALTY PROVIDERS
237
+ # =============================================================================
238
+
239
+ # Jina AI — Embeddings, Reranker, Reader API
240
+ # https://jina.ai/
241
+ JINA_API_KEY=...
242
+
243
+ # Voyage AI — Specialized embedding models
244
+ # https://www.voyageai.com/
245
+ VOYAGE_API_KEY=...
246
+
247
+ # Cohere (also listed above — embeddings + generation)
248
+ # COHERE_API_KEY=...
249
+
250
+ # Deepgram — Speech-to-text, text-to-speech, LLM (Nova-2)
251
+ # https://console.deepgram.com/
252
+ DEEPGRAM_API_KEY=...
253
+
254
+ # =============================================================================
255
+ # SECTION 10: ADDITIONAL / EMERGING PROVIDERS
256
+ # =============================================================================
257
+
258
+ # GooseAI — API for open models (deprecated but still supported)
259
+ GOOSEAI_API_KEY=...
260
+
261
+ # aiXcoder — Code-specialized LLM API
262
+ AIXCODER_API_KEY=...
263
+
264
+ # Infinity — Embedding serving (self-hosted)
265
+ INFINITY_API_KEY=...
266
+
267
+ # Laminar — LLM observability + routing
268
+ LAMINAR_API_KEY=...
269
+
270
+ # Fireworks (also listed above)
271
+ # FIREWORKS_API_KEY=...
272
+
273
+ # CommandCode — Coding agent API
274
+ COMMANDCODE_API_KEY=...
275
+
276
+ # =============================================================================
277
+ # SECTION 11: LOCAL / SELF-HOSTED (No API keys needed)
278
+ # =============================================================================
279
+ #
280
+ # These run locally and require no environment variables:
281
+ #
282
+ # Ollama — http://127.0.0.1:11434 (no key)
283
+ # LM Studio — http://127.0.0.1:1234 (no key)
284
+ # vLLM (local) — http://127.0.0.1:8000 (no key)
285
+ # LocalAI — http://127.0.0.1:8080 (no key)
286
+ # llama.cpp server — http://127.0.0.1:8080 (no key)
287
+ # Text Generation Inference (TGI) — http://127.0.0.1:8080 (no key)
288
+ #
289
+ # =============================================================================
290
+
291
+ # =============================================================================
292
+ # SECTION 12: SERVER CONFIGURATION
293
+ # =============================================================================
294
+
295
+ # Port and host for the A3M Router proxy server
296
+ PORT=3000
297
+ HOST=0.0.0.0
298
+
299
+ # Optional: API key required to access the router itself
300
+ # A3M_API_KEY=router-secret-key
301
+
302
+ # Logging level: debug | info | warn | error
303
+ LOG_LEVEL=info
@@ -0,0 +1,27 @@
1
+ # Welcome to A3M Router Discussions!
2
+
3
+ ## 🎯 What is A3M Router?
4
+ A3M Router is an open-source LLM router that runs queries across **47+ providers in parallel**, scores responses by confidence, and returns the best result. No sequential fallback. No vendor lock-in.
5
+
6
+ ## 💬 Discussion Categories
7
+ - **Show and Tell** — Share what you've built with A3M Router
8
+ - **Q&A** — Ask questions about usage, configuration, deployment
9
+ - **Ideas** — Feature requests and suggestions
10
+ - **Announcements** — Release notes and updates
11
+
12
+ ## 🔗 Quick Links
13
+ - [GitHub](https://github.com/Das-rebel/a3m-router)
14
+ - [npm](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
15
+ - [Documentation](https://github.com/Das-rebel/a3m-router#readme)
16
+ - [Benchmark Results](https://github.com/Das-rebel/a3m-router/blob/main/docs/BENCHMARK.md)
17
+
18
+ ## 🚀 Getting Started
19
+ ```bash
20
+ npx a3m-router "What is the meaning of life?"
21
+ ```
22
+
23
+ Or install globally:
24
+ ```bash
25
+ npm install -g adaptive-memory-multi-model-router
26
+ a3m "Explain quantum computing in simple terms"
27
+ ```
@@ -0,0 +1,5 @@
1
+ labels:
2
+ - show-and-tell
3
+ - q-a
4
+ - ideas
5
+ - announcements
@@ -0,0 +1,2 @@
1
+ # These are supported funding model platforms
2
+ github: Das-rebel
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: Bug Report
3
+ about: Report a bug or unexpected behavior to help us improve A3M Router
4
+ title: "[Bug] "
5
+ labels: bug, needs-triage
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Description
10
+
11
+ A clear and concise description of the bug.
12
+
13
+ ## Reproduction Steps
14
+
15
+ Steps to reproduce the behavior:
16
+
17
+ ```bash
18
+ # 1. Set up (if applicable)
19
+ export PROVIDER_API_KEY=sk-...
20
+
21
+ # 2. Run
22
+ npx a3m-router route "Your query here"
23
+ ```
24
+
25
+ If using the SDK, provide a minimal code snippet:
26
+
27
+ ```typescript
28
+ import { A3MRouter } from "adaptive-memory-multi-model-router";
29
+
30
+ const router = new A3MRouter({ /* your config */ });
31
+ const result = await router.route("Your query");
32
+ ```
33
+
34
+ ## Expected Behavior
35
+
36
+ What did you expect to happen?
37
+
38
+ ## Actual Behavior
39
+
40
+ What actually happened? Include error messages, stack traces, or unexpected output.
41
+
42
+ ```
43
+ Paste error output or logs here
44
+ ```
45
+
46
+ ## A3M Router Version
47
+
48
+ - Package: `adaptive-memory-multi-model-router@<version>` (run `npm list adaptive-memory-multi-model-router`)
49
+ - CLI version (if applicable): `npx a3m-router --version`
50
+
51
+ ## Environment
52
+
53
+ - **OS:** macOS / Linux / Windows
54
+ - **Node.js version:** (run `node --version`)
55
+ - **npm version:** (run `npm --version`)
56
+ - **Python version (if using Python SDK):** (run `python --version`)
57
+
58
+ ## Providers Used
59
+
60
+ Which provider(s) were involved? (e.g., Groq, OpenAI, Anthropic, NVIDIA, DeepSeek, custom)
61
+
62
+ ## Configuration
63
+
64
+ Attach or describe relevant config (redact API keys):
65
+
66
+ ```json
67
+ {
68
+ "providers": { ... },
69
+ "routing": { ... },
70
+ "budgets": { ... }
71
+ }
72
+ ```
73
+
74
+ ## Logs
75
+
76
+ If you ran with `DEBUG=*` or `LOG_LEVEL=debug`, include relevant log lines:
77
+
78
+ ```
79
+ [DEBUG] Routing query...
80
+ [ERROR] Provider groq returned 503
81
+ ```
82
+
83
+ ## Additional Context
84
+
85
+ - Does this happen consistently or intermittently?
86
+ - Does it affect all providers or a specific one?
87
+ - Did it work in a previous version? If so, which version?
88
+ - Any recent changes to your setup?
89
+
90
+ ## Checklist
91
+
92
+ - [ ] I have searched existing issues for duplicates
93
+ - [ ] I have redacted all API keys and secrets from the above
94
+ - [ ] I can reliably reproduce this bug
@@ -0,0 +1,17 @@
1
+ blank_issues_enabled: false
2
+ contact_links:
3
+ - name: "\U0001F4D6 Documentation & Quick Start"
4
+ url: https://github.com/Das-rebel/a3m-router#readme
5
+ about: Check the README for setup, SDK usage, API reference, and configuration examples
6
+ - name: "\U0001F4AC Discussions & Community"
7
+ url: https://github.com/Das-rebel/a3m-router/discussions
8
+ about: Ask questions, share ideas, show what you've built, and get help from the community
9
+ - name: "\U0001F680 NPM Package"
10
+ url: https://www.npmjs.com/package/adaptive-memory-multi-model-router
11
+ about: View package details, version history, and download statistics
12
+ - name: "\U0001F4DC Changelog"
13
+ url: https://github.com/Das-rebel/a3m-router/blob/main/CHANGELOG.md
14
+ about: See what's changed in recent releases
15
+ - name: "\U0001F6A8 Security"
16
+ url: https://github.com/Das-rebel/a3m-router/security/policy
17
+ about: Report security vulnerabilities privately
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: Feature Request
3
+ about: Suggest an idea or enhancement for A3M Router
4
+ title: "[Feature] "
5
+ labels: enhancement
6
+ assignees: ""
7
+ ---
8
+
9
+ ## Problem Statement
10
+
11
+ A clear description of the problem you're trying to solve. What gap or pain point does this feature address?
12
+
13
+ **Example:** "Currently, A3M Router doesn't support routing based on response language. When I send multilingual queries, I want them routed to providers that perform best in that language."
14
+
15
+ ## Proposed Solution
16
+
17
+ Describe the feature you'd like to see. Be as specific as possible about behavior, configuration, and API.
18
+
19
+ ```typescript
20
+ // If applicable, sketch the API you envision
21
+ const router = new A3MRouter({
22
+ languageRouting: {
23
+ enabled: true,
24
+ defaultProvider: "openai",
25
+ languageOverrides: {
26
+ ja: "anthropic",
27
+ zh: "deepseek",
28
+ },
29
+ },
30
+ });
31
+ ```
32
+
33
+ ## Use Case
34
+
35
+ Describe the real-world scenario that would benefit from this feature.
36
+
37
+ - Who is the target user? (e.g., solo developer, enterprise team, researcher)
38
+ - What workflow does it enable or simplify?
39
+ - How frequently would this be used?
40
+
41
+ ## Alternatives Considered
42
+
43
+ List any workarounds or alternative approaches you've explored:
44
+
45
+ 1. Manual provider selection per query
46
+ 2. Custom wrapper script
47
+ 3. Forking and modifying the router
48
+ 4. Using a different tool altogether
49
+
50
+ Explain why these are insufficient.
51
+
52
+ ## Priority
53
+
54
+ How important is this to you?
55
+
56
+ - [ ] **Blocking** — Cannot proceed without this feature
57
+ - [ ] **High** — Important for my workflow
58
+ - [ ] **Medium** — Nice to have
59
+ - [ ] **Low** — Interesting idea, not urgent
60
+
61
+ ## Would You Implement It?
62
+
63
+ - [ ] **Yes** — I can submit a PR (with guidance)
64
+ - [ ] **Maybe** — Willing to help test or provide requirements
65
+ - [ ] **No** — Just suggesting
66
+
67
+ ## Additional Context
68
+
69
+ - Links to related discussions, issues, or external references
70
+ - Screenshots or mockups (if applicable)
71
+ - Any constraints or requirements (e.g., must work offline, must not increase bundle size)
@@ -0,0 +1,71 @@
1
+ ## Description
2
+
3
+ Please include a summary of the change and which issue it fixes. Explain the motivation and context — what problem does this solve and why is this the right approach?
4
+
5
+ Fixes # (issue)
6
+
7
+ ## Type of Change
8
+
9
+ Check all that apply:
10
+
11
+ - [ ] 🐛 **Bug fix** (non-breaking change that fixes an issue)
12
+ - [ ] ✨ **New feature** (non-breaking change that adds functionality)
13
+ - [ ] 💥 **Breaking change** (fix or feature that would break existing functionality)
14
+ - [ ] 📚 **Documentation** (README, API docs, inline comments, or examples)
15
+ - [ ] 🎨 **Style** (formatting, code style — no logic change)
16
+ - [ ] ⚡ **Performance** (improves speed, memory, or latency without behavior change)
17
+ - [ ] 🔒 **Security** (fixes a vulnerability or improves security posture)
18
+ - [ ] ♻️ **Refactor** (code change that neither fixes a bug nor adds a feature)
19
+ - [ ] 🧪 **Tests** (adds or updates tests, not production code)
20
+
21
+ ## Testing
22
+
23
+ Describe the tests you ran to verify your changes:
24
+
25
+ - [ ] All existing tests pass (`npm test`)
26
+ - [ ] Added new tests for the changes
27
+ - [ ] Tested manually (describe the commands or SDK calls used)
28
+ - [ ] Tested with real provider API calls (if applicable)
29
+
30
+ ```bash
31
+ # Provide commands to reproduce your testing
32
+ node test/some-test.js
33
+ npx a3m-router route "Test query"
34
+ ```
35
+
36
+ ## Checklist
37
+
38
+ - [ ] My code follows the project's coding style and conventions
39
+ - [ ] I have performed a self-review of my own code
40
+ - [ ] I have commented complex logic, especially in hard-to-understand areas
41
+ - [ ] I have updated the documentation (README, API docs, JSDoc comments) if needed
42
+ - [ ] My changes produce no new warnings (no `console.log` left behind, no TypeScript errors)
43
+ - [ ] I have added tests that prove my fix is effective or my feature works
44
+ - [ ] New and existing unit tests pass locally
45
+ - [ ] Any dependent changes are merged and published in downstream modules
46
+ - [ ] I have checked that my changes are backward-compatible (or documented breaking changes)
47
+
48
+ ## Screenshots (if applicable)
49
+
50
+ If the change affects the terminal UI, dashboard, or any visual output, include screenshots:
51
+
52
+ | Before | After |
53
+ |--------|-------|
54
+ | _screenshot_ | _screenshot_ |
55
+
56
+ ## Additional Context
57
+
58
+ - Related issues or PRs
59
+ - Performance impact (latency, memory, bundle size)
60
+ - Configuration changes required
61
+ - Migration guide (if breaking change)
62
+
63
+ ## Changelog Entry
64
+
65
+ Suggest a one-line changelog entry for this change:
66
+
67
+ ```
68
+ - {type}: {short description} ({issue/PR link})
69
+ ```
70
+
71
+ Example: `- feat: add language-based routing override (#42)`
@@ -0,0 +1,9 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "npm"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ open-pull-requests-limit: 10
8
+ labels:
9
+ - "dependencies"