kynjal-cli 4.0.0 → 4.0.1

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 (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -15,68 +15,12 @@
15
15
  *
16
16
  * @module moe-router
17
17
  */
18
- var __assign = (this && this.__assign) || function () {
19
- __assign = Object.assign || function(t) {
20
- for (var s, i = 1, n = arguments.length; i < n; i++) {
21
- s = arguments[i];
22
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
23
- t[p] = s[p];
24
- }
25
- return t;
26
- };
27
- return __assign.apply(this, arguments);
28
- };
29
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
30
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31
- return new (P || (P = Promise))(function (resolve, reject) {
32
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
34
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
35
- step((generator = generator.apply(thisArg, _arguments || [])).next());
36
- });
37
- };
38
- var __generator = (this && this.__generator) || function (thisArg, body) {
39
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
40
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
41
- function verb(n) { return function (v) { return step([n, v]); }; }
42
- function step(op) {
43
- if (f) throw new TypeError("Generator is already executing.");
44
- while (_) try {
45
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
46
- if (y = 0, t) op = [op[0] & 2, t.value];
47
- switch (op[0]) {
48
- case 0: case 1: t = op; break;
49
- case 4: _.label++; return { value: op[1], done: false };
50
- case 5: _.label++; y = op[1]; op = [0]; continue;
51
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
52
- default:
53
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
54
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
55
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
56
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
57
- if (t[2]) _.ops.pop();
58
- _.trys.pop(); continue;
59
- }
60
- op = body.call(thisArg, _);
61
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
62
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
63
- }
64
- };
65
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
- if (ar || !(i in from)) {
68
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
- ar[i] = from[i];
70
- }
71
- }
72
- return to.concat(ar || Array.prototype.slice.call(from));
73
- };
74
18
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
75
19
  import { dirname } from 'path';
76
20
  /**
77
21
  * Expert names in order (index corresponds to expert slot)
78
22
  */
79
- export var EXPERT_NAMES = [
23
+ export const EXPERT_NAMES = [
80
24
  'coder',
81
25
  'tester',
82
26
  'reviewer',
@@ -89,19 +33,19 @@ export var EXPERT_NAMES = [
89
33
  /**
90
34
  * Number of experts (fixed at 8)
91
35
  */
92
- export var NUM_EXPERTS = 8;
36
+ export const NUM_EXPERTS = 8;
93
37
  /**
94
38
  * Input dimension (384 from ONNX MiniLM-L6-v2)
95
39
  */
96
- export var INPUT_DIM = 384;
40
+ export const INPUT_DIM = 384;
97
41
  /**
98
42
  * Hidden layer dimension
99
43
  */
100
- export var HIDDEN_DIM = 128;
44
+ export const HIDDEN_DIM = 128;
101
45
  /**
102
46
  * Default configuration
103
47
  */
104
- var DEFAULT_CONFIG = {
48
+ const DEFAULT_CONFIG = {
105
49
  topK: 2,
106
50
  learningRate: 0.01,
107
51
  temperature: 1.0,
@@ -109,7 +53,7 @@ var DEFAULT_CONFIG = {
109
53
  weightsPath: '.swarm/moe-weights.json',
110
54
  autoSaveInterval: 50,
111
55
  enableNoise: true,
112
- noiseStd: 0.1
56
+ noiseStd: 0.1,
113
57
  };
114
58
  // ============================================================================
115
59
  // Matrix Operations
@@ -118,13 +62,13 @@ var DEFAULT_CONFIG = {
118
62
  * Initialize weights using Xavier/Glorot initialization
119
63
  */
120
64
  function xavierInit(fanIn, fanOut) {
121
- var std = Math.sqrt(2.0 / (fanIn + fanOut));
122
- var weights = new Float32Array(fanIn * fanOut);
123
- for (var i = 0; i < weights.length; i++) {
65
+ const std = Math.sqrt(2.0 / (fanIn + fanOut));
66
+ const weights = new Float32Array(fanIn * fanOut);
67
+ for (let i = 0; i < weights.length; i++) {
124
68
  // Box-Muller transform for normal distribution
125
- var u1 = Math.random();
126
- var u2 = Math.random();
127
- var z = Math.sqrt(-2 * Math.log(u1 + 1e-8)) * Math.cos(2 * Math.PI * u2);
69
+ const u1 = Math.random();
70
+ const u2 = Math.random();
71
+ const z = Math.sqrt(-2 * Math.log(u1 + 1e-8)) * Math.cos(2 * Math.PI * u2);
128
72
  weights[i] = z * std;
129
73
  }
130
74
  return weights;
@@ -134,11 +78,11 @@ function xavierInit(fanIn, fanOut) {
134
78
  * W is stored row-major: [rows * cols]
135
79
  */
136
80
  function matmul(W, x, rows, cols, out) {
137
- for (var i = 0; i < rows; i++) {
138
- var sum = 0;
139
- var rowOffset = i * cols;
81
+ for (let i = 0; i < rows; i++) {
82
+ let sum = 0;
83
+ const rowOffset = i * cols;
140
84
  // 4x loop unrolling for SIMD-friendly access
141
- var j = 0;
85
+ let j = 0;
142
86
  for (; j + 3 < cols; j += 4) {
143
87
  sum +=
144
88
  W[rowOffset + j] * x[j] +
@@ -157,7 +101,7 @@ function matmul(W, x, rows, cols, out) {
157
101
  * Vector addition: y = x + b
158
102
  */
159
103
  function addBias(x, b, out) {
160
- for (var i = 0; i < x.length; i++) {
104
+ for (let i = 0; i < x.length; i++) {
161
105
  out[i] = x[i] + b[i];
162
106
  }
163
107
  }
@@ -165,7 +109,7 @@ function addBias(x, b, out) {
165
109
  * ReLU activation: y = max(0, x)
166
110
  */
167
111
  function relu(x, out) {
168
- for (var i = 0; i < x.length; i++) {
112
+ for (let i = 0; i < x.length; i++) {
169
113
  out[i] = x[i] > 0 ? x[i] : 0;
170
114
  }
171
115
  }
@@ -174,20 +118,20 @@ function relu(x, out) {
174
118
  */
175
119
  function softmax(x, temperature, out) {
176
120
  // Find max for numerical stability
177
- var maxVal = x[0];
178
- for (var i = 1; i < x.length; i++) {
121
+ let maxVal = x[0];
122
+ for (let i = 1; i < x.length; i++) {
179
123
  if (x[i] > maxVal)
180
124
  maxVal = x[i];
181
125
  }
182
126
  // Compute exp and sum
183
- var sum = 0;
184
- for (var i = 0; i < x.length; i++) {
127
+ let sum = 0;
128
+ for (let i = 0; i < x.length; i++) {
185
129
  out[i] = Math.exp((x[i] - maxVal) / temperature);
186
130
  sum += out[i];
187
131
  }
188
132
  // Normalize
189
- var invSum = 1.0 / (sum + 1e-8);
190
- for (var i = 0; i < x.length; i++) {
133
+ const invSum = 1.0 / (sum + 1e-8);
134
+ for (let i = 0; i < x.length; i++) {
191
135
  out[i] *= invSum;
192
136
  }
193
137
  }
@@ -195,8 +139,8 @@ function softmax(x, temperature, out) {
195
139
  * Compute entropy of distribution: H = -sum(p * log(p))
196
140
  */
197
141
  function entropy(p) {
198
- var h = 0;
199
- for (var i = 0; i < p.length; i++) {
142
+ let h = 0;
143
+ for (let i = 0; i < p.length; i++) {
200
144
  if (p[i] > 1e-8) {
201
145
  h -= p[i] * Math.log(p[i]);
202
146
  }
@@ -207,10 +151,10 @@ function entropy(p) {
207
151
  * Add Gaussian noise for exploration
208
152
  */
209
153
  function addNoise(x, std, out) {
210
- for (var i = 0; i < x.length; i++) {
211
- var u1 = Math.random();
212
- var u2 = Math.random();
213
- var z = Math.sqrt(-2 * Math.log(u1 + 1e-8)) * Math.cos(2 * Math.PI * u2);
154
+ for (let i = 0; i < x.length; i++) {
155
+ const u1 = Math.random();
156
+ const u2 = Math.random();
157
+ const z = Math.sqrt(-2 * Math.log(u1 + 1e-8)) * Math.cos(2 * Math.PI * u2);
214
158
  out[i] = x[i] + z * std;
215
159
  }
216
160
  }
@@ -226,18 +170,39 @@ function addNoise(x, std, out) {
226
170
  *
227
171
  * Uses top-k expert selection with load balancing.
228
172
  */
229
- var MoERouter = /** @class */ (function () {
230
- function MoERouter(config) {
231
- if (config === void 0) { config = {}; }
232
- this.totalRoutings = 0;
233
- this.updateCount = 0;
234
- this.avgReward = 0;
235
- // Cache for last input (for gradient computation)
236
- this.lastInput = null;
237
- this.lastHiddenActivated = null;
238
- this.lastProbs = null;
239
- this.lastSelectedExperts = [];
240
- this.config = __assign(__assign({}, DEFAULT_CONFIG), config);
173
+ export class MoERouter {
174
+ config;
175
+ // Network weights (pre-allocated Float32Arrays)
176
+ W1; // [HIDDEN_DIM x INPUT_DIM]
177
+ b1; // [HIDDEN_DIM]
178
+ W2; // [NUM_EXPERTS x HIDDEN_DIM]
179
+ b2; // [NUM_EXPERTS]
180
+ // Intermediate buffers (pre-allocated, no GC pressure)
181
+ hidden; // [HIDDEN_DIM]
182
+ hiddenWithBias; // [HIDDEN_DIM]
183
+ hiddenActivated; // [HIDDEN_DIM]
184
+ logits; // [NUM_EXPERTS]
185
+ logitsWithBias; // [NUM_EXPERTS]
186
+ noisyLogits; // [NUM_EXPERTS]
187
+ probs; // [NUM_EXPERTS]
188
+ // Gradient buffers for online learning
189
+ gradW2; // [NUM_EXPERTS x HIDDEN_DIM]
190
+ gradb2; // [NUM_EXPERTS]
191
+ gradW1; // [HIDDEN_DIM x INPUT_DIM]
192
+ gradb1; // [HIDDEN_DIM]
193
+ gradHidden; // [HIDDEN_DIM]
194
+ // Statistics
195
+ routingCounts; // [NUM_EXPERTS]
196
+ totalRoutings = 0;
197
+ updateCount = 0;
198
+ avgReward = 0;
199
+ // Cache for last input (for gradient computation)
200
+ lastInput = null;
201
+ lastHiddenActivated = null;
202
+ lastProbs = null;
203
+ lastSelectedExperts = [];
204
+ constructor(config = {}) {
205
+ this.config = { ...DEFAULT_CONFIG, ...config };
241
206
  // Initialize weights
242
207
  this.W1 = xavierInit(INPUT_DIM, HIDDEN_DIM);
243
208
  this.b1 = new Float32Array(HIDDEN_DIM);
@@ -263,33 +228,23 @@ var MoERouter = /** @class */ (function () {
263
228
  /**
264
229
  * Initialize router, loading persisted weights if available
265
230
  */
266
- MoERouter.prototype.initialize = function () {
267
- return __awaiter(this, void 0, Promise, function () {
268
- return __generator(this, function (_a) {
269
- switch (_a.label) {
270
- case 0: return [4 /*yield*/, this.loadWeights()];
271
- case 1:
272
- _a.sent();
273
- return [2 /*return*/];
274
- }
275
- });
276
- });
277
- };
231
+ async initialize() {
232
+ await this.loadWeights();
233
+ }
278
234
  /**
279
235
  * Route task to top-k experts based on embedding
280
236
  *
281
237
  * @param taskEmbedding - 384-dim task embedding from ONNX
282
238
  * @returns Routing result with selected experts and weights
283
239
  */
284
- MoERouter.prototype.route = function (taskEmbedding) {
285
- var _this = this;
240
+ route(taskEmbedding) {
286
241
  // Convert to Float32Array if needed
287
- var input = taskEmbedding instanceof Float32Array
242
+ const input = taskEmbedding instanceof Float32Array
288
243
  ? taskEmbedding
289
244
  : new Float32Array(taskEmbedding);
290
245
  // Validate input dimension
291
246
  if (input.length !== INPUT_DIM) {
292
- throw new Error("Expected embedding dimension " + INPUT_DIM + ", got " + input.length);
247
+ throw new Error(`Expected embedding dimension ${INPUT_DIM}, got ${input.length}`);
293
248
  }
294
249
  // Forward pass through gating network
295
250
  // Layer 1: Linear + ReLU
@@ -309,14 +264,13 @@ var MoERouter = /** @class */ (function () {
309
264
  // Softmax to get probabilities
310
265
  softmax(this.noisyLogits, this.config.temperature, this.probs);
311
266
  // Select top-k experts
312
- var expertIndices = this.selectTopK(this.probs, this.config.topK);
267
+ const expertIndices = this.selectTopK(this.probs, this.config.topK);
313
268
  // Compute load balance loss
314
- var loadBalanceLoss = this.computeLoadBalanceLoss();
269
+ const loadBalanceLoss = this.computeLoadBalanceLoss();
315
270
  // Compute entropy
316
- var routingEntropy = entropy(this.probs);
271
+ const routingEntropy = entropy(this.probs);
317
272
  // Update statistics
318
- for (var _i = 0, expertIndices_1 = expertIndices; _i < expertIndices_1.length; _i++) {
319
- var idx = expertIndices_1[_i];
273
+ for (const idx of expertIndices) {
320
274
  this.routingCounts[idx]++;
321
275
  }
322
276
  this.totalRoutings++;
@@ -326,20 +280,20 @@ var MoERouter = /** @class */ (function () {
326
280
  this.lastProbs = new Float32Array(this.probs);
327
281
  this.lastSelectedExperts = expertIndices;
328
282
  // Build result
329
- var totalWeight = expertIndices.reduce(function (sum, idx) { return sum + _this.probs[idx]; }, 0);
330
- var experts = expertIndices.map(function (idx) { return ({
283
+ const totalWeight = expertIndices.reduce((sum, idx) => sum + this.probs[idx], 0);
284
+ const experts = expertIndices.map((idx) => ({
331
285
  name: EXPERT_NAMES[idx],
332
286
  index: idx,
333
- weight: _this.probs[idx] / (totalWeight + 1e-8),
334
- score: _this.probs[idx]
335
- }); });
287
+ weight: this.probs[idx] / (totalWeight + 1e-8), // Normalize weights
288
+ score: this.probs[idx],
289
+ }));
336
290
  return {
337
- experts: experts,
291
+ experts,
338
292
  allScores: Array.from(this.probs),
339
- loadBalanceLoss: loadBalanceLoss,
340
- entropy: routingEntropy
293
+ loadBalanceLoss,
294
+ entropy: routingEntropy,
341
295
  };
342
- };
296
+ }
343
297
  /**
344
298
  * Update expert weights based on reward signal
345
299
  *
@@ -349,10 +303,10 @@ var MoERouter = /** @class */ (function () {
349
303
  * @param expert - Expert that received the reward
350
304
  * @param reward - Reward signal (-1 to 1, positive = good)
351
305
  */
352
- MoERouter.prototype.updateExpertWeights = function (expert, reward) {
353
- var expertIdx = typeof expert === 'number' ? expert : EXPERT_NAMES.indexOf(expert);
306
+ updateExpertWeights(expert, reward) {
307
+ const expertIdx = typeof expert === 'number' ? expert : EXPERT_NAMES.indexOf(expert);
354
308
  if (expertIdx < 0 || expertIdx >= NUM_EXPERTS) {
355
- console.warn("[MoE] Invalid expert: " + expert);
309
+ console.warn(`[MoE] Invalid expert: ${expert}`);
356
310
  return;
357
311
  }
358
312
  if (!this.lastInput || !this.lastHiddenActivated || !this.lastProbs) {
@@ -360,7 +314,7 @@ var MoERouter = /** @class */ (function () {
360
314
  return;
361
315
  }
362
316
  // Clamp reward to [-1, 1]
363
- var clampedReward = Math.max(-1, Math.min(1, reward));
317
+ const clampedReward = Math.max(-1, Math.min(1, reward));
364
318
  // Compute gradients using REINFORCE
365
319
  // For softmax: d_log_p_i / d_logit_j = delta_ij - p_j
366
320
  // gradient = reward * (1 - p_expert) for selected expert
@@ -372,7 +326,7 @@ var MoERouter = /** @class */ (function () {
372
326
  this.gradb1.fill(0);
373
327
  this.gradHidden.fill(0);
374
328
  // Gradient w.r.t. logits (before softmax)
375
- for (var i = 0; i < NUM_EXPERTS; i++) {
329
+ for (let i = 0; i < NUM_EXPERTS; i++) {
376
330
  if (i === expertIdx) {
377
331
  this.gradb2[i] = clampedReward * (1 - this.lastProbs[i]);
378
332
  }
@@ -381,22 +335,22 @@ var MoERouter = /** @class */ (function () {
381
335
  }
382
336
  }
383
337
  // Gradient w.r.t. W2: outer product of gradb2 and hiddenActivated
384
- for (var i = 0; i < NUM_EXPERTS; i++) {
385
- var rowOffset = i * HIDDEN_DIM;
386
- for (var j = 0; j < HIDDEN_DIM; j++) {
338
+ for (let i = 0; i < NUM_EXPERTS; i++) {
339
+ const rowOffset = i * HIDDEN_DIM;
340
+ for (let j = 0; j < HIDDEN_DIM; j++) {
387
341
  this.gradW2[rowOffset + j] = this.gradb2[i] * this.lastHiddenActivated[j];
388
342
  }
389
343
  }
390
344
  // Backprop through W2 to get gradient w.r.t. hidden
391
- for (var j = 0; j < HIDDEN_DIM; j++) {
392
- var sum = 0;
393
- for (var i = 0; i < NUM_EXPERTS; i++) {
345
+ for (let j = 0; j < HIDDEN_DIM; j++) {
346
+ let sum = 0;
347
+ for (let i = 0; i < NUM_EXPERTS; i++) {
394
348
  sum += this.gradb2[i] * this.W2[i * HIDDEN_DIM + j];
395
349
  }
396
350
  this.gradHidden[j] = sum;
397
351
  }
398
352
  // Backprop through ReLU: gradient is 0 where activation was 0
399
- for (var j = 0; j < HIDDEN_DIM; j++) {
353
+ for (let j = 0; j < HIDDEN_DIM; j++) {
400
354
  if (this.lastHiddenActivated[j] <= 0) {
401
355
  this.gradHidden[j] = 0;
402
356
  }
@@ -404,24 +358,24 @@ var MoERouter = /** @class */ (function () {
404
358
  // Gradient w.r.t. b1
405
359
  this.gradb1.set(this.gradHidden);
406
360
  // Gradient w.r.t. W1: outer product of gradHidden and input
407
- for (var i = 0; i < HIDDEN_DIM; i++) {
408
- var rowOffset = i * INPUT_DIM;
409
- for (var j = 0; j < INPUT_DIM; j++) {
361
+ for (let i = 0; i < HIDDEN_DIM; i++) {
362
+ const rowOffset = i * INPUT_DIM;
363
+ for (let j = 0; j < INPUT_DIM; j++) {
410
364
  this.gradW1[rowOffset + j] = this.gradHidden[i] * this.lastInput[j];
411
365
  }
412
366
  }
413
367
  // Apply gradients with learning rate
414
- var lr = this.config.learningRate;
415
- for (var i = 0; i < this.W2.length; i++) {
368
+ const lr = this.config.learningRate;
369
+ for (let i = 0; i < this.W2.length; i++) {
416
370
  this.W2[i] += lr * this.gradW2[i];
417
371
  }
418
- for (var i = 0; i < this.b2.length; i++) {
372
+ for (let i = 0; i < this.b2.length; i++) {
419
373
  this.b2[i] += lr * this.gradb2[i];
420
374
  }
421
- for (var i = 0; i < this.W1.length; i++) {
375
+ for (let i = 0; i < this.W1.length; i++) {
422
376
  this.W1[i] += lr * this.gradW1[i];
423
377
  }
424
- for (var i = 0; i < this.b1.length; i++) {
378
+ for (let i = 0; i < this.b1.length; i++) {
425
379
  this.b1[i] += lr * this.gradb1[i];
426
380
  }
427
381
  // Update statistics
@@ -430,44 +384,44 @@ var MoERouter = /** @class */ (function () {
430
384
  // Auto-save
431
385
  if (this.config.autoSaveInterval > 0 &&
432
386
  this.updateCount % this.config.autoSaveInterval === 0) {
433
- this.saveWeights()["catch"](function () { }); // Fire and forget
387
+ this.saveWeights().catch(() => { }); // Fire and forget
434
388
  }
435
- };
389
+ }
436
390
  /**
437
391
  * Get load balance statistics across all experts
438
392
  */
439
- MoERouter.prototype.getLoadBalance = function () {
440
- var counts = {};
441
- var utilization = {};
442
- var total = this.totalRoutings || 1;
443
- var idealUtilization = 1 / NUM_EXPERTS;
444
- for (var i = 0; i < NUM_EXPERTS; i++) {
445
- var name = EXPERT_NAMES[i];
393
+ getLoadBalance() {
394
+ const counts = {};
395
+ const utilization = {};
396
+ const total = this.totalRoutings || 1;
397
+ const idealUtilization = 1 / NUM_EXPERTS;
398
+ for (let i = 0; i < NUM_EXPERTS; i++) {
399
+ const name = EXPERT_NAMES[i];
446
400
  counts[name] = this.routingCounts[i];
447
401
  utilization[name] = this.routingCounts[i] / total;
448
402
  }
449
403
  // Compute Gini coefficient
450
- var gini = this.computeGiniCoefficient();
404
+ const gini = this.computeGiniCoefficient();
451
405
  // Compute coefficient of variation
452
- var mean = total / NUM_EXPERTS;
453
- var variance = 0;
454
- for (var i = 0; i < NUM_EXPERTS; i++) {
406
+ const mean = total / NUM_EXPERTS;
407
+ let variance = 0;
408
+ for (let i = 0; i < NUM_EXPERTS; i++) {
455
409
  variance += Math.pow(this.routingCounts[i] - mean, 2);
456
410
  }
457
411
  variance /= NUM_EXPERTS;
458
- var cv = Math.sqrt(variance) / (mean + 1e-8);
412
+ const cv = Math.sqrt(variance) / (mean + 1e-8);
459
413
  return {
460
- utilization: utilization,
414
+ utilization,
461
415
  totalRoutings: this.totalRoutings,
462
416
  routingCounts: counts,
463
417
  giniCoefficient: gini,
464
- coefficientOfVariation: cv
418
+ coefficientOfVariation: cv,
465
419
  };
466
- };
420
+ }
467
421
  /**
468
422
  * Get router statistics
469
423
  */
470
- MoERouter.prototype.getStats = function () {
424
+ getStats() {
471
425
  return {
472
426
  totalRoutings: this.totalRoutings,
473
427
  updateCount: this.updateCount,
@@ -475,139 +429,129 @@ var MoERouter = /** @class */ (function () {
475
429
  topK: this.config.topK,
476
430
  temperature: this.config.temperature,
477
431
  learningRate: this.config.learningRate,
478
- giniCoefficient: this.computeGiniCoefficient()
432
+ giniCoefficient: this.computeGiniCoefficient(),
479
433
  };
480
- };
434
+ }
481
435
  /**
482
436
  * Reset all statistics and routing counts
483
437
  */
484
- MoERouter.prototype.resetStats = function () {
438
+ resetStats() {
485
439
  this.routingCounts.fill(0);
486
440
  this.totalRoutings = 0;
487
441
  this.updateCount = 0;
488
442
  this.avgReward = 0;
489
- };
443
+ }
490
444
  /**
491
445
  * Load weights from persistence file
492
446
  */
493
- MoERouter.prototype.loadWeights = function (path) {
494
- return __awaiter(this, void 0, Promise, function () {
495
- var weightsPath, data, model;
496
- return __generator(this, function (_a) {
497
- weightsPath = path || this.config.weightsPath;
498
- try {
499
- if (!existsSync(weightsPath)) {
500
- return [2 /*return*/, false];
501
- }
502
- data = readFileSync(weightsPath, 'utf-8');
503
- model = JSON.parse(data);
504
- // Validate version
505
- if (!model.version || !model.version.startsWith('1.')) {
506
- console.warn("[MoE] Incompatible model version: " + model.version);
507
- return [2 /*return*/, false];
508
- }
509
- // Load weights
510
- this.W1 = new Float32Array(model.weights.W1.flat());
511
- this.b1 = new Float32Array(model.weights.b1);
512
- this.W2 = new Float32Array(model.weights.W2.flat());
513
- this.b2 = new Float32Array(model.weights.b2);
514
- // Load stats
515
- this.updateCount = model.stats.updateCount || 0;
516
- this.avgReward = model.stats.avgReward || 0;
517
- this.routingCounts = new Float32Array(model.stats.routingCounts || new Array(NUM_EXPERTS).fill(0));
518
- this.totalRoutings = this.routingCounts.reduce(function (a, b) { return a + b; }, 0);
519
- return [2 /*return*/, true];
520
- }
521
- catch (err) {
522
- console.warn("[MoE] Failed to load weights: " + err);
523
- return [2 /*return*/, false];
524
- }
525
- return [2 /*return*/];
526
- });
527
- });
528
- };
447
+ async loadWeights(path) {
448
+ const weightsPath = path || this.config.weightsPath;
449
+ try {
450
+ if (!existsSync(weightsPath)) {
451
+ return false;
452
+ }
453
+ const data = readFileSync(weightsPath, 'utf-8');
454
+ const model = JSON.parse(data);
455
+ // Validate version
456
+ if (!model.version || !model.version.startsWith('1.')) {
457
+ console.warn(`[MoE] Incompatible model version: ${model.version}`);
458
+ return false;
459
+ }
460
+ // Load weights
461
+ this.W1 = new Float32Array(model.weights.W1.flat());
462
+ this.b1 = new Float32Array(model.weights.b1);
463
+ this.W2 = new Float32Array(model.weights.W2.flat());
464
+ this.b2 = new Float32Array(model.weights.b2);
465
+ // Load stats
466
+ this.updateCount = model.stats.updateCount || 0;
467
+ this.avgReward = model.stats.avgReward || 0;
468
+ this.routingCounts = new Float32Array(model.stats.routingCounts || new Array(NUM_EXPERTS).fill(0));
469
+ this.totalRoutings = this.routingCounts.reduce((a, b) => a + b, 0);
470
+ return true;
471
+ }
472
+ catch (err) {
473
+ console.warn(`[MoE] Failed to load weights: ${err}`);
474
+ return false;
475
+ }
476
+ }
529
477
  /**
530
478
  * Save weights to persistence file
531
479
  */
532
- MoERouter.prototype.saveWeights = function (path) {
533
- return __awaiter(this, void 0, Promise, function () {
534
- var weightsPath, dir, W1_2d, i, W2_2d, i, model;
535
- return __generator(this, function (_a) {
536
- weightsPath = path || this.config.weightsPath;
537
- try {
538
- dir = dirname(weightsPath);
539
- if (!existsSync(dir)) {
540
- mkdirSync(dir, { recursive: true });
541
- }
542
- W1_2d = [];
543
- for (i = 0; i < HIDDEN_DIM; i++) {
544
- W1_2d.push(Array.from(this.W1.slice(i * INPUT_DIM, (i + 1) * INPUT_DIM)));
545
- }
546
- W2_2d = [];
547
- for (i = 0; i < NUM_EXPERTS; i++) {
548
- W2_2d.push(Array.from(this.W2.slice(i * HIDDEN_DIM, (i + 1) * HIDDEN_DIM)));
549
- }
550
- model = {
551
- version: '1.0.0',
552
- config: {
553
- topK: this.config.topK,
554
- temperature: this.config.temperature,
555
- learningRate: this.config.learningRate,
556
- loadBalanceCoef: this.config.loadBalanceCoef
557
- },
558
- weights: {
559
- W1: W1_2d,
560
- b1: Array.from(this.b1),
561
- W2: W2_2d,
562
- b2: Array.from(this.b2)
563
- },
564
- stats: {
565
- updateCount: this.updateCount,
566
- routingCounts: Array.from(this.routingCounts),
567
- avgReward: this.avgReward
568
- },
569
- metadata: {
570
- savedAt: new Date().toISOString(),
571
- expertNames: __spreadArray([], EXPERT_NAMES, true)
572
- }
573
- };
574
- writeFileSync(weightsPath, JSON.stringify(model, null, 2));
575
- return [2 /*return*/, true];
576
- }
577
- catch (err) {
578
- console.warn("[MoE] Failed to save weights: " + err);
579
- return [2 /*return*/, false];
580
- }
581
- return [2 /*return*/];
582
- });
583
- });
584
- };
480
+ async saveWeights(path) {
481
+ const weightsPath = path || this.config.weightsPath;
482
+ try {
483
+ // Ensure directory exists
484
+ const dir = dirname(weightsPath);
485
+ if (!existsSync(dir)) {
486
+ mkdirSync(dir, { recursive: true });
487
+ }
488
+ // Convert Float32Arrays to nested arrays for JSON
489
+ const W1_2d = [];
490
+ for (let i = 0; i < HIDDEN_DIM; i++) {
491
+ W1_2d.push(Array.from(this.W1.slice(i * INPUT_DIM, (i + 1) * INPUT_DIM)));
492
+ }
493
+ const W2_2d = [];
494
+ for (let i = 0; i < NUM_EXPERTS; i++) {
495
+ W2_2d.push(Array.from(this.W2.slice(i * HIDDEN_DIM, (i + 1) * HIDDEN_DIM)));
496
+ }
497
+ const model = {
498
+ version: '1.0.0',
499
+ config: {
500
+ topK: this.config.topK,
501
+ temperature: this.config.temperature,
502
+ learningRate: this.config.learningRate,
503
+ loadBalanceCoef: this.config.loadBalanceCoef,
504
+ },
505
+ weights: {
506
+ W1: W1_2d,
507
+ b1: Array.from(this.b1),
508
+ W2: W2_2d,
509
+ b2: Array.from(this.b2),
510
+ },
511
+ stats: {
512
+ updateCount: this.updateCount,
513
+ routingCounts: Array.from(this.routingCounts),
514
+ avgReward: this.avgReward,
515
+ },
516
+ metadata: {
517
+ savedAt: new Date().toISOString(),
518
+ expertNames: [...EXPERT_NAMES],
519
+ },
520
+ };
521
+ writeFileSync(weightsPath, JSON.stringify(model, null, 2));
522
+ return true;
523
+ }
524
+ catch (err) {
525
+ console.warn(`[MoE] Failed to save weights: ${err}`);
526
+ return false;
527
+ }
528
+ }
585
529
  /**
586
530
  * Reset weights to random initialization
587
531
  */
588
- MoERouter.prototype.resetWeights = function () {
532
+ resetWeights() {
589
533
  this.W1 = xavierInit(INPUT_DIM, HIDDEN_DIM);
590
534
  this.b1.fill(0);
591
535
  this.W2 = xavierInit(HIDDEN_DIM, NUM_EXPERTS);
592
536
  this.b2.fill(0);
593
537
  this.resetStats();
594
- };
538
+ }
595
539
  // ============================================================================
596
540
  // Private Methods
597
541
  // ============================================================================
598
542
  /**
599
543
  * Select top-k indices from probabilities
600
544
  */
601
- MoERouter.prototype.selectTopK = function (probs, k) {
545
+ selectTopK(probs, k) {
602
546
  // Create index-value pairs and sort by value descending
603
- var pairs = [];
604
- for (var i = 0; i < probs.length; i++) {
547
+ const pairs = [];
548
+ for (let i = 0; i < probs.length; i++) {
605
549
  pairs.push([i, probs[i]]);
606
550
  }
607
- pairs.sort(function (a, b) { return b[1] - a[1]; });
551
+ pairs.sort((a, b) => b[1] - a[1]);
608
552
  // Return top-k indices
609
- return pairs.slice(0, k).map(function (p) { return p[0]; });
610
- };
553
+ return pairs.slice(0, k).map((p) => p[0]);
554
+ }
611
555
  /**
612
556
  * Compute load balance loss for regularization
613
557
  *
@@ -616,43 +560,41 @@ var MoERouter = /** @class */ (function () {
616
560
  * where f_i = fraction of tokens routed to expert i
617
561
  * P_i = average routing probability to expert i
618
562
  */
619
- MoERouter.prototype.computeLoadBalanceLoss = function () {
563
+ computeLoadBalanceLoss() {
620
564
  if (this.totalRoutings === 0)
621
565
  return 0;
622
- var loss = 0;
623
- for (var i = 0; i < NUM_EXPERTS; i++) {
624
- var fraction = this.routingCounts[i] / this.totalRoutings;
625
- var avgProb = this.probs[i]; // Current routing prob
566
+ let loss = 0;
567
+ for (let i = 0; i < NUM_EXPERTS; i++) {
568
+ const fraction = this.routingCounts[i] / this.totalRoutings;
569
+ const avgProb = this.probs[i]; // Current routing prob
626
570
  loss += fraction * avgProb;
627
571
  }
628
572
  return NUM_EXPERTS * loss * this.config.loadBalanceCoef;
629
- };
573
+ }
630
574
  /**
631
575
  * Compute Gini coefficient for load distribution
632
576
  */
633
- MoERouter.prototype.computeGiniCoefficient = function () {
577
+ computeGiniCoefficient() {
634
578
  if (this.totalRoutings === 0)
635
579
  return 0;
636
580
  // Sort counts
637
- var sorted = Array.from(this.routingCounts).sort(function (a, b) { return a - b; });
638
- var n = sorted.length;
639
- var mean = this.totalRoutings / n;
581
+ const sorted = Array.from(this.routingCounts).sort((a, b) => a - b);
582
+ const n = sorted.length;
583
+ const mean = this.totalRoutings / n;
640
584
  // Compute Gini using the formula: G = (2 * sum(i * x_i) - (n+1) * sum(x_i)) / (n * sum(x_i))
641
- var weightedSum = 0;
642
- for (var i = 0; i < n; i++) {
585
+ let weightedSum = 0;
586
+ for (let i = 0; i < n; i++) {
643
587
  weightedSum += (i + 1) * sorted[i];
644
588
  }
645
- var gini = (2 * weightedSum - (n + 1) * this.totalRoutings) /
589
+ const gini = (2 * weightedSum - (n + 1) * this.totalRoutings) /
646
590
  (n * this.totalRoutings + 1e-8);
647
591
  return Math.max(0, gini);
648
- };
649
- return MoERouter;
650
- }());
651
- export { MoERouter };
592
+ }
593
+ }
652
594
  // ============================================================================
653
595
  // Singleton Instance
654
596
  // ============================================================================
655
- var moeRouterInstance = null;
597
+ let moeRouterInstance = null;
656
598
  /**
657
599
  * Get singleton MoE router instance
658
600
  *
@@ -663,7 +605,7 @@ export function getMoERouter(config) {
663
605
  if (!moeRouterInstance) {
664
606
  moeRouterInstance = new MoERouter(config);
665
607
  // Initialize in background (load weights)
666
- moeRouterInstance.initialize()["catch"](function (err) {
608
+ moeRouterInstance.initialize().catch((err) => {
667
609
  console.warn('[MoE] Failed to initialize router:', err);
668
610
  });
669
611
  }