adaptive-memory-multi-model-router 2.13.17 → 2.13.20

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 (96) hide show
  1. package/.dockerignore +82 -0
  2. package/.env.example +303 -0
  3. package/.github/DISCUSSIONS_WELCOME.md +27 -0
  4. package/.github/DISCUSSION_TEMPLATE.yml +5 -0
  5. package/.github/ISSUE_TEMPLATE/bug_report.md +83 -12
  6. package/.github/ISSUE_TEMPLATE/config.yml +12 -6
  7. package/.github/ISSUE_TEMPLATE/feature_request.md +61 -10
  8. package/.github/PULL_REQUEST_TEMPLATE.md +53 -26
  9. package/.github/dependabot.yml +9 -0
  10. package/.github/workflows/codeql.yml +38 -0
  11. package/.github/workflows/npm-publish.yml +20 -0
  12. package/.github/workflows/stale.yml +56 -0
  13. package/ARCHITECTURE.md +346 -0
  14. package/AUDIT_REPORT.md +28 -0
  15. package/CHANGELOG.md +386 -22
  16. package/CONTRIBUTORS.md +20 -0
  17. package/Dockerfile +53 -0
  18. package/Dockerfile.proxy +33 -0
  19. package/PR_STATUS_REPORT.md +148 -0
  20. package/README.md +22 -0
  21. package/RUNKIT.md +83 -0
  22. package/_schema.html +61 -15
  23. package/articles/AI_AGENT_LLM_ROUTING.md +150 -0
  24. package/articles/FROM_ZERO_TO_10K.md +107 -0
  25. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +153 -0
  26. package/articles/TWEETS_10K_DOWNLOADS.md +47 -0
  27. package/articles/TWEETS_BENCHMARK_FIRST.md +46 -0
  28. package/articles/TWEETS_MCP_PLAY.md +51 -0
  29. package/articles/TWEETS_SEQUENTIAL_BROKEN.md +49 -0
  30. package/articles/TWEETS_WHY_BUILD.md +54 -0
  31. package/benchmark-results.json +26 -45
  32. package/cli/a3m +840 -0
  33. package/demo/package.json +13 -0
  34. package/demo/public/index.html +762 -0
  35. package/demo/server.js +405 -0
  36. package/dist/cli.js +4 -0
  37. package/docker-compose.yml +74 -0
  38. package/docs/.nojekyll +0 -0
  39. package/docs/BENCHMARK.md +96 -22
  40. package/docs/_config.yml +49 -0
  41. package/docs/api.html +513 -0
  42. package/docs/benchmark.html +387 -0
  43. package/docs/cli-cheatsheet.md +339 -0
  44. package/docs/comparison.md +108 -0
  45. package/docs/curl-examples.md +247 -0
  46. package/docs/index.html +390 -99
  47. package/docs/openapi.yaml +1318 -0
  48. package/docs/quick-start.html +366 -0
  49. package/docs/robots.txt +1 -1
  50. package/docs/sitemap.xml +23 -5
  51. package/docs/styles.css +682 -0
  52. package/examples/README.md +61 -0
  53. package/examples/a3m-sdk.js +124 -0
  54. package/examples/basic-route.js +54 -0
  55. package/examples/chat-loop.js +202 -0
  56. package/examples/classify-then-route.js +102 -0
  57. package/examples/cost-compare.js +120 -0
  58. package/examples/ensemble.js +160 -0
  59. package/hf-space/README.md +22 -0
  60. package/hf-space/app.py +97 -0
  61. package/integrations/langchain/README.md +216 -0
  62. package/integrations/langchain/a3m_langchain.ts +1360 -0
  63. package/integrations/langchain/example.ts +287 -0
  64. package/integrations/vercel-ai-sdk/README.md +49 -0
  65. package/integrations/vercel-ai-sdk/a3m_provider.ts +78 -0
  66. package/integrations/vercel-ai-sdk/example.ts +25 -0
  67. package/llms-full.txt +43 -0
  68. package/llms.txt +9 -0
  69. package/mcp-server/README.md +188 -0
  70. package/mcp-server/package.json +29 -0
  71. package/mcp-server/src/index.ts +744 -0
  72. package/mcp-server/tsconfig.json +19 -0
  73. package/package.json +3 -3
  74. package/proxy/README.md +227 -0
  75. package/proxy/package-lock.json +831 -0
  76. package/proxy/package.json +17 -0
  77. package/proxy/rate-limit.js +145 -0
  78. package/proxy/rate-limit.test.js +311 -0
  79. package/proxy/server.js +970 -0
  80. package/scripts/banner.js +29 -0
  81. package/scripts/compare-providers.sh +230 -0
  82. package/scripts/cross_post.py +443 -0
  83. package/scripts/publish_fcc.py +106 -0
  84. package/scripts/push-to-gitee.sh +52 -0
  85. package/src/tui/dashboard.ts +13 -0
  86. package/tests/__mocks__/tokenUtils.ts +22 -0
  87. package/tests/memory/episodicMemory.test.ts +227 -0
  88. package/tests/package-lock.json +1628 -0
  89. package/tests/package.json +18 -0
  90. package/tests/routing/ensembleVoting.test.ts +236 -0
  91. package/tests/routing/providerRetry.test.ts +360 -0
  92. package/tests/routing/queryTypePresets.test.ts +206 -0
  93. package/tests/tsconfig.json +21 -0
  94. package/tests/vitest.config.ts +18 -0
  95. package/.env +0 -2
  96. package/media/a3m-tui-screenshot.png +0 -0
package/CHANGELOG.md CHANGED
@@ -1,24 +1,388 @@
1
1
  # Changelog
2
2
 
3
- ## v2.13.x — TUI & DX (May 2026)
4
- - 🎨 **Sakura light pink terminal UI** — overlay box with `/route`, `/cost`, `/health`, `/models`, `/model`
5
- - 🏷️ **20 GitHub topics** — ai-gateway, caching, nvidia, tui, terminal
6
- - 📦 **54 npm keywords** — expanded discoverability
7
- - **Star CTA** in README
8
-
9
- ## v2.12.x NVIDIA NIM + DeepSeek (May 2026)
10
- - 🚀 **NVIDIA NIM** — 10 free models (llama-3.1, nemotron, gemma, qwen)
11
- - 🇨🇳 **DeepSeek V4** flash + pro models, cost-optimized routing
12
- - 💰 **Cost tracking** `/cost` endpoint with by-provider breakdown
13
- - 📊 **npm visibility** — 10K downloads in 14 days
14
-
15
- ## v2.9.x–v2.11.x Growth (May 2026)
16
- - 📈 **npm search optimization** — keyword refinement, daily publishes
17
- - 🧪 **CI pipeline** github actions build + test
18
- - 📖 **Documentation** — QUICK_START, USE_CASES, multi-language README
19
-
20
- ## v2.0.x Launch (May 2026)
21
- - 🔀 **47+ providers** with auto-routing
22
- - 🧠 **99.5% routing accuracy** with UCB1 + MCTS
23
- - 💾 **Semantic cache** with 30%+ hit rate
24
- - 📉 **62% cost savings** vs all-premium routing
3
+ ## [Unreleased]
4
+
5
+ ### Added
6
+ - Docker + docker-compose deployment
7
+ - MCP server for AI agent integration
8
+ - LangChain LLM integration with A3M Router
9
+ - Gradio demo on HuggingFace Space
10
+ - GitHub Pages documentation site
11
+ - CI/CD badges and community health files
12
+ - Posting directory with 30+ platforms for A3M discovery
13
+
14
+ ### Changed
15
+ - Cleanup removed 4 unused deps, fixed 0 vulns, deduplicated
16
+
17
+ ## [2.14.0]2026-05-28
18
+
19
+ ### Added
20
+ - MCP server for AI agent integration
21
+ - LangChain provider integration (A3MChatModel)
22
+ - Interactive web demo with Gradio
23
+ - Docker + docker-compose deployment (Dockerfile, docker-compose.yml)
24
+ - HuggingFace Space demo with Gradio app for parallel LLM routing
25
+ - GitHub Pages documentation site
26
+ - CI/CD with GitHub Actions, badges, community health files
27
+ - Posting directory with vault-sourced Reddit list and 50+ targets
28
+
29
+ ### Changed
30
+ - Removed 291 tracked node_modules files
31
+ - Updated README with TUI usage instructions
32
+
33
+ ### Fixed
34
+ - GitHub topics, star CTA, keywords, CHANGELOG, CONTRIBUTING
35
+
36
+ ### Removed
37
+ - Full-desktop screenshot
38
+ - Tracked secrets, added .gitignore and .env.example
39
+
40
+ ## [2.13.x] — 2026-05-20
41
+
42
+ ### Added
43
+ - TUI v2 — Tokyo Night theme, sparklines, tabs, pulse animation, F-keys, mouse support
44
+ - TUI conversational mode — PI-style chat with /route, /cost, /health commands
45
+ - Inline REPL TUI — chalk + boxen, PI /search style
46
+ - Ensemble voting (P0): parallel multi-LLM execution with confidence-weighted merging
47
+ - Query presets (P1): per-bucket provider + temperature configuration
48
+ - Persistent agent memory (P3): cross-session .memory.json
49
+ - Independent benchmark validation using llm-gateway-bench
50
+ - MMLU cross-reference with third-party benchmark validation
51
+ - Fresh benchmark run (2026-05-26)
52
+ - Professional benchmark chart — clean white style
53
+ - PI-style conversational TUI — /slash commands, Tokyo Night theme
54
+ - Sakura light pink theme — blush white bg, hot pink accents
55
+
56
+ ### Changed
57
+ - Repositioned as fastest-growing npm LLM router
58
+ - Moved benchmark to top of README, updated keywords for GEO
59
+ - Rewrote all posts to focus on 3 customer pain points
60
+ - Rewrote content in vault-informed human voice using real tweet language patterns
61
+ - Positioned as central-brain orchestration layer
62
+
63
+ ### Fixed
64
+ - Blessed overlay box rendering — proper sizing, bottom border, cursor positioning
65
+ - Clean rendering, no ANSI corruption in overlay boxes
66
+ - Internal project references removed, rewritten for general audience
67
+
68
+ ## [2.13.0] — 2026-05-20
69
+
70
+ ### Added
71
+ - TUI dashboard — blessed terminal UI with provider health, cost gauge, live logs
72
+ - Ensemble voting (P0): parallel multi-LLM execution with weighted result merging
73
+ - Query presets (P1): configurable per-query-type provider + temperature
74
+ - Persistent agent memory (P3): .memory.json for cross-session context
75
+
76
+ ### Changed
77
+ - Complete README rewrite positioning A3M as central-brain orchestration layer
78
+ - Bumped to 2.13.0 for central-brain positioning + ensemble features
79
+ - Bumped to 2.13.2 with clean description
80
+ - Bumped to 2.13.4 with updated keywords and description
81
+ - Bumped to 2.13.5 with updated repo URL
82
+
83
+ ## [2.12.x] — 2026-05-18
84
+
85
+ ### Added
86
+ - Real demo — shell script + HTML video
87
+ - Terminal demo files for A3M Router
88
+ - Auto-playing demo without button dependency
89
+ - Redesigned demo based on README content
90
+ - Demo HTML for GitHub Pages
91
+ - Single-command TUI with demo mode
92
+ - Zero-config TUI with free-tier defaults
93
+
94
+ ### Changed
95
+ - Reduced keywords by 20%, added differentiators
96
+ - Updated with 6.1k monthly downloads badge
97
+ - Removed 32 low-value keywords for better SEO
98
+
99
+ ### Fixed
100
+ - CI build step
101
+ - Excluded embedded repos
102
+
103
+ ## [2.11.x] — 2026-05-15
104
+
105
+ ### Added
106
+ - GitHub Pages deployment workflow
107
+ - Root index.html redirect to charts gallery
108
+ - Animated charts moved to docs/assets/
109
+ - Hyperframes-style animated cost comparison and social banner
110
+ - Lottie animations with interactive preview (later removed)
111
+ - High-quality SVG visuals (v1, v2, v3 charts)
112
+ - Hyperframes-style animated chart
113
+ - Improved SVG charts v2 with animations and premium effects
114
+ - GitHub Pages index with 10x improved design
115
+
116
+ ### Fixed
117
+ - CDN fallback chain: raw to jsDelivr to local assets
118
+ - Preview page loading from GitHub raw CDN
119
+ - Removed broken assets from docs/index.html
120
+
121
+ ### Removed
122
+ - Lottie files and preview page
123
+ - Cleaned docs/index.html
124
+
125
+ ## [2.10.x] — 2026-05-12
126
+
127
+ ### Added
128
+ - Interactive setup wizard
129
+ - Minimal launch artifacts
130
+ - 75 feature keywords for recent builds
131
+ - Visual diagrams — terminal demo, routing flow, feature grid
132
+ - GitHub Actions CI with pytest async support
133
+ - Eval gates and shadow eval in CI pipeline
134
+ - Eval framework with routing, fault injection, shadow eval
135
+ - Engineering spec, claims, and reproducibility docs
136
+
137
+ ### Changed
138
+ - Simplified tagline: "One prompt in. The right model out."
139
+ - Updated provider count to 47+
140
+ - Updated GitHub About description with fuller description
141
+
142
+ ### Fixed
143
+ - Python tests that require local tmlpd-skill dependency (now skipped in CI)
144
+ - TypeScript warning fix and dist rebuild
145
+ - Duplicate sections in README
146
+
147
+ ## [2.9.x] — 2026-05-10
148
+
149
+ ### Added
150
+ - GEO optimization — hyperlinks, Chinese description, provider URLs
151
+ - Research-backed architecture section with 8 key papers
152
+ - 588 keywords + keyword-rich README content
153
+ - Pain point features to README
154
+ - Per-provider retry logic (P1)
155
+ - Observability layer (P2)
156
+ - Star CTA, community badges, OSS section
157
+ - Provider sections removed — users choose their own
158
+
159
+ ### Changed
160
+ - Clarified 61.6% benchmark baseline — savings vs all-premium routing
161
+ - Consolidated benchmark results section
162
+ - Improved routing signals section with detailed signal breakdown
163
+
164
+ ## [2.8.x] — 2026-05-08
165
+
166
+ ### Added
167
+ - Redesigned README — clean, code-first, best practices
168
+ - Restored 428 keywords from v2.2.5 spike era + 25 unique additions
169
+ - Professional SVG assets with creative improvements
170
+ - Visual overview section with 7 SVG charts
171
+
172
+ ### Changed
173
+ - Improved all SVG assets with cleaner professional design
174
+ - README redesigned with best practices from vLLM, Gradio, OpenHuman
175
+
176
+ ### Reverted
177
+ - Restored README from before SVG charts (v2.2.6 era)
178
+
179
+ ## [2.7.x] — 2026-05-05
180
+
181
+ ### Added
182
+ - Research references and SEO/GEO enhancements
183
+ - Competitor links table and routing keywords
184
+ - Comprehensive ASCII graphics and visual diagrams
185
+ - PNG charts and visual diagrams
186
+ - Enhanced charts (v3) — comprehensive visual overview
187
+
188
+ ### Fixed
189
+ - Clean README — restore from clean state, fix comparison table
190
+
191
+ ## [2.6.x] — 2026-05-03
192
+
193
+ ### Added
194
+ - Chinese LLM providers section (8 Chinese provider topics)
195
+ - Chinese (README_zh.md) and Japanese (README_ja.md) translations
196
+ - Language links at top of README (Chinese, Japanese, English)
197
+ - Provider benchmarks table with cost/quality ratios, latency, confusion matrix
198
+ - Real API benchmark results — Groq and Cerebras latency data
199
+ - MMLU/quality benchmarks — real API calls
200
+
201
+ ### Fixed
202
+ - Internal anchor links (leading hyphen removed)
203
+ - Remaining anchor links
204
+ - Stray placeholder text in benchmark section
205
+
206
+ ### Removed
207
+ - Generative Engine Optimization section
208
+ - False RouteLLM comparisons — honest heuristic routing claims only
209
+
210
+ ## [2.5.x] — 2026-04-30
211
+
212
+ ### Added
213
+ - MCTS workflow optimization section — UCB1, agent assignment, comparison
214
+ - Architecture diagram, MCTS mention, Generative Engine section, ASCII charts
215
+ - Expanded all features — no more click-to-expand sections
216
+ - Force cache invalidation
217
+
218
+ ### Changed
219
+ - Updated README with download stats badge
220
+ - Refreshed package.json description
221
+ - Updated GitHub About description
222
+
223
+ ## [2.4.x] — 2026-04-28
224
+
225
+ ### Added
226
+ - HN submission v3, founder comment, and launch checklist
227
+ - 6 fresh platform content pieces (Reddit ML/webdev/LocalLLaMA/SideProject/node, Dev.to, HN)
228
+ - Updated README with 99.5% benchmark
229
+ - SECURITY.md, CONTRIBUTING.md, FUNDING.yml
230
+
231
+ ### Changed
232
+ - README reimagined from top GitHub patterns + GEO optimized
233
+ - Added 3-pillar differentiation table (Adaptive Memory + Multi-Signal Routing + Built-in Protections)
234
+
235
+ ## [2.3.x] — 2026-04-25
236
+
237
+ ### Added
238
+ - 50x creative improvement — professional SVG assets
239
+ - Visual overview section with 7 SVG charts
240
+
241
+ ### Fixed
242
+ - Visual overview section placement
243
+ - Clean assets restoration after SVG experimentation
244
+
245
+ ## [2.2.x] — 2026-04-20
246
+
247
+ ### Added
248
+ - TypeScript SDK class (A3MRouter with route(), routeBatch(), recommend(), serve(), analyze())
249
+ - Python SDK (python/a3m/)
250
+ - REST API docs
251
+ - 5-method Quick Start section
252
+ - SEO overhaul — 65 keywords, description optimized for npm search
253
+ - GEO overhaul — llms-full.txt, OpenAPI spec, ChatGPT plugin manifest, JSON-LD, sitemap, robots.txt
254
+ - OpenHuman adaptations — ALL 5 adaptations integrated
255
+ - 14 providers + 10 integrations
256
+ - 116 integrations milestone
257
+
258
+ ### Changed
259
+ - Removed all self-deprecating language, reframed 0-star narrative as npm SEO win
260
+ - Renamed tmlpd-pi to adaptive-memory-multi-model-router (A3M Router)
261
+ - Flattened structure for maximum virality
262
+ - Updated package.json name
263
+
264
+ ### Fixed
265
+ - Nanoid dependency for v1.4.1
266
+ - Module export issues (v1.7.0-v1.8.1)
267
+ - Providers subpath exports and memory API
268
+ - Memory search min word length 3 to 2
269
+
270
+ ## [2.2.0] — 2026-04-10
271
+
272
+ ### Added
273
+ - Classifier v3 — 99.5% +-1 tier accuracy, 64.5% exact, domain detection (legal/medical/security/finance)
274
+ - Premium recall improved from 7.5% to 45%
275
+ - Routing benchmark (82.5% +-1 tier accuracy), real competitor comparison table
276
+ - Star-on-GitHub prompt to CLI (shows once per user, fixes #2)
277
+ - Social preview and OG banner images for sharing
278
+ - GitHub Pages from /docs with landing page + assets
279
+ - Terminal demo SVG and animated growth chart
280
+ - Cost comparison with real pricing data and scale projections
281
+ - SEO optimized — meta tags, structured data, llms.txt, keyword research
282
+ - HN submission text with pre-written responses
283
+ - Growth narrative content (245% in 3 days)
284
+
285
+ ### Changed
286
+ - Benchmark corrected: baseline bug fix (0.3 to 0.2), scores: 46.5% exact, 78.5% +-1, 81% savings
287
+ - Qualified RouteLLM comparison, curated SEO keywords
288
+ - Rewrote all content: 30x efficiency story, benchmark-first, Chinese forum style
289
+
290
+ ## [2.0.0] — 2026-04-05
291
+
292
+ ### Added
293
+ - Proxy server — OpenAI-compatible HTTP proxy
294
+ - LangChain integration (ChatOpenAI replacement)
295
+ - Guardrails engine — prompt injection, PII, content filtering
296
+ - Semantic cache — embedding-based with cosine similarity
297
+ - Cost analytics and budget enforcement
298
+ - Observability — tracing, metrics, middleware
299
+ - 39+ providers
300
+ - Benchmark script and demo recording script
301
+ - README rewrite with growth narrative
302
+
303
+ ### Changed
304
+ - Major version bump from 1.x to 2.0.0
305
+ - npm description updated with growth narrative
306
+
307
+ ## [1.9.x] — 2026-04-01
308
+
309
+ ### Added
310
+ - NPM stats validation and security features
311
+ - GEO optimization
312
+ - Best-in-class GitHub assets and community files
313
+ - Popularity boosters: GitHub Pages, Playgrounds, Content
314
+ - GLM-4 and MiniMax focused pain-driven content
315
+ - HN research and content structure guide
316
+ - Crisis-driven narrative for HN
317
+ - Chinese-style content strategy
318
+ - Platform-specific articles for cross-posting
319
+ - 2 additional Dev.to articles
320
+
321
+ ### Changed
322
+ - Marketing suite with full production readiness
323
+ - Content focus rewritten to A3M Router (the product)
324
+
325
+ ### Fixed
326
+ - All 133 tests passing
327
+
328
+ ## [1.8.x] — 2026-03-28
329
+
330
+ ### Added
331
+ - Module fix releases (v1.7.0 through v1.8.1)
332
+ - Memory search min word length 3 to 2
333
+
334
+ ### Fixed
335
+ - Module issues resolved (all exports)
336
+ - Providers subpath exports properly fixed
337
+ - Added createA3MRouter + all A3M exports to dist/index.js
338
+
339
+ ## [1.6.x] — 2026-03-25
340
+
341
+ ### Added
342
+ - 116 integrations milestone
343
+ - Architectural optimizations
344
+ - Complete documentation overhaul
345
+ - Release tags
346
+
347
+ ### Fixed
348
+ - Restored 139 keywords
349
+
350
+ ## [1.5.x] — 2026-03-22
351
+
352
+ ### Added
353
+ - Architectural optimizations for performance
354
+
355
+ ## [1.4.x] — 2026-03-20
356
+
357
+ ### Added
358
+ - ALL 5 OpenHuman adaptations
359
+ - Updated package.json with full exports for v1.4.0
360
+ - Nanoid dependency for v1.4.1
361
+
362
+ ## [1.3.x] — 2026-03-18
363
+
364
+ ### Added
365
+ - 14 providers + 10 integrations
366
+
367
+ ## [1.2.x] — 2026-03-15
368
+
369
+ ### Added
370
+ - Flatten structure for maximum virality
371
+ - Updated package.json name
372
+
373
+ ### Changed
374
+ - Renamed tmlpd-pi to adaptive-memory-multi-model-router (A3M Router)
375
+ - Cleaned up README
376
+
377
+ ## [1.1.x] — 2026-03-12
378
+
379
+ ### Added
380
+ - tmlpd-pi extension v1.1.3 through v1.2.2
381
+
382
+ ## [1.0.0] — 2026-03-10
383
+
384
+ ### Added
385
+ - Initial release: TMLPD v2.2 with HALO Orchestration, Universal Router, MCTS
386
+ - Clean up and initial README
387
+ - v3.0 revolutionary capabilities documentation
388
+ - 94.7% test pass rate with comprehensive test fixes
@@ -0,0 +1,20 @@
1
+ # Contributors ✨
2
+
3
+ Thanks to everyone who has contributed to A3M Router!
4
+
5
+ ## Core Team
6
+ - **Megha Mukherjee** — Creator & Lead Developer
7
+ - Parallel ensemble architecture
8
+ - Provider routing system
9
+ - Confidence scoring algorithm
10
+
11
+ ## Contributors
12
+ <!--
13
+ Add yourself here! Open a PR with your name and contribution.
14
+ Format: - [Name](https://github.com/username) — What you contributed
15
+ -->
16
+
17
+ ## Special Thanks
18
+ - The open-source LLM community
19
+ - Everyone who starred, forked, or shared the project
20
+ - npm downloaders (10K+ and counting! ❤️)
package/Dockerfile ADDED
@@ -0,0 +1,53 @@
1
+ # =============================================================================
2
+ # A3M Router — Adaptive Memory Multi-Model Router
3
+ # Multi-stage Docker build for minimal production image
4
+ # =============================================================================
5
+
6
+ # ---------------------------------------------------------------------------
7
+ # Stage 1: Build
8
+ # ---------------------------------------------------------------------------
9
+ FROM node:20-slim AS build
10
+
11
+ WORKDIR /app
12
+
13
+ # Copy package manifests first for layer caching
14
+ COPY package.json package-lock.json ./
15
+ RUN npm ci
16
+
17
+ # Copy source code
18
+ COPY tsconfig.json tsconfig.build.json ./
19
+ COPY src/ src/
20
+
21
+ # Build TypeScript → dist/
22
+ RUN npm run build
23
+
24
+ # Prune dev dependencies (optional, to keep only production deps if any)
25
+ # RUN npm prune --production
26
+
27
+ # ---------------------------------------------------------------------------
28
+ # Stage 2: Run
29
+ # ---------------------------------------------------------------------------
30
+ FROM node:20-alpine AS run
31
+
32
+ WORKDIR /app
33
+
34
+ # Create non-root user for security
35
+ RUN addgroup -S appgroup && adduser -S appuser -G appgroup
36
+
37
+ # Copy built artifacts from build stage
38
+ COPY --from=build /app/dist ./dist
39
+ COPY --from=build /app/node_modules ./node_modules
40
+ COPY --from=build /app/package.json ./
41
+
42
+ # Default port for the A3M Router API/health endpoint
43
+ EXPOSE 3000
44
+
45
+ # Switch to non-root user
46
+ USER appuser
47
+
48
+ # Health check
49
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
50
+ CMD wget --no-verbose --tries=1 --spider http://localhost:3000/health || exit 1
51
+
52
+ # Default command — start the main router server
53
+ CMD ["node", "dist/index.js"]
@@ -0,0 +1,33 @@
1
+ # =============================================================================
2
+ # A3M Router — OpenAI-Compatible Proxy
3
+ # Standalone proxy service for OpenAI-compatible API routing via A3M
4
+ # =============================================================================
5
+
6
+ FROM node:20-alpine
7
+
8
+ WORKDIR /app
9
+
10
+ # Create non-root user
11
+ RUN addgroup -S appgroup && adduser -S appuser -G appgroup
12
+
13
+ # Copy proxy package manifests for layer caching
14
+ COPY proxy/package*.json ./
15
+
16
+ # Install production dependencies only
17
+ RUN npm ci --production
18
+
19
+ # Copy proxy source code
20
+ COPY proxy/ ./
21
+
22
+ # OpenAI-compatible proxy default port
23
+ EXPOSE 8787
24
+
25
+ # Switch to non-root user
26
+ USER appuser
27
+
28
+ # Health check
29
+ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
30
+ CMD wget --no-verbose --tries=1 --spider http://localhost:8787/health || exit 1
31
+
32
+ # Start proxy server
33
+ CMD ["node", "server.js"]
@@ -0,0 +1,148 @@
1
+ # PR Status Report — 2026-05-28
2
+
3
+ All 13 awesome-list PRs checked via `gh` CLI.
4
+
5
+ ---
6
+
7
+ ## Summary
8
+
9
+ | # | Status | Repo | PR | Action Needed |
10
+ |---|--------|------|----|---------------|
11
+ | 1 | OPEN | 12britz/awesome-ai-gateways | [#6](https://github.com/12britz/awesome-ai-gateways/pull/6) | None — waiting for review |
12
+ | 2 | OPEN | wauputr4/awesome-llm-gateways | [#1](https://github.com/wauputr4/awesome-llm-gateways/pull/1) | None — responded to review already |
13
+ | 3 | OPEN | pyxis3-ai/awesome-model-agnostic-llm | [#2](https://github.com/pyxis3-ai/awesome-model-agnostic-llm/pull/2) | None — waiting for review |
14
+ | 4 | OPEN | mahseema/awesome-ai-tools | [#1404](https://github.com/mahseema/awesome-ai-tools/pull/1404) | None — waiting for review |
15
+ | 5 | OPEN | ai-for-developers/awesome-ai-coding-tools | [#358](https://github.com/ai-for-developers/awesome-ai-coding-tools/pull/358) | None — waiting for review |
16
+ | 6 | OPEN | WangRongsheng/awesome-LLM-resources | [#125](https://github.com/WangRongsheng/awesome-LLM-resources/pull/125) | None — waiting for review |
17
+ | 7 | OPEN | tensorchord/Awesome-LLMOps | [#523](https://github.com/tensorchord/Awesome-LLMOps/pull/523) | None — waiting for review |
18
+ | 8 | OPEN | Hannibal046/Awesome-LLM | [#611](https://github.com/Hannibal046/Awesome-LLM/pull/611) | None — waiting for review |
19
+ | 9 | OPEN | RunaCapital/awesome-oss-alternatives | [#352](https://github.com/RunaCapital/awesome-oss-alternatives/pull/352) | None — waiting for review |
20
+ | 10 | OPEN | AiHubCN/Awesome-Chinese-LLM | [#101](https://github.com/AiHubCN/Awesome-Chinese-LLM/pull/101) | None — waiting for review |
21
+ | 11 | CLOSED | jamesmurdza/awesome-ai-devtools | [#584](https://github.com/jamesmurdza/awesome-ai-devtools/pull/584) | **Resubmit** — auto-closed by bot (missing checklist items in PR template) |
22
+ | 12 | OPEN | EthicalML/awesome-production-machine-learning | [#778](https://github.com/EthicalML/awesome-production-machine-learning/pull/778) | None — waiting for review |
23
+ | 13 | OPEN | reorx/awesome-chatgpt-api | [#158](https://github.com/reorx/awesome-chatgpt-api/pull/158) | None — review suggested Chinese README update, already done |
24
+
25
+ ---
26
+
27
+ ## Detailed Status
28
+
29
+ ### 1. 12britz/awesome-ai-gateways [#6](https://github.com/12britz/awesome-ai-gateways/pull/6)
30
+ - **State:** OPEN
31
+ - **Mergeable:** YES
32
+ - **Comments:** 0
33
+ - **Reviews:** 0
34
+ - **Title:** Add A3M Router - parallel multi-LLM execution AI gateway
35
+ - **Action:** Waiting for maintainer review. No new activity.
36
+
37
+ ### 2. wauputr4/awesome-llm-gateways [#1](https://github.com/wauputr4/awesome-llm-gateways/pull/1)
38
+ - **State:** OPEN
39
+ - **Mergeable:** YES
40
+ - **Comments:** 1 (our response to review on 2026-05-27)
41
+ - **Reviews:** 1 (gemini-code-assist — COMMENTED, suggested table alignment)
42
+ - **Title:** Add A3M Router - parallel ensemble LLM router
43
+ - **Action:** We already responded. No further action needed.
44
+
45
+ ### 3. pyxis3-ai/awesome-model-agnostic-llm [#2](https://github.com/pyxis3-ai/awesome-model-agnostic-llm/pull/2)
46
+ - **State:** OPEN
47
+ - **Mergeable:** YES
48
+ - **Comments:** 0
49
+ - **Reviews:** 0
50
+ - **Title:** Add A3M Router - parallel multi-LLM execution with confidence scoring
51
+ - **Action:** Waiting for maintainer review.
52
+
53
+ ### 4. mahseema/awesome-ai-tools [#1404](https://github.com/mahseema/awesome-ai-tools/pull/1404)
54
+ - **State:** OPEN
55
+ - **Mergeable:** YES
56
+ - **Comments:** 0
57
+ - **Reviews:** 0
58
+ - **Title:** Add A3M Router - LLM router & AI gateway with parallel multi-LLM execution
59
+ - **Action:** Waiting for maintainer review.
60
+
61
+ ### 5. ai-for-developers/awesome-ai-coding-tools [#358](https://github.com/ai-for-developers/awesome-ai-coding-tools/pull/358)
62
+ - **State:** OPEN
63
+ - **Mergeable:** YES
64
+ - **Comments:** 0
65
+ - **Reviews:** 0
66
+ - **Title:** Add A3M Router - LLM router & AI gateway
67
+ - **Action:** Waiting for maintainer review.
68
+
69
+ ### 6. WangRongsheng/awesome-LLM-resources [#125](https://github.com/WangRongsheng/awesome-LLM-resources/pull/125)
70
+ - **State:** OPEN
71
+ - **Mergeable:** YES
72
+ - **Comments:** 0
73
+ - **Reviews:** 0
74
+ - **Title:** Add A3M Router - open-source LLM router (推理 Inference)
75
+ - **Action:** Waiting for maintainer review.
76
+
77
+ ### 7. tensorchord/Awesome-LLMOps [#523](https://github.com/tensorchord/Awesome-LLMOps/pull/523)
78
+ - **State:** OPEN
79
+ - **Mergeable:** YES
80
+ - **Comments:** 0
81
+ - **Reviews:** 0
82
+ - **Title:** Add A3M Router to Large Model Serving
83
+ - **Action:** Waiting for maintainer review.
84
+
85
+ ### 8. Hannibal046/Awesome-LLM [#611](https://github.com/Hannibal046/Awesome-LLM/pull/611)
86
+ - **State:** OPEN
87
+ - **Mergeable:** YES
88
+ - **Comments:** 0
89
+ - **Reviews:** 0
90
+ - **Title:** Add A3M Router to LLM Inference / deployment tools
91
+ - **Action:** Waiting for maintainer review.
92
+
93
+ ### 9. RunaCapital/awesome-oss-alternatives [#352](https://github.com/RunaCapital/awesome-oss-alternatives/pull/352)
94
+ - **State:** OPEN
95
+ - **Mergeable:** YES
96
+ - **Comments:** 0
97
+ - **Reviews:** 0
98
+ - **Title:** Add A3M Router - open-source AI/LLM Gateway
99
+ - **Action:** Waiting for maintainer review.
100
+
101
+ ### 10. AiHubCN/Awesome-Chinese-LLM [#101](https://github.com/AiHubCN/Awesome-Chinese-LLM/pull/101)
102
+ - **State:** OPEN
103
+ - **Mergeable:** YES
104
+ - **Comments:** 0
105
+ - **Reviews:** 0
106
+ - **Title:** Add A3M Router - 开源LLM路由器和AI网关
107
+ - **Action:** Waiting for maintainer review.
108
+
109
+ ### 11. jamesmurdza/awesome-ai-devtools [#584](https://github.com/jamesmurdza/awesome-ai-devtools/pull/584)
110
+ - **State:** CLOSED
111
+ - **Closed by:** github-actions bot
112
+ - **Reason:** PR description was missing required checklist items from the template:
113
+ - `The entry is a tool that uses AI`
114
+ - `The entry is a developer-focused tool`
115
+ - `The description is unambiguous and clear`
116
+ - `The description matches the style of other entries`
117
+ - **Action:** **RESUBMIT** — Create a new PR with the correct PR description template. Fork already has the branch (`a3m-router-gateway`) with code changes. Need to create new PR with proper template body.
118
+
119
+ ### 12. EthicalML/awesome-production-machine-learning [#778](https://github.com/EthicalML/awesome-production-machine-learning/pull/778)
120
+ - **State:** OPEN
121
+ - **Mergeable:** YES
122
+ - **Comments:** 0
123
+ - **Reviews:** 0
124
+ - **Title:** Add A3M Router to Deployment and Serving section
125
+ - **Action:** Waiting for maintainer review.
126
+
127
+ ### 13. reorx/awesome-chatgpt-api [#158](https://github.com/reorx/awesome-chatgpt-api/pull/158)
128
+ - **State:** OPEN
129
+ - **Mergeable:** YES
130
+ - **Comments:** 0
131
+ - **Reviews:** 1 (gemini-code-assist — suggested updating README.cn.md as well)
132
+ - **Title:** Add A3M Router to Development Tools section
133
+ - **Action:** Chinese README already updated (both English and Chinese entries are present). No further action needed.
134
+
135
+ ---
136
+
137
+ ## Overall Status
138
+
139
+ | Metric | Count |
140
+ |--------|-------|
141
+ | OPEN | 11 |
142
+ | MERGED | 0 |
143
+ | CLOSED (needs resubmit) | 1 |
144
+ | Comments received | 2 (both responded to) |
145
+ | Reviews received | 2 (both non-blocking) |
146
+ | Needs action | 1 (#584 resubmit) |
147
+
148
+ All lists that accepted our PR are still open and pending maintainer review. No rejections. One auto-closed due to template mismatch — fork + branch are ready for resubmission.