adaptive-memory-multi-model-router 2.14.45 → 2.14.47

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/dist/index.d.ts +4 -0
  2. package/dist/index.js +8 -2
  3. package/dist/memory/hybridMemory.d.ts +71 -0
  4. package/dist/memory/hybridMemory.js +124 -0
  5. package/dist/memory/reasoningBank.d.ts +88 -0
  6. package/dist/memory/reasoningBank.js +303 -0
  7. package/{docs/llms.txt → llms.txt.bak} +6 -6
  8. package/package.json +13 -84
  9. package/src/index.ts +8 -0
  10. package/src/memory/hybridMemory.ts +155 -0
  11. package/src/memory/reasoningBank.ts +335 -0
  12. package/src/routing/advancedRouter.ts.bak +650 -0
  13. package/test.js.bak +376 -0
  14. package/.dockerignore +0 -82
  15. package/.env.example +0 -303
  16. package/.github/DISCUSSIONS_WELCOME.md +0 -27
  17. package/.github/DISCUSSION_TEMPLATE.yml +0 -5
  18. package/.github/FUNDING.yml +0 -2
  19. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -94
  20. package/.github/ISSUE_TEMPLATE/config.yml +0 -17
  21. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -71
  22. package/.github/PULL_REQUEST_TEMPLATE.md +0 -71
  23. package/.github/dependabot.yml +0 -9
  24. package/.github/workflows/auto-publish.yml +0 -51
  25. package/.github/workflows/ci.yml +0 -263
  26. package/.github/workflows/codeql.yml +0 -38
  27. package/.github/workflows/npm-publish.yml +0 -20
  28. package/.github/workflows/pages.yml +0 -37
  29. package/.github/workflows/stale.yml +0 -54
  30. package/.publish-tick +0 -1
  31. package/.well-known/ai-plugin.json +0 -16
  32. package/AGENT_COUNCIL_FINDINGS.md +0 -142
  33. package/ARCHITECTURE.md +0 -346
  34. package/AUDIT_REPORT.md +0 -28
  35. package/CODE_OF_CONDUCT.md +0 -128
  36. package/CONTRIBUTING.md +0 -50
  37. package/CONTRIBUTORS.md +0 -20
  38. package/Dockerfile +0 -53
  39. package/Dockerfile.proxy +0 -33
  40. package/HEALTH_REPORT.md +0 -118
  41. package/IMPROVEMENT_PLAN.md +0 -107
  42. package/LANDING.md +0 -43
  43. package/LAUNCH-PAIN-DRIVEN.md +0 -339
  44. package/LAUNCH.md +0 -337
  45. package/LAUNCH_CHECKLIST.md +0 -141
  46. package/LAUNCH_SNAPSHOT.md +0 -260
  47. package/MANIFESTO.md +0 -41
  48. package/POPULARITY_BOOSTERS.md +0 -285
  49. package/PR_STATUS_REPORT.md +0 -148
  50. package/REDESIGN.md +0 -95
  51. package/RUNKIT.md +0 -83
  52. package/SECURITY.md +0 -29
  53. package/SUBMISSIONS.md +0 -43
  54. package/_schema.html +0 -53
  55. package/ai-plugin.json +0 -16
  56. package/articles/AI_AGENT_LLM_ROUTING.md +0 -150
  57. package/articles/CHINESE_DIRECTORIES.md +0 -100
  58. package/articles/CHINESE_SUBMISSIONS_READY.md +0 -322
  59. package/articles/COMPETITOR_ALERTS.md +0 -31
  60. package/articles/COMPLETE_POSTING_DIRECTORY.md +0 -147
  61. package/articles/CONTENT_STRUCTURE.md +0 -292
  62. package/articles/DEVTO_COST_GUIDE.md +0 -473
  63. package/articles/DEVTO_FINAL.md +0 -416
  64. package/articles/DEVTO_MULTI_PROVIDER.md +0 -542
  65. package/articles/DEVTO_READY.md +0 -255
  66. package/articles/DEVTO_V2_ANNOUNCEMENT.md +0 -160
  67. package/articles/DEVTO_VIRAL_GROWTH.md +0 -280
  68. package/articles/FRESH_devto.md +0 -460
  69. package/articles/FRESH_devto_2026_05.md +0 -73
  70. package/articles/FRESH_hackernews.md +0 -14
  71. package/articles/FRESH_reddit_ml.md +0 -90
  72. package/articles/FRESH_reddit_node.md +0 -198
  73. package/articles/FRESH_reddit_sideproject.md +0 -72
  74. package/articles/FRESH_reddit_webdev.md +0 -130
  75. package/articles/FROM_ZERO_TO_10K.md +0 -107
  76. package/articles/HN_10X_BETTER.md +0 -430
  77. package/articles/HN_ACCOUNT_GUIDE.md +0 -21
  78. package/articles/HN_CHINESE_STYLE.md +0 -308
  79. package/articles/HN_FINAL.md +0 -148
  80. package/articles/HN_POSTED_VERSION.md +0 -56
  81. package/articles/HN_POST_READY.md +0 -137
  82. package/articles/HN_RESEARCH.md +0 -364
  83. package/articles/HN_SHOW_routerarena.md +0 -17
  84. package/articles/HN_TIMING_GUIDE.md +0 -52
  85. package/articles/INDIEHACKERS_POST.md +0 -52
  86. package/articles/INDIEHACKERS_READY.md +0 -120
  87. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +0 -153
  88. package/articles/MASTER_POSTING_DIRECTORY.md +0 -189
  89. package/articles/NEWSLETTER_SEND_NOW.md +0 -259
  90. package/articles/NEWSLETTER_SUBMISSIONS.md +0 -112
  91. package/articles/PAIN-DRIVEN-devto-v2.md +0 -308
  92. package/articles/PAIN-DRIVEN-devto-v3.md +0 -268
  93. package/articles/PAIN-DRIVEN-devto.md +0 -242
  94. package/articles/PAIN-DRIVEN-hackernews-v2.md +0 -138
  95. package/articles/PAIN-DRIVEN-hackernews-v3.md +0 -151
  96. package/articles/PAIN-DRIVEN-hackernews.md +0 -131
  97. package/articles/PAIN-DRIVEN-reddit-v2.md +0 -301
  98. package/articles/PAIN-DRIVEN-reddit-v3.md +0 -236
  99. package/articles/PAIN-DRIVEN-reddit.md +0 -218
  100. package/articles/PAIN-DRIVEN-twitter-v2.md +0 -110
  101. package/articles/PAIN-DRIVEN-twitter-v3.md +0 -121
  102. package/articles/PAIN-DRIVEN-twitter.md +0 -120
  103. package/articles/PORTKEY_VS_A3M.md +0 -147
  104. package/articles/POSTING_KIT_2026_05.md +0 -67
  105. package/articles/PRESS_KIT_routerarena.md +0 -77
  106. package/articles/PRODUCTHUNT_LISTING.md +0 -48
  107. package/articles/PRODUCTHUNT_READY.md +0 -106
  108. package/articles/PR_PLAN_vault.md +0 -125
  109. package/articles/REDDIT_FINAL.md +0 -232
  110. package/articles/REDDIT_POST.md +0 -67
  111. package/articles/REDDIT_SUBMISSION_READY.md +0 -348
  112. package/articles/ROUTERARENA_LEADER.md +0 -45
  113. package/articles/SHOW_HN_FINAL.md +0 -29
  114. package/articles/TWEETS_10K_DOWNLOADS.md +0 -47
  115. package/articles/TWEETS_BENCHMARK_FIRST.md +0 -46
  116. package/articles/TWEETS_MCP_PLAY.md +0 -51
  117. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +0 -49
  118. package/articles/TWEETS_WHY_BUILD.md +0 -54
  119. package/articles/TWEETS_routerarena_leader.md +0 -53
  120. package/articles/TWEET_STORM_READY.md +0 -165
  121. package/articles/TWITTER_FINAL.md +0 -167
  122. package/articles/WHY_10X_BETTER.md +0 -261
  123. package/articles/WHY_CHINESE_STYLE_BETTER.md +0 -323
  124. package/articles/ai-discoverability-llm-routing.md +0 -210
  125. package/articles/devto-llm-routing.md +0 -138
  126. package/articles/hackernews-show-hn.md +0 -54
  127. package/articles/hashnode-llm-cost-optimization.md +0 -125
  128. package/articles/hn_show_2026_05.md +0 -11
  129. package/articles/medium-building-llm-router.md +0 -205
  130. package/articles/reddit-ml.md +0 -76
  131. package/articles/twitter-thread-cost-savings.md +0 -50
  132. package/articles/youtube-tutorial-script.md +0 -262
  133. package/assets/a3m_3blue1brown.mp4 +0 -0
  134. package/assets/banner.svg +0 -109
  135. package/assets/chart-cost-v2.svg +0 -91
  136. package/assets/chart-cost-v3.svg +0 -143
  137. package/assets/chart-features-v2.svg +0 -132
  138. package/assets/chart-features-v3.svg +0 -211
  139. package/assets/chart-growth-v2.svg +0 -122
  140. package/assets/chart-growth-v3.svg +0 -189
  141. package/assets/cost-comparison.svg +0 -134
  142. package/assets/cost-simple.svg +0 -64
  143. package/assets/demo-hn.gif +0 -0
  144. package/assets/feature-matrix.svg +0 -136
  145. package/assets/growth-chart-animated.svg +0 -76
  146. package/assets/growth-chart.svg +0 -82
  147. package/assets/growth-simple.svg +0 -69
  148. package/assets/hero-diagram.svg +0 -81
  149. package/assets/logo-new.svg +0 -21
  150. package/assets/logo.svg +0 -68
  151. package/assets/provider-comparison.svg +0 -121
  152. package/assets/social-preview-new.svg +0 -100
  153. package/assets/social-preview.svg +0 -194
  154. package/assets/social-v2.svg +0 -130
  155. package/assets/social-v3.svg +0 -212
  156. package/benchmark-provider-results.json +0 -245
  157. package/benchmark-results.json +0 -54
  158. package/council-votes/architecture-vote.md +0 -121
  159. package/council-votes/coverage-vote.md +0 -93
  160. package/data/adaptive-benchmark.json +0 -92
  161. package/data/benchmark-results.json +0 -47
  162. package/data/labeled-benchmark.json +0 -88
  163. package/demo/3blue1brown_video.py +0 -285
  164. package/demo/3blue1brown_video_v2.py +0 -310
  165. package/demo/IMPROVED_PROMPTS.md +0 -229
  166. package/demo/VEO3_PROMPTS.md +0 -269
  167. package/demo/VIDEO_PRODUCTION_GUIDE.md +0 -333
  168. package/demo/a3m_3blue1brown.mp4 +0 -0
  169. package/demo/asciinema-demo.sh +0 -195
  170. package/demo/demo-hn.tape +0 -74
  171. package/demo/demo-script.md +0 -53
  172. package/demo/demo-script.sh +0 -62
  173. package/demo/demo.svg +0 -75
  174. package/demo/frame1_ai_data_center.png +0 -0
  175. package/demo/frame1_sunset_video.mp4 +0 -0
  176. package/demo/frame2_cost_comparison.png +0 -0
  177. package/demo/frame2_cost_comparison_fallback.png +0 -0
  178. package/demo/frame3_parallel_execution.png +0 -0
  179. package/demo/frame3_parallel_execution_fallback.png +0 -0
  180. package/demo/frame4_providers.png +0 -0
  181. package/demo/frame4_providers_fallback.png +0 -0
  182. package/demo/frame5_endcard.png +0 -0
  183. package/demo/frame5_endcard_fallback.png +0 -0
  184. package/demo/new_frame1_hook.png +0 -0
  185. package/demo/new_frame2_proof.png +0 -0
  186. package/demo/new_frame3_wow.png +0 -0
  187. package/demo/new_frame4_social.png +0 -0
  188. package/demo/new_frame5_cta.png +0 -0
  189. package/demo/package.json +0 -13
  190. package/demo/product-video-final.mp4 +0 -0
  191. package/demo/product-video-hype-v1.mp4 +0 -0
  192. package/demo/product-video-v1.mp4 +0 -0
  193. package/demo/public/index.html +0 -762
  194. package/demo/recording.cast +0 -55
  195. package/demo/server.js +0 -405
  196. package/demo-new.tape +0 -71
  197. package/demo-real.sh +0 -198
  198. package/demo-simple.tape +0 -205
  199. package/demo.html +0 -520
  200. package/demo.sh +0 -85
  201. package/demo.tape +0 -259
  202. package/dist/analytics/costAnalytics.d.ts.map +0 -1
  203. package/dist/analytics/costAnalytics.js.map +0 -1
  204. package/dist/benchmark/comprehensive.js.map +0 -1
  205. package/dist/benchmark/reproducible.d.ts.map +0 -1
  206. package/dist/benchmark/reproducible.js.map +0 -1
  207. package/dist/cache/prefixCache.d.ts.map +0 -1
  208. package/dist/cache/prefixCache.js.map +0 -1
  209. package/dist/cache/responseCache.d.ts.map +0 -1
  210. package/dist/cache/responseCache.js.map +0 -1
  211. package/dist/cache/semanticCache.d.ts.map +0 -1
  212. package/dist/cache/semanticCache.js.map +0 -1
  213. package/dist/cli/setupWizard.d.ts.map +0 -1
  214. package/dist/cli/setupWizard.js.map +0 -1
  215. package/dist/cost/budgetEnforcer.d.ts.map +0 -1
  216. package/dist/cost/budgetEnforcer.js.map +0 -1
  217. package/dist/cost/costTracker.d.ts.map +0 -1
  218. package/dist/cost/costTracker.js.map +0 -1
  219. package/dist/ensemble/multiRoundDialog.js.map +0 -1
  220. package/dist/ensemble/shapleyValue.js.map +0 -1
  221. package/dist/integrations/langchainAdapter.d.ts.map +0 -1
  222. package/dist/integrations/langchainAdapter.js.map +0 -1
  223. package/dist/integrations/oauth.d.ts.map +0 -1
  224. package/dist/integrations/oauth.js.map +0 -1
  225. package/dist/integrations/scienceAdapter.js.map +0 -1
  226. package/dist/memory/autoFetch.d.ts.map +0 -1
  227. package/dist/memory/autoFetch.js.map +0 -1
  228. package/dist/memory/episodicMemory.d.ts.map +0 -1
  229. package/dist/memory/episodicMemory.js.map +0 -1
  230. package/dist/memory/memoryTree.d.ts.map +0 -1
  231. package/dist/memory/memoryTree.js.map +0 -1
  232. package/dist/memory/obsidianVault.d.ts.map +0 -1
  233. package/dist/memory/obsidianVault.js.map +0 -1
  234. package/dist/observability/changeWatch.d.ts.map +0 -1
  235. package/dist/observability/changeWatch.js.map +0 -1
  236. package/dist/observability/fatigueDetector.d.ts.map +0 -1
  237. package/dist/observability/fatigueDetector.js.map +0 -1
  238. package/dist/observability/index.d.ts.map +0 -1
  239. package/dist/observability/index.js.map +0 -1
  240. package/dist/observability/metrics.d.ts.map +0 -1
  241. package/dist/observability/metrics.js.map +0 -1
  242. package/dist/observability/middleware.d.ts.map +0 -1
  243. package/dist/observability/middleware.js.map +0 -1
  244. package/dist/observability/tracer.d.ts.map +0 -1
  245. package/dist/observability/tracer.js.map +0 -1
  246. package/dist/observability/types.d.ts.map +0 -1
  247. package/dist/observability/types.js.map +0 -1
  248. package/dist/orchestration/haloOrchestrator.d.ts.map +0 -1
  249. package/dist/orchestration/haloOrchestrator.js.map +0 -1
  250. package/dist/orchestration/mctsWorkflow.d.ts.map +0 -1
  251. package/dist/orchestration/mctsWorkflow.js.map +0 -1
  252. package/dist/providers/localProvider.d.ts.map +0 -1
  253. package/dist/providers/localProvider.js.map +0 -1
  254. package/dist/providers/providerConfig.d.ts.map +0 -1
  255. package/dist/providers/providerConfig.js.map +0 -1
  256. package/dist/providers/registry.d.ts.map +0 -1
  257. package/dist/providers/registry.js.map +0 -1
  258. package/dist/routing/advancedRouter.d.ts.map +0 -1
  259. package/dist/routing/advancedRouter.js.map +0 -1
  260. package/dist/routing/crossModelValidation.d.ts.map +0 -1
  261. package/dist/routing/crossModelValidation.js.map +0 -1
  262. package/dist/routing/providerHealth.d.ts.map +0 -1
  263. package/dist/routing/providerHealth.js.map +0 -1
  264. package/dist/routing/providerRetry.d.ts.map +0 -1
  265. package/dist/routing/providerRetry.js.map +0 -1
  266. package/dist/scripts/banner.js +0 -29
  267. package/dist/security/guardrails.d.ts.map +0 -1
  268. package/dist/security/guardrails.js.map +0 -1
  269. package/dist/server/dashboard.d.ts.map +0 -1
  270. package/dist/server/dashboard.js.map +0 -1
  271. package/dist/server/modelMapper.d.ts.map +0 -1
  272. package/dist/server/modelMapper.js.map +0 -1
  273. package/dist/server/proxyServer.d.ts.map +0 -1
  274. package/dist/server/proxyServer.js.map +0 -1
  275. package/dist/skills/__tests__/skill_manager.test.d.ts +0 -2
  276. package/dist/skills/__tests__/skill_manager.test.d.ts.map +0 -1
  277. package/dist/skills/__tests__/skill_manager.test.js +0 -268
  278. package/dist/skills/__tests__/skill_manager.test.js.map +0 -1
  279. package/dist/tools/tmlpdTools.d.ts.map +0 -1
  280. package/dist/tools/tmlpdTools.js.map +0 -1
  281. package/dist/tui/dashboard.d.ts.map +0 -1
  282. package/dist/tui/dashboard.js.map +0 -1
  283. package/dist/tui/index.d.ts.map +0 -1
  284. package/dist/tui/index.js.map +0 -1
  285. package/dist/utils/batchProcessor.d.ts.map +0 -1
  286. package/dist/utils/batchProcessor.js.map +0 -1
  287. package/dist/utils/compression.d.ts.map +0 -1
  288. package/dist/utils/compression.js.map +0 -1
  289. package/dist/utils/costUtils.d.ts.map +0 -1
  290. package/dist/utils/costUtils.js.map +0 -1
  291. package/dist/utils/reliability.d.ts.map +0 -1
  292. package/dist/utils/reliability.js.map +0 -1
  293. package/dist/utils/sorting.d.ts.map +0 -1
  294. package/dist/utils/sorting.js.map +0 -1
  295. package/dist/utils/speculativeDecoding.d.ts.map +0 -1
  296. package/dist/utils/speculativeDecoding.js.map +0 -1
  297. package/dist/utils/tokenUtils.d.ts.map +0 -1
  298. package/dist/utils/tokenUtils.js.map +0 -1
  299. package/docs/.nojekyll +0 -0
  300. package/docs/ANALYSIS_PRINCIPLES.md +0 -162
  301. package/docs/API.md +0 -855
  302. package/docs/ARCHITECTURAL-IMPROVEMENTS-2025.md +0 -1391
  303. package/docs/ARCHITECTURAL-IMPROVEMENTS-REVISED-2025.md +0 -1051
  304. package/docs/BENCHMARK.md +0 -170
  305. package/docs/CHINESE_PROVIDER_RELIABILITY.md +0 -37
  306. package/docs/CITATIONS.md +0 -74
  307. package/docs/CLAIMS_AND_EVIDENCE.md +0 -58
  308. package/docs/CONFIGURATION.md +0 -476
  309. package/docs/COUNCIL_DECISION.json +0 -816
  310. package/docs/COUNCIL_SUMMARY.md +0 -319
  311. package/docs/COUNCIL_V2.2_DECISION.md +0 -416
  312. package/docs/ENGINEERING_SPEC.md +0 -55
  313. package/docs/FACTORY_RESET.md +0 -34
  314. package/docs/GEO.md +0 -66
  315. package/docs/GEO_OPTIMIZATION.md +0 -30
  316. package/docs/GEO_ROOT_CAUSE.md +0 -136
  317. package/docs/GEO_STATUS.md +0 -85
  318. package/docs/GEO_TEST_RESULTS.md +0 -176
  319. package/docs/HN_CHECKLIST.md +0 -38
  320. package/docs/HN_FOUNDER_COMMENT.md +0 -17
  321. package/docs/HN_SUBMISSION_FINAL.md +0 -180
  322. package/docs/HN_SUBMISSION_V3.md +0 -56
  323. package/docs/IMPROVEMENT_ROADMAP.md +0 -515
  324. package/docs/INTEGRATIONS.md +0 -420
  325. package/docs/LANGCHAIN_INTEGRATION.md +0 -147
  326. package/docs/LLM_COUNCIL_DECISION.md +0 -508
  327. package/docs/MIDDLEWARE_CHAIN.md +0 -35
  328. package/docs/PROMO_CHECKLIST.md +0 -200
  329. package/docs/QUICKSTART.md +0 -271
  330. package/docs/QUICK_START.md +0 -43
  331. package/docs/QUICK_START_VISIBILITY.md +0 -782
  332. package/docs/REDDIT_GAP_ANALYSIS.md +0 -299
  333. package/docs/RELEASE_CHECKLIST.md +0 -32
  334. package/docs/REPRODUCIBILITY.md +0 -63
  335. package/docs/RESEARCH_BACKED_IMPROVEMENTS.md +0 -1180
  336. package/docs/ROUTING_RUBRIC.md +0 -197
  337. package/docs/SEO_AUDIT.md +0 -186
  338. package/docs/SOCIAL_LISTENING.md +0 -219
  339. package/docs/TMLPD_QNA.md +0 -751
  340. package/docs/TMLPD_V2.1_COMPLETE.md +0 -763
  341. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +0 -754
  342. package/docs/UPDATE_TOPICS.md +0 -15
  343. package/docs/USE_CASES.md +0 -59
  344. package/docs/V2.2_IMPLEMENTATION_COMPLETE.md +0 -446
  345. package/docs/V2_IMPLEMENTATION_GUIDE.md +0 -388
  346. package/docs/VERCEL_AI_SDK.md +0 -209
  347. package/docs/VISIBILITY_ADOPTION_PLAN.md +0 -1005
  348. package/docs/_config.yml +0 -49
  349. package/docs/ai-plugin.json +0 -16
  350. package/docs/api.html +0 -513
  351. package/docs/architecture-diagram.md +0 -40
  352. package/docs/benchmark-chart.png +0 -0
  353. package/docs/benchmark.html +0 -387
  354. package/docs/blog/routerarena-number-one.html +0 -73
  355. package/docs/cli-cheatsheet.md +0 -339
  356. package/docs/compare.md +0 -109
  357. package/docs/comparison-litellm.md +0 -88
  358. package/docs/comparison.md +0 -108
  359. package/docs/cost-chart-ascii.md +0 -42
  360. package/docs/cost-comparison-chart.svg +0 -88
  361. package/docs/curl-examples.md +0 -247
  362. package/docs/demo-auto.html +0 -264
  363. package/docs/demo.html +0 -416
  364. package/docs/geo/GENERATIVE_ENGINE_OPTIMIZATION.md +0 -232
  365. package/docs/index.html +0 -507
  366. package/docs/launch-content/LAUNCH_EXECUTION_CHECKLIST.md +0 -421
  367. package/docs/launch-content/README.md +0 -457
  368. package/docs/launch-content/assets/cost_comparison_100_tasks.png +0 -0
  369. package/docs/launch-content/assets/cumulative_savings.png +0 -0
  370. package/docs/launch-content/assets/parallel_speedup.png +0 -0
  371. package/docs/launch-content/assets/provider_pricing_comparison.png +0 -0
  372. package/docs/launch-content/assets/task_breakdown_comparison.png +0 -0
  373. package/docs/launch-content/generate_charts.py +0 -313
  374. package/docs/launch-content/hn_show_post.md +0 -139
  375. package/docs/launch-content/partner_outreach_templates.md +0 -745
  376. package/docs/launch-content/reddit_posts.md +0 -467
  377. package/docs/launch-content/twitter_thread.txt +0 -460
  378. package/docs/npm-downloads-chart.svg +0 -43
  379. package/docs/openapi.json +0 -139
  380. package/docs/openapi.yaml +0 -1318
  381. package/docs/quick-start.html +0 -366
  382. package/docs/robots.txt +0 -52
  383. package/docs/sitemap.xml +0 -57
  384. package/docs/styles.css +0 -682
  385. package/docs/well-known/ai-plugin.json +0 -16
  386. package/docs/wellknown/ai-plugin.json +0 -16
  387. package/docs-site/assets/og-banner.svg +0 -194
  388. package/docs-site/index.html +0 -632
  389. package/eval/README.md +0 -46
  390. package/eval/baselines/main.json +0 -12
  391. package/eval/benchmark_dataset.jsonl +0 -16
  392. package/eval/check_golden_routes.js +0 -64
  393. package/eval/datasets/catalog.json +0 -33
  394. package/eval/datasets/slices/cn_provider_reliability_v1.jsonl +0 -3
  395. package/eval/datasets/slices/cost_pressure_v1.jsonl +0 -3
  396. package/eval/datasets/slices/safety_guardrails_v1.jsonl +0 -3
  397. package/eval/evals.json +0 -199
  398. package/eval/fault_injection_thresholds.json +0 -3
  399. package/eval/generate_report.js +0 -128
  400. package/eval/golden_routes.json +0 -114
  401. package/eval/lib/experiment_registry.js +0 -24
  402. package/eval/run_eval.js +0 -197
  403. package/eval/run_fault_injection.js +0 -201
  404. package/eval/run_shadow_eval.js +0 -85
  405. package/eval/thresholds.json +0 -9
  406. package/examples/QUICKSTART.md +0 -183
  407. package/examples/README.md +0 -61
  408. package/examples/a3m-sdk.js +0 -124
  409. package/examples/basic-route.js +0 -54
  410. package/examples/chat-loop.js +0 -202
  411. package/examples/classify-then-route.js +0 -102
  412. package/examples/cost-compare.js +0 -120
  413. package/examples/ensemble.js +0 -160
  414. package/examples/whatsapp-telegram-bridge-demo.js +0 -302
  415. package/examples/whatsapp-telegram-bridge.js +0 -269
  416. package/hf-space/README.md +0 -23
  417. package/hf-space/app.py +0 -240
  418. package/hf-space/requirements.txt +0 -1
  419. package/huggingface_space/README.md +0 -35
  420. package/huggingface_space/app.py +0 -126
  421. package/huggingface_space/create_space.py +0 -208
  422. package/huggingface_space/requirements.txt +0 -1
  423. package/mcp-server/README.md +0 -188
  424. package/mcp-server/package.json +0 -29
  425. package/mcp-server/src/index.ts +0 -744
  426. package/mcp-server/tsconfig.json +0 -19
  427. package/openclaw-alexa-bridge/ALL_REMAINING_FIXES_PLAN.md +0 -313
  428. package/openclaw-alexa-bridge/REMAINING_FIXES_SUMMARY.md +0 -277
  429. package/openclaw-alexa-bridge/src/alexa_handler_no_tmlpd.js +0 -1234
  430. package/openclaw-alexa-bridge/test_fixes.js +0 -77
  431. package/playground/README.md +0 -51
  432. package/playground/codesandbox.json +0 -12
  433. package/playground/index.js +0 -39
  434. package/proxy/README.md +0 -227
  435. package/proxy/package-lock.json +0 -831
  436. package/proxy/package.json +0 -17
  437. package/proxy/rate-limit.js +0 -145
  438. package/proxy/rate-limit.test.js +0 -311
  439. package/proxy/server.js +0 -970
  440. package/python/README.md +0 -102
  441. package/python/a3m/__init__.py +0 -6
  442. package/python/a3m/client.py +0 -190
  443. package/python/a3m/models.py +0 -40
  444. package/python/a3m/sync_client.py +0 -61
  445. package/python/examples.py +0 -53
  446. package/python/integrations.py +0 -330
  447. package/python/pyproject.toml +0 -23
  448. package/python/setup.py +0 -28
  449. package/python/tmlpd.py +0 -369
  450. package/qna/REDDIT_GAP_ANALYSIS.md +0 -299
  451. package/qna/TMLPD_QNA.md +0 -751
  452. package/research/FINDING_001_safety.md +0 -28
  453. package/research/FINDING_002_error_diversity.md +0 -32
  454. package/research/FINDING_003_confidence_weighted_voting.md +0 -32
  455. package/research/FINDING_004_cross_model_semantic_detection.md +0 -37
  456. package/research/FINDING_005_knowledge_gap_orthogonality.md +0 -34
  457. package/research/HALLUCINATION_RESEARCH.md +0 -27
  458. package/research/ensemble-voting.md +0 -324
  459. package/research/loss-functions.md +0 -545
  460. package/research-log.md +0 -49
  461. package/scripts/banner.js +0 -29
  462. package/scripts/benchmark-local-routerarena.ts +0 -176
  463. package/scripts/benchmark.js +0 -145
  464. package/scripts/benchmark.sh +0 -61
  465. package/scripts/compare-providers.sh +0 -230
  466. package/scripts/content-planner.js +0 -25
  467. package/scripts/create-labeled-benchmark.ts +0 -105
  468. package/scripts/cross_post.py +0 -443
  469. package/scripts/local-router-benchmark.ts +0 -154
  470. package/scripts/post-all.sh +0 -41
  471. package/scripts/publish_fcc.py +0 -106
  472. package/scripts/push-to-gitee.sh +0 -25
  473. package/scripts/routerarena_ensemble.js +0 -144
  474. package/scripts/routing-benchmark-v2.js +0 -373
  475. package/scripts/routing-benchmark-v3.js +0 -118
  476. package/scripts/routing-benchmark.js +0 -462
  477. package/scripts/run-labeled-benchmark.mjs +0 -104
  478. package/scripts/run-mmlu-benchmark.js +0 -176
  479. package/scripts/run-provider-benchmark.js +0 -244
  480. package/scripts/update-npm-badges.js +0 -158
  481. package/skill/SKILL.md +0 -238
  482. package/src/__tests__/integration/tmpld_integration.test.py +0 -540
  483. package/src/skills/__tests__/skill_manager.test.ts +0 -328
  484. package/submissions/benchmarks/ALL_PLATFORMS_SUBMISSION.md +0 -94
  485. package/submissions/benchmarks/LLMROUTERBENCH_SUBMISSION.md +0 -121
  486. package/submissions/benchmarks/MMRBENCH_SUBMISSION.md +0 -94
  487. package/submissions/benchmarks/ROUTERARENA_UPDATE.md +0 -83
  488. package/submissions/benchmarks/ROUTERBENCH_SUBMISSION.md +0 -225
  489. package/test-council/1-structure-tests.test.js +0 -353
  490. package/test-council/1-structure-tests.test.ts +0 -353
  491. package/test-council/2-edge-case-tests.test.ts +0 -361
  492. package/test-council/3-performance-tests.test.ts +0 -669
  493. package/test-council/4-integration-tests.test.ts +0 -391
  494. package/test-council/5-agent-council-eval.test.ts +0 -413
  495. package/test-council/AGENT_COUNCIL_ARCHITECTURE.md +0 -349
  496. package/test-council/TEST_COUNCIL_REPORT.md +0 -201
  497. package/test-council/agents/edge-case-agent.ts +0 -363
  498. package/test-council/agents/performance-agent.ts +0 -426
  499. package/test-council/agents/structure-agent.ts +0 -227
  500. package/test-council/council.md +0 -183
  501. package/tests/__mocks__/tokenUtils.ts +0 -8
  502. package/tests/memory/episodicMemory.test.ts +0 -227
  503. package/tests/package-lock.json +0 -1628
  504. package/tests/package.json +0 -18
  505. package/tests/routing/ensembleVoting.test.ts +0 -236
  506. package/tests/routing/providerRetry.test.ts +0 -360
  507. package/tests/routing/queryTypePresets.test.ts +0 -208
  508. package/tests/security/guardrailEngine.test.ts +0 -700
  509. package/tests/tsconfig.json +0 -21
  510. package/tests/vitest.config.ts +0 -18
  511. package/tmlpd-pi-extension/README.md +0 -66
  512. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts +0 -114
  513. package/tmlpd-pi-extension/dist/cache/prefixCache.d.ts.map +0 -1
  514. package/tmlpd-pi-extension/dist/cache/prefixCache.js +0 -285
  515. package/tmlpd-pi-extension/dist/cache/prefixCache.js.map +0 -1
  516. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts +0 -58
  517. package/tmlpd-pi-extension/dist/cache/responseCache.d.ts.map +0 -1
  518. package/tmlpd-pi-extension/dist/cache/responseCache.js +0 -153
  519. package/tmlpd-pi-extension/dist/cache/responseCache.js.map +0 -1
  520. package/tmlpd-pi-extension/dist/cli.js +0 -59
  521. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts +0 -95
  522. package/tmlpd-pi-extension/dist/cost/costTracker.d.ts.map +0 -1
  523. package/tmlpd-pi-extension/dist/cost/costTracker.js +0 -240
  524. package/tmlpd-pi-extension/dist/cost/costTracker.js.map +0 -1
  525. package/tmlpd-pi-extension/dist/index.d.ts +0 -723
  526. package/tmlpd-pi-extension/dist/index.d.ts.map +0 -1
  527. package/tmlpd-pi-extension/dist/index.js +0 -239
  528. package/tmlpd-pi-extension/dist/index.js.map +0 -1
  529. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts +0 -82
  530. package/tmlpd-pi-extension/dist/memory/episodicMemory.d.ts.map +0 -1
  531. package/tmlpd-pi-extension/dist/memory/episodicMemory.js +0 -145
  532. package/tmlpd-pi-extension/dist/memory/episodicMemory.js.map +0 -1
  533. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts +0 -102
  534. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.d.ts.map +0 -1
  535. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js +0 -207
  536. package/tmlpd-pi-extension/dist/orchestration/haloOrchestrator.js.map +0 -1
  537. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts +0 -85
  538. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.d.ts.map +0 -1
  539. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js +0 -210
  540. package/tmlpd-pi-extension/dist/orchestration/mctsWorkflow.js.map +0 -1
  541. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts +0 -102
  542. package/tmlpd-pi-extension/dist/providers/localProvider.d.ts.map +0 -1
  543. package/tmlpd-pi-extension/dist/providers/localProvider.js +0 -338
  544. package/tmlpd-pi-extension/dist/providers/localProvider.js.map +0 -1
  545. package/tmlpd-pi-extension/dist/providers/registry.d.ts +0 -55
  546. package/tmlpd-pi-extension/dist/providers/registry.d.ts.map +0 -1
  547. package/tmlpd-pi-extension/dist/providers/registry.js +0 -138
  548. package/tmlpd-pi-extension/dist/providers/registry.js.map +0 -1
  549. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts +0 -68
  550. package/tmlpd-pi-extension/dist/routing/advancedRouter.d.ts.map +0 -1
  551. package/tmlpd-pi-extension/dist/routing/advancedRouter.js +0 -332
  552. package/tmlpd-pi-extension/dist/routing/advancedRouter.js.map +0 -1
  553. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts +0 -101
  554. package/tmlpd-pi-extension/dist/tools/tmlpdTools.d.ts.map +0 -1
  555. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js +0 -368
  556. package/tmlpd-pi-extension/dist/tools/tmlpdTools.js.map +0 -1
  557. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts +0 -96
  558. package/tmlpd-pi-extension/dist/utils/batchProcessor.d.ts.map +0 -1
  559. package/tmlpd-pi-extension/dist/utils/batchProcessor.js +0 -170
  560. package/tmlpd-pi-extension/dist/utils/batchProcessor.js.map +0 -1
  561. package/tmlpd-pi-extension/dist/utils/compression.d.ts +0 -61
  562. package/tmlpd-pi-extension/dist/utils/compression.d.ts.map +0 -1
  563. package/tmlpd-pi-extension/dist/utils/compression.js +0 -281
  564. package/tmlpd-pi-extension/dist/utils/compression.js.map +0 -1
  565. package/tmlpd-pi-extension/dist/utils/reliability.d.ts +0 -74
  566. package/tmlpd-pi-extension/dist/utils/reliability.d.ts.map +0 -1
  567. package/tmlpd-pi-extension/dist/utils/reliability.js +0 -177
  568. package/tmlpd-pi-extension/dist/utils/reliability.js.map +0 -1
  569. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts +0 -117
  570. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.d.ts.map +0 -1
  571. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js +0 -246
  572. package/tmlpd-pi-extension/dist/utils/speculativeDecoding.js.map +0 -1
  573. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts +0 -50
  574. package/tmlpd-pi-extension/dist/utils/tokenUtils.d.ts.map +0 -1
  575. package/tmlpd-pi-extension/dist/utils/tokenUtils.js +0 -124
  576. package/tmlpd-pi-extension/dist/utils/tokenUtils.js.map +0 -1
  577. package/tmlpd-pi-extension/examples/QUICKSTART.md +0 -183
  578. package/tmlpd-pi-extension/package-lock.json +0 -79
  579. package/tmlpd-pi-extension/package.json +0 -172
  580. package/tmlpd-pi-extension/python/examples.py +0 -53
  581. package/tmlpd-pi-extension/python/integrations.py +0 -330
  582. package/tmlpd-pi-extension/python/setup.py +0 -28
  583. package/tmlpd-pi-extension/python/tmlpd.py +0 -369
  584. package/tmlpd-pi-extension/qna/REDDIT_GAP_ANALYSIS.md +0 -299
  585. package/tmlpd-pi-extension/qna/TMLPD_QNA.md +0 -751
  586. package/tmlpd-pi-extension/skill/SKILL.md +0 -238
  587. package/tmlpd-pi-extension/src/cache/responseCache.ts +0 -147
  588. package/tmlpd-pi-extension/src/cost/costTracker.ts +0 -302
  589. package/tmlpd-pi-extension/src/index.ts +0 -232
  590. package/tmlpd-pi-extension/src/memory/episodicMemory.ts +0 -257
  591. package/tmlpd-pi-extension/src/orchestration/haloOrchestrator.ts +0 -266
  592. package/tmlpd-pi-extension/src/orchestration/mctsWorkflow.ts +0 -262
  593. package/tmlpd-pi-extension/src/providers/localProvider.ts +0 -406
  594. package/tmlpd-pi-extension/src/providers/registry.ts +0 -164
  595. package/tmlpd-pi-extension/src/routing/ensembleVoting.ts +0 -159
  596. package/tmlpd-pi-extension/src/routing/queryTypePresets.ts +0 -136
  597. package/tmlpd-pi-extension/src/tools/tmlpdTools.ts +0 -433
  598. package/tmlpd-pi-extension/src/utils/batchProcessor.ts +0 -232
  599. package/tmlpd-pi-extension/src/utils/compression.ts +0 -325
  600. package/tmlpd-pi-extension/src/utils/reliability.ts +0 -221
  601. package/tmlpd-pi-extension/src/utils/tokenUtils.ts +0 -145
  602. package/tmlpd-pi-extension/tsconfig.json +0 -18
  603. package/tsconfig.build.json +0 -29
  604. package/tsconfig.json +0 -18
  605. /package/{docs/llms-full.txt → llms-full.txt.bak} +0 -0
@@ -1,55 +0,0 @@
1
- {"version": 2, "width": 80, "height": 24, "timestamp": 1780136991, "env": {"SHELL": "/bin/zsh", "TERM": "xterm-256color"}}
2
- [0.012247, "o", "\u001b[H\u001b[2J"]
3
- [0.012896, "o", "\r\n\u001b[1m\u001b[0;36m╔════════════════════════════════════════════════════════╗\u001b[0m\r\n\u001b[1m\u001b[0;36m║ ║\u001b[0m\r\n\u001b[1m\u001b[0;36m║ A3M Router — Open-Source LLM Router ║\u001b[0m\r\n\u001b[1m\u001b[0;36m║ #1 on RouterArena · 213× cheaper than GPT-5 ║\u001b[0m\r\n\u001b[1m\u001b[0;36m║ ║\u001b[0m\r\n\u001b[1m\u001b[0;36m╚════════════════════════════════════════════════════════╝\u001b[0m\r\n\r\n"]
4
- [2.019261, "o", "\r\n"]
5
- [2.019418, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m📦 ① Install\u001b[0m\r\n\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\r\n"]
6
- [3.527118, "o", "\u001b[0;32m$ \u001b[0mnpm install adaptive-memory-multi-model-router\r\n"]
7
- [6.53242, "o", "\u001b[2madded 1 package in 2.1s\u001b[0m\r\n \u001b[0;32m✅\u001b[0m \u001b[1madaptive-memory-multi-model-router\u001b[0m \u001b[2mv2.14.5\u001b[0m\r\n \u001b[0;32m✅\u001b[0m \u001b[1m47+ providers\u001b[0m \u001b[2mconfigured automatically\u001b[0m\r\n\r\n"]
8
- [7.544006, "o", "\r\n"]
9
- [7.54408, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m🐛 ② Explain an error\u001b[0m\r\n"]
10
- [7.544097, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\r\n"]
11
- [9.052025, "o", "\u001b[0;32m$ \u001b[0mnpx a3m-router route \"TypeError: Cannot read property 'map' of undefined\"\r\n"]
12
- [13.059261, "o", "\r\n"]
13
- [13.059303, "o", "\u001b[0;36m → Query:\u001b[0m \"TypeError: Cannot read property 'map' of undefined\"\r\n"]
14
- [13.059326, "o", "\u001b[0;36m → Complexity:\u001b[0m 25/100 \u001b[2m(LOW)\u001b[0m\r\n"]
15
- [13.059356, "o", "\u001b[0;36m → Routed to:\u001b[0m \u001b[0;32mgroq/llama-3.3-70b\u001b[0m\r\n"]
16
- [13.059484, "o", "\u001b[0;36m → Cost:\u001b[0m \u001b[0;32m$0.00004\u001b[0m \u001b[2m(101 tokens, essentially free)\u001b[0m\r\n\u001b[0;36m → Response:\u001b[0m You're calling .map() on a value that's undefined.\r\n\u001b[2m Check if the array exists before mapping:\r\n\u001b[2m data?.map(item => ...) // optional chaining\u001b[0m\r\n\r\n"]
17
- [15.06702, "o", "\r\n"]
18
- [15.067156, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m🔧 ③ Write a regex\u001b[0m\r\n\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n"]
19
- [15.067173, "o", "\r\n"]
20
- [16.573878, "o", "\u001b[0;32m$ \u001b[0mnpx a3m-router route \"Write a regex to validate email addresses\"\r\n"]
21
- [20.581926, "o", "\r\n"]
22
- [20.581972, "o", "\u001b[0;36m → Query:\u001b[0m \"Write a regex to validate email addresses\"\r\n\u001b[0;36m → Complexity:\u001b[0m 40/100 \u001b[2m(MODERATE)\u001b[0m\r\n"]
23
- [20.581995, "o", "\u001b[0;36m → Routed to:\u001b[0m \u001b[0;32mgroq/llama-3.3-70b\u001b[0m\r\n"]
24
- [20.582193, "o", "\u001b[0;36m → Cost:\u001b[0m \u001b[0;32m$0.0003\u001b[0m\r\n\u001b[0;36m → Response:\u001b[0m /^[\\w.-]+@[\\w.-]+\\.\\w{2,}$/\r\n\u001b[2m // Matches: user@example.com\u001b[0m\r\n\u001b[2m // Matches: first.last@company.co.uk\u001b[0m\r\n\r\n"]
25
- [22.589839, "o", "\r\n"]
26
- [22.589935, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m⚡ ④ Parallel execution\u001b[0m\r\n"]
27
- [22.589952, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\r\n"]
28
- [24.09762, "o", "\u001b[0;32m$ \u001b[0mnpx a3m-router compare \"How do I deploy a Next.js app to Vercel?\"\r\n"]
29
- [29.104997, "o", "\r\n"]
30
- [29.105026, "o", "\u001b[0;36m → Firing 5 providers in PARALLEL...\u001b[0m\r\n\r\n"]
31
- [29.105139, "o", " \u001b[0;32m✓\u001b[0m groq/llama-3.3-70b \u001b[2m187ms\u001b[0m \u001b[0;32m$0.00001\u001b[0m\r\n"]
32
- [29.105162, "o", " \u001b[0;32m✓\u001b[0m cerebras/llama-3.3-70b \u001b[2m145ms\u001b[0m \u001b[0;32m$0.00001\u001b[0m\r\n \u001b[0;32m✓\u001b[0m deepseek/chat \u001b[2m812ms\u001b[0m \u001b[0;32m$0.00007\u001b[0m\r\n \u001b[0;32m✓\u001b[0m mistral/mistral-large \u001b[2m1.2s\u001b[0m \u001b[1;33m$0.00120\u001b[0m\r\n \u001b[0;32m✓\u001b[0m openai/gpt-4o \u001b[2m2.1s\u001b[0m \u001b[0;31m$0.00250\u001b[0m\r\n\r\n"]
33
- [29.105231, "o", " \u001b[1m\u001b[0;32m◆ Best:\u001b[0m \u001b[1mgroq/llama-3.3-70b\u001b[0m \u001b[2m(187ms, $0.00001)\u001b[0m\r\n\r\n \u001b[1m Without A3M:\u001b[0m $0.03 \u001b[0;31m(sequential, all → GPT-4o)\u001b[0m\r\n"]
34
- [29.105246, "o", " \u001b[1m With A3M:\u001b[0m $0.0004 \u001b[0;32m(parallel, pick fastest)\u001b[0m\r\n"]
35
- [29.105292, "o", " \u001b[1m Savings:\u001b[0m 99% per query \u001b[0;32m💰\u001b[0m\r\n\r\n"]
36
- [31.112514, "o", "\r\n"]
37
- [31.11254, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m📡 ⑤ 40 providers, zero config\u001b[0m\r\n"]
38
- [31.11262, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\r\n"]
39
- [32.619696, "o", "\u001b[0;32m$ \u001b[0mnpx a3m-router providers\r\n"]
40
- [34.627539, "o", "\r\n"]
41
- [34.62758, "o", " \u001b[0;32m✅\u001b[0m groq/llama-3.3-70b \u001b[2m\u001b[0;32mFREE\u001b[0m \u001b[0;36m325ms\u001b[0m\r\n"]
42
- [34.627695, "o", " \u001b[0;32m✅\u001b[0m cerebras/llama-3.3-70b \u001b[2m\u001b[0;32mFREE\u001b[0m \u001b[0;36m180ms\u001b[0m\r\n \u001b[0;32m✅\u001b[0m deepseek/chat \u001b[0;32m$0.14/1M\u001b[0m \u001b[1;33m800ms\u001b[0m\r\n \u001b[0;32m✅\u001b[0m mistral/mistral-large \u001b[1;33m$2.00/1M\u001b[0m \u001b[0;31m1200ms\u001b[0m\r\n"]
43
- [34.627758, "o", " \u001b[0;32m✅\u001b[0m openai/gpt-4o \u001b[0;31m$2.50/1M\u001b[0m \u001b[0;31m2100ms\u001b[0m\r\n \u001b[2m ... 35 more providers\u001b[0m\r\n\r\n"]
44
- [36.635439, "o", "\r\n"]
45
- [36.635481, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\u001b[1m\u001b[0;34m⚡ ⑥ Drop-in OpenAI proxy\u001b[0m\r\n"]
46
- [36.635605, "o", "\u001b[2m─────────────────────────────────────────────────────────\u001b[0m\r\n\r\n"]
47
- [38.14715, "o", "\u001b[0;32m$ \u001b[0mnpx a3m-router serve\r\n"]
48
- [40.155144, "o", "\r\n"]
49
- [40.155183, "o", " \u001b[0;32m✅\u001b[0m \u001b[1mA3M Router\u001b[0m proxy on \u001b[0;36mhttp://localhost:8787\u001b[0m\r\n \u001b[2m 🔄 Point any OpenAI SDK at localhost:8787\u001b[0m\r\n"]
50
- [40.155278, "o", " \u001b[2m 🔄 Zero code changes required\u001b[0m\r\n\r\n"]
51
- [41.162506, "o", "\r\n"]
52
- [41.162553, "o", "\u001b[1m\u001b[0;36m╔════════════════════════════════════════════════════════╗\u001b[0m\r\n"]
53
- [41.16257, "o", "\u001b[1m\u001b[0;36m║ ║\u001b[0m\r\n"]
54
- [41.162725, "o", "\u001b[1m\u001b[0;36m║ ⭐ github.com/Das-rebel/a3m-router ║\u001b[0m\r\n\u001b[1m\u001b[0;36m║ 📦 npmjs.com/package/adaptive-memory-multi-model-router\u001b[0m\r\n\u001b[1m\u001b[0;36m║ 🏆 #1 on RouterArena — 213× cheaper than GPT-5 ║\u001b[0m\r\n\u001b[1m\u001b[0;36m║ ║\u001b[0m\r\n\u001b[1m\u001b[0;36m╚════════════════════════════════════════════════════════╝\u001b[0m\r\n"]
55
- [41.162744, "o", "\r\n"]
package/demo/server.js DELETED
@@ -1,405 +0,0 @@
1
- /**
2
- * A3M Router Demo Server
3
- *
4
- * Interactive web demo showing parallel multi-LLM routing.
5
- * Works without API keys — falls back to mock results.
6
- */
7
-
8
- import express from "express";
9
- import path from "path";
10
- import { fileURLToPath } from "url";
11
-
12
- const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
-
14
- // ============================================================
15
- // Lazy-load A3M Router (fail gracefully if not installed locally)
16
- // ============================================================
17
- let a3m;
18
- try {
19
- a3m = await import("adaptive-memory-multi-model-router");
20
- } catch {
21
- console.warn("[demo] A3M Router not installed locally — using file:// import");
22
- // Try relative path for development
23
- try {
24
- a3m = await import("../dist/index.js");
25
- } catch {
26
- a3m = null;
27
- }
28
- }
29
-
30
- // ============================================================
31
- // Fallback responses for when no real API keys are configured
32
- // ============================================================
33
- const MOCK_RESPONSES = {
34
- "Write a haiku about Kubernetes": {
35
- content: `Pods drift through the cloud\nOrchestrator hums softly\nContainers at rest`,
36
- model: "groq/llama-3.3-70b-versatile",
37
- provider: "Groq",
38
- },
39
- "Explain quantum computing to a 5-year-old": {
40
- content: `Imagine you have a magical coin. Normal coins are either heads OR tails. But a magical quantum coin can be heads AND tails at the same time! That's what quantum computers use — they have special "magic coins" called qubits (say "kyoo-bits").
41
-
42
- While a regular computer checks one answer at a time (like trying every key on a keychain), a quantum computer can check ALL the answers at once. That makes it super fast at solving certain puzzles, like finding the right key instantly!`,
43
- model: "anthropic/claude-sonnet-4-20250514",
44
- provider: "Anthropic",
45
- },
46
- "Write a React component for a search bar": {
47
- content: `\`\`\`jsx
48
- import React, { useState, useCallback } from 'react';
49
-
50
- function SearchBar({ onSearch, placeholder = "Search..." }) {
51
- const [query, setQuery] = useState("");
52
- const [isFocused, setIsFocused] = useState(false);
53
-
54
- const handleChange = useCallback((e) => {
55
- setQuery(e.target.value);
56
- }, []);
57
-
58
- const handleSubmit = useCallback((e) => {
59
- e.preventDefault();
60
- if (query.trim()) onSearch(query.trim());
61
- }, [query, onSearch]);
62
-
63
- const handleClear = useCallback(() => {
64
- setQuery("");
65
- }, []);
66
-
67
- return (
68
- <form
69
- onSubmit={handleSubmit}
70
- style={{
71
-
72
- display: "flex",
73
- alignItems: "center",
74
- background: isFocused ? "#fff" : "#f5f5f5",
75
- border: \`2px solid \${isFocused ? "#6366f1" : "#e5e7eb"}\`,
76
- borderRadius: "12px",
77
- padding: "8px 16px",
78
- transition: "all 0.2s ease",
79
- maxWidth: "500px",
80
- }}
81
- >
82
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" style={{ marginRight: 8 }}>
83
- <path d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" fill="#9ca3af"/>
84
- </svg>
85
- <input
86
- type="text"
87
- value={query}
88
- onChange={handleChange}
89
- onFocus={() => setIsFocused(true)}
90
- onBlur={() => setIsFocused(false)}
91
- placeholder={placeholder}
92
- style={{
93
- flex: 1,
94
- border: "none",
95
- outline: "none",
96
- background: "transparent",
97
- fontSize: "16px",
98
- padding: "4px 0",
99
- color: "#1f2937",
100
- }}
101
- />
102
- {query && (
103
- <button
104
- type="button"
105
- onClick={handleClear}
106
- style={{
107
- background: "none",
108
- border: "none",
109
- cursor: "pointer",
110
- padding: 4,
111
- color: "#9ca3af",
112
- }}
113
- aria-label="Clear search"
114
- >
115
-
116
- </button>
117
- )}
118
- <button
119
- type="submit"
120
- style={{
121
- background: "#6366f1",
122
- color: "#fff",
123
- border: "none",
124
- borderRadius: "8px",
125
- padding: "8px 16px",
126
- marginLeft: 8,
127
- cursor: "pointer",
128
- fontWeight: 600,
129
- fontSize: "14px",
130
- }}
131
- >
132
- Search
133
- </button>
134
- </form>
135
- );
136
- }
137
-
138
- export default SearchBar;
139
- \`\`\``,
140
- model: "openai/gpt-4o",
141
- provider: "OpenAI",
142
- },
143
- };
144
-
145
- const DEFAULT_MOCK = {
146
- content:
147
- "A3M Router selected the optimal model for your query. Configure API keys to get real LLM responses — the routing engine analyzed your query's complexity, domain, and requirements to find the best provider.",
148
- model: "a3m-routing/auto",
149
- provider: "A3M Routing Engine",
150
- };
151
-
152
- // ============================================================
153
- // Cost calculator (based on A3M Router token costs)
154
- // ============================================================
155
- const MODEL_COSTS = {
156
- "groq/llama-3.3-70b-versatile": { input: 0.59, output: 0.79 },
157
- "anthropic/claude-sonnet-4-20250514": { input: 3.0, output: 15.0 },
158
- "openai/gpt-4o": { input: 2.5, output: 10.0 },
159
- };
160
-
161
- function estimateCost(model, content) {
162
- const tokens = Math.ceil(content.length / 4); // rough estimate
163
- const costs = MODEL_COSTS[model] || { input: 0.5, output: 0.5 };
164
- return ((tokens / 1_000_000) * (costs.input + costs.output)).toFixed(6);
165
- }
166
-
167
- // ============================================================
168
- // Express App
169
- // ============================================================
170
- const app = express();
171
- app.use(express.json());
172
- app.use(express.static(path.join(__dirname, "public")));
173
-
174
- // ── GET /api/providers ───────────────────────────────────
175
- app.get("/api/providers", (req, res) => {
176
- let providers = {};
177
- let hasRealKeys = false;
178
-
179
- if (a3m) {
180
- try {
181
- providers = a3m.getAvailableProviders();
182
- hasRealKeys = Object.keys(providers).length > 0;
183
- } catch {
184
- providers = {};
185
- }
186
- }
187
-
188
- // Build a clean list of what's available
189
- const list = Object.entries(providers).map(([id, p]) => ({
190
- id,
191
- name: p.name,
192
- tier: p.tier,
193
- models: p.models?.length || 0,
194
- type: p.type,
195
- costPerM: p.costPerK
196
- ? { input: p.costPerK.input, output: p.costPerK.output }
197
- : { input: 0, output: 0 },
198
- }));
199
-
200
- res.json({
201
- count: list.length,
202
- hasApiKeys: hasRealKeys,
203
- providers: list,
204
- note: hasRealKeys
205
- ? "API keys detected — real LLM responses enabled"
206
- : "No API keys configured — showing simulated responses",
207
- });
208
- });
209
-
210
- // ── POST /api/analyze ───────────────────────────────────
211
- app.post("/api/analyze", (req, res) => {
212
- const { prompt } = req.body;
213
- if (!prompt || typeof prompt !== "string") {
214
- return res.status(400).json({ error: "prompt is required" });
215
- }
216
-
217
- let features = null;
218
- let routing = null;
219
-
220
- if (a3m) {
221
- try {
222
- features = a3m.extractQueryFeatures(prompt);
223
- routing = a3m.routeQuery(prompt);
224
- } catch {
225
- // fallback below
226
- }
227
- }
228
-
229
- if (!features) {
230
- const complexity = Math.min(1, 0.15 + prompt.length / 500);
231
- features = {
232
- complexity,
233
- length: prompt.split(/\s+/).length,
234
- has_code: /function|class |def |import|<[a-z]+|const |let |var /i.test(prompt),
235
- has_math: /\d+[\+\-\*\/=]|calculate|sum|equation/i.test(prompt),
236
- requires_reasoning: /why|explain|analyze|compare|reason/i.test(prompt),
237
- is_creative: /write|story|poem|create|imagine/i.test(prompt),
238
- detected_domain: "general",
239
- };
240
- }
241
-
242
- if (!routing) {
243
- routing = {
244
- primary_model: "a3m/auto-routed",
245
- confidence: 0.85,
246
- reasoning: "Intelligent routing based on query complexity and domain",
247
- estimated_cost: "0.000001",
248
- estimated_latency_ms: 420,
249
- };
250
- }
251
-
252
- res.json({ features, routing });
253
- });
254
-
255
- // ── POST /api/route ────────────────────────────────────
256
- app.post("/api/route", async (req, res) => {
257
- const { prompt, mode } = req.body;
258
- if (!prompt || typeof prompt !== "string") {
259
- return res.status(400).json({ error: "prompt is required" });
260
- }
261
-
262
- const startTime = Date.now();
263
- const isEnsemble = mode === "ensemble";
264
-
265
- try {
266
- // 1) Route the query using A3M Router
267
- let routing = null;
268
- let features = null;
269
-
270
- if (a3m) {
271
- try {
272
- routing = a3m.routeQuery(prompt);
273
- features = a3m.extractQueryFeatures(prompt);
274
- } catch {
275
- // fallback
276
- }
277
- }
278
-
279
- // 2) Try real LLM execution via proxy server
280
- let content = null;
281
- let provider = null;
282
- let model = null;
283
- let usedRealProvider = false;
284
-
285
- // Check if we have any API keys configured
286
- let availableProviders = {};
287
- if (a3m) {
288
- try {
289
- availableProviders = a3m.getAvailableProviders();
290
- } catch {}
291
- }
292
-
293
- const hasRealKeys = Object.keys(availableProviders).length > 0;
294
-
295
- if (hasRealKeys && a3m) {
296
- try {
297
- // Try routing via proxy
298
- const modelName = "auto";
299
- const messages = [{ role: "user", content: prompt }];
300
-
301
- const modelMapper = await import("../dist/server/modelMapper.js");
302
- const mapping = modelMapper.resolveModel(modelName, prompt);
303
- if (mapping && mapping.apiKey) {
304
- const baseUrl = mapping.baseUrl;
305
- const body = {
306
- model: mapping.model,
307
- messages,
308
- max_tokens: 512,
309
- };
310
- const headers = { "Content-Type": "application/json" };
311
- if (mapping.apiKey) headers["Authorization"] = `Bearer ${mapping.apiKey}`;
312
-
313
- const resp = await fetch(baseUrl, {
314
- method: "POST",
315
- headers,
316
- body: JSON.stringify(body),
317
- });
318
- const data = await resp.json();
319
- if (data.choices?.[0]?.message?.content) {
320
- content = data.choices[0].message.content;
321
- provider = mapping.providerId;
322
- model = mapping.model;
323
- usedRealProvider = true;
324
- }
325
- }
326
- } catch (e) {
327
- console.warn("[demo] Real provider call failed:", e.message);
328
- }
329
- }
330
-
331
- // 3) Fallback to mock if no real response
332
- if (!content) {
333
- const mockKey = Object.keys(MOCK_RESPONSES).find((k) => prompt.includes(k));
334
- const mock = mockKey ? MOCK_RESPONSES[mockKey] : DEFAULT_MOCK;
335
- content = mock.content;
336
- provider = mock.provider;
337
- model = mock.model;
338
- }
339
-
340
- // 4) Ensemble mode: return multiple responses
341
- let responses = null;
342
- if (isEnsemble) {
343
- const providers = ["Groq", "Anthropic", "OpenAI"];
344
- responses = providers.map((p) => ({
345
- provider: p,
346
- model: p === "Groq"
347
- ? "llama-3.3-70b-versatile"
348
- : p === "Anthropic"
349
- ? "claude-sonnet-4-20250514"
350
- : "gpt-4o",
351
- content: `[Simulated response from ${p}] A3M Router selected ${p} for optimal performance on your query. Configure API keys to get real responses from all providers simultaneously.`,
352
- latency: Math.floor(Math.random() * 400 + 200),
353
- cost: (Math.random() * 0.002).toFixed(6),
354
- }));
355
- }
356
-
357
- const latency = Date.now() - startTime;
358
- const cost = usedRealProvider
359
- ? estimateCost(model, content)
360
- : "0.000001";
361
-
362
- res.json({
363
- result: content,
364
- provider,
365
- model,
366
- mode: isEnsemble ? "ensemble" : "single",
367
- latency,
368
- cost,
369
- usedMock: !usedRealProvider,
370
- features,
371
- routing,
372
- responses,
373
- hasRealKeys,
374
- });
375
- } catch (err) {
376
- console.error("[demo] Route error:", err);
377
- res.status(500).json({
378
- error: err.message,
379
- result: "A3M Router encountered an error processing your query.",
380
- provider: "A3M Router",
381
- model: "error",
382
- latency: Date.now() - startTime,
383
- cost: "0",
384
- usedMock: true,
385
- });
386
- }
387
- });
388
-
389
- // ── Serve index.html for all other routes ──────────────
390
- app.get("*", (req, res) => {
391
- res.sendFile(path.join(__dirname, "public", "index.html"));
392
- });
393
-
394
- // ── Start ──────────────────────────────────────────────
395
- const PORT = process.env.PORT || 3000;
396
- app.listen(PORT, () => {
397
- console.log(`
398
- A3M Router Demo Server
399
- ─────────────────────────
400
- Running: http://localhost:${PORT}
401
- API Key: ${process.env.OPENAI_API_KEY ? "Yes" : "No (mock mode)"}
402
- Providers: ${a3m ? "A3M SDK loaded" : "A3M SDK not available"}
403
- Mode: ${process.env.OPENAI_API_KEY || process.env.GROQ_API_KEY ? "Live" : "Demo (mock responses)"}
404
- `);
405
- });
package/demo-new.tape DELETED
@@ -1,71 +0,0 @@
1
- # VHS documentation
2
- #
3
- # Output:
4
- # Output <path>.gif Create a GIF output at the given <path>
5
- # Output <path>.mp4 Create an MP4 output at the given <path>
6
- # Output <path>.webm Create a WebM output at the given <path>
7
- #
8
- # Require:
9
- # Require <string> Ensure a program is on the $PATH to proceed
10
- #
11
- # Settings:
12
- # Set FontSize <number> Set the font size of the terminal
13
- # Set FontFamily <string> Set the font family of the terminal
14
- # Set Height <number> Set the height of the terminal
15
- # Set Width <number> Set the width of the terminal
16
- # Set LetterSpacing <float> Set the font letter spacing (tracking)
17
- # Set LineHeight <float> Set the font line height
18
- # Set LoopOffset <float>% Set the starting frame offset for the GIF loop
19
- # Set Theme <json|string> Set the theme of the terminal
20
- # Set Padding <number> Set the padding of the terminal
21
- # Set Framerate <number> Set the framerate of the recording
22
- # Set PlaybackSpeed <float> Set the playback speed of the recording
23
- # Set MarginFill <file|#000000> Set the file or color the margin will be filled with.
24
- # Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set.
25
- # Set BorderRadius <number> Set terminal border radius, in pixels.
26
- # Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
27
- # Set WindowBarSize <number> Set window bar size, in pixels. Default is 40.
28
- # Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms.
29
- #
30
- # Sleep:
31
- # Sleep <time> Sleep for a set amount of <time> in seconds
32
- #
33
- # Type:
34
- # Type[@<time>] "<characters>" Type <characters> into the terminal with a
35
- # <time> delay between each character
36
- #
37
- # Keys:
38
- # Escape[@<time>] [number] Press the Escape key
39
- # Backspace[@<time>] [number] Press the Backspace key
40
- # Delete[@<time>] [number] Press the Delete key
41
- # Insert[@<time>] [number] Press the Insert key
42
- # Down[@<time>] [number] Press the Down key
43
- # Enter[@<time>] [number] Press the Enter key
44
- # Space[@<time>] [number] Press the Space key
45
- # Tab[@<time>] [number] Press the Tab key
46
- # Left[@<time>] [number] Press the Left Arrow key
47
- # Right[@<time>] [number] Press the Right Arrow key
48
- # Up[@<time>] [number] Press the Up Arrow key
49
- # Down[@<time>] [number] Press the Down Arrow key
50
- # PageUp[@<time>] [number] Press the Page Up key
51
- # PageDown[@<time>] [number] Press the Page Down key
52
- # Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C)
53
- #
54
- # Display:
55
- # Hide Hide the subsequent commands from the output
56
- # Show Show the subsequent commands in the output
57
- # ScrollUp[@<time>] [number] Scroll terminal viewport up by rows
58
- # ScrollDown[@<time>] [number] Scroll terminal viewport down by rows
59
-
60
- Output demo-new.gif
61
-
62
- Require echo
63
-
64
- Set Shell "bash"
65
- Set FontSize 32
66
- Set Width 1200
67
- Set Height 600
68
-
69
- Type "echo 'Welcome to VHS!'" Sleep 500ms Enter
70
-
71
- Sleep 5s