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