kynjal-cli 3.1.4 → 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 (344) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +420 -613
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  36. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  37. package/dist/src/appliance/gguf-engine.js +425 -0
  38. package/dist/src/appliance/gguf-engine.js.map +1 -0
  39. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  40. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  41. package/dist/src/appliance/ruvllm-bridge.js +292 -0
  42. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  43. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  44. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  45. package/dist/src/appliance/rvfa-builder.js +329 -0
  46. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  47. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  48. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  49. package/dist/src/appliance/rvfa-distribution.js +370 -0
  50. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  51. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  52. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  53. package/dist/src/appliance/rvfa-format.js +393 -0
  54. package/dist/src/appliance/rvfa-format.js.map +1 -0
  55. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  56. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  57. package/dist/src/appliance/rvfa-runner.js +237 -0
  58. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  59. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  60. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  61. package/dist/src/appliance/rvfa-signing.js +347 -0
  62. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  63. package/dist/src/commands/agent.d.ts.map +1 -1
  64. package/dist/src/commands/agent.js +121 -21
  65. package/dist/src/commands/agent.js.map +1 -1
  66. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  67. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  68. package/dist/src/commands/appliance-advanced.js +215 -0
  69. package/dist/src/commands/appliance-advanced.js.map +1 -0
  70. package/dist/src/commands/appliance.d.ts +8 -0
  71. package/dist/src/commands/appliance.d.ts.map +1 -0
  72. package/dist/src/commands/appliance.js +406 -0
  73. package/dist/src/commands/appliance.js.map +1 -0
  74. package/dist/src/commands/benchmark.js +2 -2
  75. package/dist/src/commands/benchmark.js.map +1 -1
  76. package/dist/src/commands/claims.js +1 -1
  77. package/dist/src/commands/claims.js.map +1 -1
  78. package/dist/src/commands/cleanup.d.ts +13 -0
  79. package/dist/src/commands/cleanup.d.ts.map +1 -0
  80. package/dist/src/commands/cleanup.js +218 -0
  81. package/dist/src/commands/cleanup.js.map +1 -0
  82. package/dist/src/commands/config.js +1 -1
  83. package/dist/src/commands/config.js.map +1 -1
  84. package/dist/src/commands/daemon.d.ts.map +1 -1
  85. package/dist/src/commands/daemon.js +81 -18
  86. package/dist/src/commands/daemon.js.map +1 -1
  87. package/dist/src/commands/deployment.js +1 -1
  88. package/dist/src/commands/deployment.js.map +1 -1
  89. package/dist/src/commands/doctor.d.ts.map +1 -1
  90. package/dist/src/commands/doctor.js +99 -51
  91. package/dist/src/commands/doctor.js.map +1 -1
  92. package/dist/src/commands/embeddings.js +1 -1
  93. package/dist/src/commands/embeddings.js.map +1 -1
  94. package/dist/src/commands/hive-mind.js +26 -26
  95. package/dist/src/commands/hive-mind.js.map +1 -1
  96. package/dist/src/commands/hooks.d.ts.map +1 -1
  97. package/dist/src/commands/hooks.js +800 -100
  98. package/dist/src/commands/hooks.js.map +1 -1
  99. package/dist/src/commands/index.d.ts +9 -2
  100. package/dist/src/commands/index.d.ts.map +1 -1
  101. package/dist/src/commands/index.js +20 -2
  102. package/dist/src/commands/index.js.map +1 -1
  103. package/dist/src/commands/init.d.ts +1 -1
  104. package/dist/src/commands/init.d.ts.map +1 -1
  105. package/dist/src/commands/init.js +22 -18
  106. package/dist/src/commands/init.js.map +1 -1
  107. package/dist/src/commands/mcp.d.ts.map +1 -1
  108. package/dist/src/commands/mcp.js +23 -5
  109. package/dist/src/commands/mcp.js.map +1 -1
  110. package/dist/src/commands/memory.d.ts.map +1 -1
  111. package/dist/src/commands/memory.js +24 -0
  112. package/dist/src/commands/memory.js.map +1 -1
  113. package/dist/src/commands/neural.d.ts.map +1 -1
  114. package/dist/src/commands/neural.js +13 -7
  115. package/dist/src/commands/neural.js.map +1 -1
  116. package/dist/src/commands/performance.js +1 -1
  117. package/dist/src/commands/performance.js.map +1 -1
  118. package/dist/src/commands/plugins.js +1 -1
  119. package/dist/src/commands/plugins.js.map +1 -1
  120. package/dist/src/commands/providers.js +1 -1
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/ruvector/import.js +2 -2
  123. package/dist/src/commands/ruvector/import.js.map +1 -1
  124. package/dist/src/commands/ruvector/index.js +1 -1
  125. package/dist/src/commands/ruvector/index.js.map +1 -1
  126. package/dist/src/commands/ruvector/setup.js +6 -6
  127. package/dist/src/commands/security.d.ts.map +1 -1
  128. package/dist/src/commands/security.js +47 -16
  129. package/dist/src/commands/security.js.map +1 -1
  130. package/dist/src/commands/session.d.ts +1 -1
  131. package/dist/src/commands/session.js +1 -1
  132. package/dist/src/commands/start.d.ts +1 -1
  133. package/dist/src/commands/start.js +12 -12
  134. package/dist/src/commands/start.js.map +1 -1
  135. package/dist/src/commands/status.d.ts +1 -1
  136. package/dist/src/commands/status.d.ts.map +1 -1
  137. package/dist/src/commands/status.js +13 -6
  138. package/dist/src/commands/status.js.map +1 -1
  139. package/dist/src/commands/swarm.js +2 -2
  140. package/dist/src/commands/swarm.js.map +1 -1
  141. package/dist/src/commands/task.d.ts +1 -1
  142. package/dist/src/commands/task.js +1 -1
  143. package/dist/src/commands/transfer-store.js +1 -1
  144. package/dist/src/commands/transfer-store.js.map +1 -1
  145. package/dist/src/config-adapter.js +1 -1
  146. package/dist/src/config-adapter.js.map +1 -1
  147. package/dist/src/index.d.ts +4 -3
  148. package/dist/src/index.d.ts.map +1 -1
  149. package/dist/src/index.js +5 -3
  150. package/dist/src/index.js.map +1 -1
  151. package/dist/src/init/claudemd-generator.js +30 -30
  152. package/dist/src/init/claudemd-generator.js.map +1 -1
  153. package/dist/src/init/executor.d.ts.map +1 -1
  154. package/dist/src/init/executor.js +86 -101
  155. package/dist/src/init/executor.js.map +1 -1
  156. package/dist/src/init/helpers-generator.d.ts.map +1 -1
  157. package/dist/src/init/helpers-generator.js +96 -26
  158. package/dist/src/init/helpers-generator.js.map +1 -1
  159. package/dist/src/init/mcp-generator.d.ts +0 -1
  160. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  161. package/dist/src/init/mcp-generator.js +34 -18
  162. package/dist/src/init/mcp-generator.js.map +1 -1
  163. package/dist/src/init/settings-generator.d.ts.map +1 -1
  164. package/dist/src/init/settings-generator.js +107 -41
  165. package/dist/src/init/settings-generator.js.map +1 -1
  166. package/dist/src/init/statusline-generator.d.ts +16 -8
  167. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  168. package/dist/src/init/statusline-generator.js +537 -1019
  169. package/dist/src/init/statusline-generator.js.map +1 -1
  170. package/dist/src/init/types.d.ts +14 -4
  171. package/dist/src/init/types.d.ts.map +1 -1
  172. package/dist/src/init/types.js +9 -2
  173. package/dist/src/init/types.js.map +1 -1
  174. package/dist/src/mcp-client.d.ts.map +1 -1
  175. package/dist/src/mcp-client.js +10 -0
  176. package/dist/src/mcp-client.js.map +1 -1
  177. package/dist/src/mcp-server.d.ts.map +1 -1
  178. package/dist/src/mcp-server.js +30 -4
  179. package/dist/src/mcp-server.js.map +1 -1
  180. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  181. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  182. package/dist/src/mcp-tools/agentdb-tools.js +557 -0
  183. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  184. package/dist/src/mcp-tools/browser-tools.js +2 -2
  185. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  186. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  187. package/dist/src/mcp-tools/config-tools.js +21 -2
  188. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  190. package/dist/src/mcp-tools/coordination-tools.js +192 -13
  191. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  192. package/dist/src/mcp-tools/daa-tools.js +5 -5
  193. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  194. package/dist/src/mcp-tools/github-tools.js +2 -2
  195. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  196. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  197. package/dist/src/mcp-tools/hive-mind-tools.js +263 -35
  198. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  200. package/dist/src/mcp-tools/hooks-tools.js +355 -40
  201. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  202. package/dist/src/mcp-tools/index.d.ts +2 -0
  203. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  204. package/dist/src/mcp-tools/index.js +2 -0
  205. package/dist/src/mcp-tools/index.js.map +1 -1
  206. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  207. package/dist/src/mcp-tools/memory-tools.js +31 -1
  208. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  210. package/dist/src/mcp-tools/neural-tools.js +32 -27
  211. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  212. package/dist/src/mcp-tools/performance-tools.js +1 -1
  213. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  214. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  215. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  216. package/dist/src/mcp-tools/ruvllm-tools.js +283 -0
  217. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  218. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  219. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  220. package/dist/src/mcp-tools/swarm-tools.js +216 -30
  221. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  222. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  223. package/dist/src/mcp-tools/system-tools.js +109 -6
  224. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  226. package/dist/src/mcp-tools/task-tools.js +102 -0
  227. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  228. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  230. package/dist/src/mcp-tools/wasm-agent-tools.js +230 -0
  231. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  232. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  233. package/dist/src/mcp-tools/workflow-tools.js +91 -0
  234. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  235. package/dist/src/memory/ewc-consolidation.d.ts +24 -0
  236. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -1
  237. package/dist/src/memory/ewc-consolidation.js +59 -0
  238. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  239. package/dist/src/memory/intelligence.d.ts +53 -0
  240. package/dist/src/memory/intelligence.d.ts.map +1 -1
  241. package/dist/src/memory/intelligence.js +264 -7
  242. package/dist/src/memory/intelligence.js.map +1 -1
  243. package/dist/src/memory/memory-bridge.d.ts +407 -0
  244. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  245. package/dist/src/memory/memory-bridge.js +1494 -0
  246. package/dist/src/memory/memory-bridge.js.map +1 -0
  247. package/dist/src/memory/memory-initializer.d.ts +17 -1
  248. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  249. package/dist/src/memory/memory-initializer.js +320 -42
  250. package/dist/src/memory/memory-initializer.js.map +1 -1
  251. package/dist/src/output.d.ts.map +1 -1
  252. package/dist/src/output.js +1 -0
  253. package/dist/src/output.js.map +1 -1
  254. package/dist/src/parser.d.ts +10 -0
  255. package/dist/src/parser.d.ts.map +1 -1
  256. package/dist/src/parser.js +49 -3
  257. package/dist/src/parser.js.map +1 -1
  258. package/dist/src/plugins/manager.d.ts.map +1 -1
  259. package/dist/src/plugins/manager.js +31 -14
  260. package/dist/src/plugins/manager.js.map +1 -1
  261. package/dist/src/plugins/store/discovery.js +5 -5
  262. package/dist/src/plugins/store/discovery.js.map +1 -1
  263. package/dist/src/plugins/tests/standalone-test.js +4 -4
  264. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  265. package/dist/src/production/error-handler.js +1 -1
  266. package/dist/src/production/error-handler.js.map +1 -1
  267. package/dist/src/runtime/headless.d.ts +3 -3
  268. package/dist/src/runtime/headless.js +6 -6
  269. package/dist/src/runtime/headless.js.map +1 -1
  270. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  271. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  272. package/dist/src/ruvector/agent-wasm.js +316 -0
  273. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  274. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -1
  275. package/dist/src/ruvector/enhanced-model-router.js +25 -15
  276. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  277. package/dist/src/ruvector/index.d.ts +7 -1
  278. package/dist/src/ruvector/index.d.ts.map +1 -1
  279. package/dist/src/ruvector/index.js +17 -1
  280. package/dist/src/ruvector/index.js.map +1 -1
  281. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  282. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  283. package/dist/src/ruvector/ruvllm-wasm.js +363 -0
  284. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  285. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  286. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  287. package/dist/src/services/agentic-flow-bridge.js +95 -0
  288. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  289. package/dist/src/services/claim-service.js +1 -1
  290. package/dist/src/services/claim-service.js.map +1 -1
  291. package/dist/src/services/container-worker-pool.d.ts.map +1 -1
  292. package/dist/src/services/container-worker-pool.js +3 -1
  293. package/dist/src/services/container-worker-pool.js.map +1 -1
  294. package/dist/src/services/index.d.ts +1 -1
  295. package/dist/src/services/index.d.ts.map +1 -1
  296. package/dist/src/services/registry-api.d.ts +1 -1
  297. package/dist/src/services/registry-api.js +1 -1
  298. package/dist/src/services/ruvector-training.d.ts +11 -2
  299. package/dist/src/services/ruvector-training.d.ts.map +1 -1
  300. package/dist/src/services/ruvector-training.js +233 -43
  301. package/dist/src/services/ruvector-training.js.map +1 -1
  302. package/dist/src/services/worker-daemon.d.ts +28 -3
  303. package/dist/src/services/worker-daemon.d.ts.map +1 -1
  304. package/dist/src/services/worker-daemon.js +156 -17
  305. package/dist/src/services/worker-daemon.js.map +1 -1
  306. package/dist/src/services/worker-queue.d.ts.map +1 -1
  307. package/dist/src/services/worker-queue.js +2 -0
  308. package/dist/src/services/worker-queue.js.map +1 -1
  309. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  310. package/dist/src/transfer/deploy-seraphine.js +4 -4
  311. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  312. package/dist/src/transfer/ipfs/client.d.ts.map +1 -1
  313. package/dist/src/transfer/ipfs/client.js +8 -0
  314. package/dist/src/transfer/ipfs/client.js.map +1 -1
  315. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -1
  316. package/dist/src/transfer/ipfs/upload.js +0 -2
  317. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  318. package/dist/src/transfer/models/seraphine.d.ts +1 -1
  319. package/dist/src/transfer/models/seraphine.js +5 -5
  320. package/dist/src/transfer/models/seraphine.js.map +1 -1
  321. package/dist/src/transfer/serialization/cfp.d.ts +1 -1
  322. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -1
  323. package/dist/src/transfer/serialization/cfp.js +9 -6
  324. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  325. package/dist/src/transfer/storage/gcs.d.ts.map +1 -1
  326. package/dist/src/transfer/storage/gcs.js +71 -29
  327. package/dist/src/transfer/storage/gcs.js.map +1 -1
  328. package/dist/src/transfer/store/discovery.js +4 -4
  329. package/dist/src/transfer/store/discovery.js.map +1 -1
  330. package/dist/src/transfer/store/registry.js +1 -1
  331. package/dist/src/transfer/store/registry.js.map +1 -1
  332. package/dist/src/transfer/store/tests/standalone-test.js +4 -4
  333. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  334. package/dist/src/transfer/types.d.ts +1 -1
  335. package/dist/src/types.d.ts +1 -1
  336. package/dist/src/types.js +1 -1
  337. package/dist/src/update/validator.js +1 -1
  338. package/dist/src/update/validator.js.map +1 -1
  339. package/dist/tsconfig.tsbuildinfo +1 -1
  340. package/package.json +13 -10
  341. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  342. package/.claude/agents/custom/design-architect.yaml +0 -48
  343. package/.claude/agents/custom/ui-developer.yaml +0 -46
  344. package/.claude/agents/custom/ux-researcher.yaml +0 -60
@@ -1,5 +1,5 @@
1
1
  /**
2
- * RuVector Integration Module for KynjalFlow CLI
2
+ * RuVector Integration Module for Claude Flow CLI
3
3
  *
4
4
  * Provides integration with @ruvector packages for:
5
5
  * - Q-Learning based task routing
@@ -23,10 +23,16 @@ export { FlashAttention, getFlashAttention, resetFlashAttention, computeAttentio
23
23
  export { LoRAAdapter, getLoRAAdapter, resetLoRAAdapter, createLoRAAdapter, adaptEmbedding, trainLoRA, getLoRAStats, DEFAULT_RANK, DEFAULT_ALPHA, INPUT_DIM as LORA_INPUT_DIM, OUTPUT_DIM as LORA_OUTPUT_DIM, type LoRAConfig, type LoRAWeights, type AdaptationResult, type LoRAStats, } from './lora-adapter.js';
24
24
  export { ModelRouter, getModelRouter, resetModelRouter, createModelRouter, routeToModel, routeToModelFull, analyzeTaskComplexity, getModelRouterStats, recordModelOutcome, MODEL_CAPABILITIES, COMPLEXITY_INDICATORS, type ClaudeModel, type ModelRouterConfig, type ModelRoutingResult, type ComplexityAnalysis, } from './model-router.js';
25
25
  export { SemanticRouter, createSemanticRouter, type Intent, type RouteResult, type RouterConfig, } from './semantic-router.js';
26
+ export { isRuvllmWasmAvailable, initRuvllmWasm, getRuvllmStatus, createHnswRouter, createSonaInstant, createMicroLora, formatChat, createKvCache, createGenerateConfig, createBufferPool, createInferenceArena, HNSW_MAX_SAFE_PATTERNS, type HnswRouterConfig, type HnswPattern, type HnswRouteResult, type SonaConfig, type MicroLoraConfig, type ChatMessage, type GenerateOptions, type RuvllmStatus, } from './ruvllm-wasm.js';
27
+ export { isAgentWasmAvailable, initAgentWasm, createWasmAgent, promptWasmAgent, executeWasmTool, getWasmAgent, listWasmAgents, terminateWasmAgent, getWasmAgentState, getWasmAgentTools, getWasmAgentTodos, exportWasmState, createWasmMcpServer, listGalleryTemplates, getGalleryCount, getGalleryCategories, searchGalleryTemplates, getGalleryTemplate, createAgentFromTemplate, buildRvfContainer, buildRvfFromTemplate, type WasmAgentConfig, type WasmAgentInfo, type GalleryTemplate, type GalleryTemplateDetail, type ToolResult, } from './agent-wasm.js';
26
28
  /**
27
29
  * Check if ruvector packages are available
28
30
  */
29
31
  export declare function isRuvectorAvailable(): Promise<boolean>;
32
+ /**
33
+ * Check if @ruvector/learning-wasm is available and loadable
34
+ */
35
+ export declare function isWasmBackendAvailable(): Promise<boolean>;
30
36
  /**
31
37
  * Get ruvector version if available
32
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ruvector/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ruvector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChI,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3H,OAAO,EACL,cAAc,EACd,oBAAoB,EAEpB,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EAEtB,cAAc,EACd,kBAAkB,EAElB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,oBAAoB,EAEpB,aAAa,EACb,eAAe,EACf,YAAY,EAEZ,kBAAkB,EAClB,qBAAqB,EAErB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe,EAEf,gBAAgB,EAChB,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,UAAU,IAAI,eAAe,EAC7B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,SAAS,GACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,MAAM,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,eAAe,EACf,eAAe,EACf,eAAe,EACf,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,GAChB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO5D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOjE"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * RuVector Integration Module for KynjalFlow CLI
2
+ * RuVector Integration Module for Claude Flow CLI
3
3
  *
4
4
  * Provides integration with @ruvector packages for:
5
5
  * - Q-Learning based task routing
@@ -33,6 +33,10 @@ export { FlashAttention, getFlashAttention, resetFlashAttention, computeAttentio
33
33
  export { LoRAAdapter, getLoRAAdapter, resetLoRAAdapter, createLoRAAdapter, adaptEmbedding, trainLoRA, getLoRAStats, DEFAULT_RANK, DEFAULT_ALPHA, INPUT_DIM as LORA_INPUT_DIM, OUTPUT_DIM as LORA_OUTPUT_DIM, } from './lora-adapter.js';
34
34
  export { ModelRouter, getModelRouter, resetModelRouter, createModelRouter, routeToModel, routeToModelFull, analyzeTaskComplexity, getModelRouterStats, recordModelOutcome, MODEL_CAPABILITIES, COMPLEXITY_INDICATORS, } from './model-router.js';
35
35
  export { SemanticRouter, createSemanticRouter, } from './semantic-router.js';
36
+ // ── RuVector LLM WASM (inference utilities) ─────────────────
37
+ export { isRuvllmWasmAvailable, initRuvllmWasm, getRuvllmStatus, createHnswRouter, createSonaInstant, createMicroLora, formatChat, createKvCache, createGenerateConfig, createBufferPool, createInferenceArena, HNSW_MAX_SAFE_PATTERNS, } from './ruvllm-wasm.js';
38
+ // ── Agent WASM (sandboxed agent runtime) ────────────────────
39
+ export { isAgentWasmAvailable, initAgentWasm, createWasmAgent, promptWasmAgent, executeWasmTool, getWasmAgent, listWasmAgents, terminateWasmAgent, getWasmAgentState, getWasmAgentTools, getWasmAgentTodos, exportWasmState, createWasmMcpServer, listGalleryTemplates, getGalleryCount, getGalleryCategories, searchGalleryTemplates, getGalleryTemplate, createAgentFromTemplate, buildRvfContainer, buildRvfFromTemplate, } from './agent-wasm.js';
36
40
  /**
37
41
  * Check if ruvector packages are available
38
42
  */
@@ -45,6 +49,18 @@ export async function isRuvectorAvailable() {
45
49
  return false;
46
50
  }
47
51
  }
52
+ /**
53
+ * Check if @ruvector/learning-wasm is available and loadable
54
+ */
55
+ export async function isWasmBackendAvailable() {
56
+ try {
57
+ const wasm = await import('@ruvector/learning-wasm');
58
+ return typeof wasm.WasmMicroLoRA === 'function' && typeof wasm.initSync === 'function';
59
+ }
60
+ catch {
61
+ return false;
62
+ }
63
+ }
48
64
  /**
49
65
  * Get ruvector version if available
50
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ruvector/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAkD,MAAM,wBAAwB,CAAC;AAChI,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,eAAe,EACf,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,GAKX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAA0D,MAAM,mBAAmB,CAAC;AAC3H,OAAO,EACL,cAAc,EACd,oBAAoB;AACpB,mBAAmB;AACnB,WAAW,EACX,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB;AACtB,gBAAgB;AAChB,cAAc,EACd,kBAAkB,GAanB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,oBAAoB;AACpB,mBAAmB;AACnB,aAAa,EACb,eAAe,EACf,YAAY;AACZ,wBAAwB;AACxB,kBAAkB,EAClB,qBAAqB,GAWtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACvH,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,WAAW,EACX,YAAY,EACZ,cAAc,EACd,eAAe;AACf,wBAAwB;AACxB,gBAAgB,EAChB,kBAAkB,GAQnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,GAIzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,UAAU,IAAI,eAAe,GAK9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,GAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,oBAAoB,GAIrB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAChD,OAAQ,QAAgB,CAAC,OAAO,IAAI,OAAO,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ruvector/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * RuVector LLM WASM Integration
3
+ *
4
+ * Wraps @ruvector/ruvllm-wasm for browser-native LLM inference utilities.
5
+ * Provides HNSW routing, SONA instant adaptation, MicroLoRA fine-tuning,
6
+ * chat template formatting, KV cache management, and inference arena.
7
+ *
8
+ * Published API (v2.0.2): RuvLLMWasm, ChatTemplateWasm, ChatMessageWasm,
9
+ * GenerateConfig, HnswRouterWasm, SonaInstantWasm, MicroLoraWasm,
10
+ * KvCacheWasm, BufferPoolWasm, InferenceArenaWasm.
11
+ *
12
+ * v2.0.2 fixes:
13
+ * - HNSW supports 1000+ patterns (fixed connect_node ordering)
14
+ * - MicroLoRA adapt() now takes (input: Float32Array, feedback: AdaptFeedbackWasm)
15
+ *
16
+ * Remaining quirks:
17
+ * - Stats objects return WASM pointers — use .toJson() or named accessors
18
+ * - GenerateConfig float precision loss (f32 roundtrip)
19
+ * - MicroLoRA apply() hardcoded to 768 dims regardless of config
20
+ *
21
+ * @module @claude-flow/cli/ruvector/ruvllm-wasm
22
+ */
23
+ export interface HnswRouterConfig {
24
+ dimensions: number;
25
+ maxPatterns: number;
26
+ efSearch?: number;
27
+ }
28
+ export interface HnswPattern {
29
+ name: string;
30
+ embedding: Float32Array;
31
+ metadata?: Record<string, unknown>;
32
+ }
33
+ export interface HnswRouteResult {
34
+ name: string;
35
+ score: number;
36
+ metadata?: Record<string, unknown>;
37
+ }
38
+ export interface SonaConfig {
39
+ hiddenDim?: number;
40
+ learningRate?: number;
41
+ emaDecay?: number;
42
+ ewcLambda?: number;
43
+ microLoraRank?: number;
44
+ patternCapacity?: number;
45
+ }
46
+ export interface MicroLoraConfig {
47
+ inputDim: number;
48
+ outputDim: number;
49
+ rank?: number;
50
+ alpha?: number;
51
+ }
52
+ export interface ChatMessage {
53
+ role: 'system' | 'user' | 'assistant';
54
+ content: string;
55
+ }
56
+ export interface GenerateOptions {
57
+ maxTokens?: number;
58
+ temperature?: number;
59
+ topP?: number;
60
+ topK?: number;
61
+ repetitionPenalty?: number;
62
+ stopSequences?: string[];
63
+ }
64
+ export interface RuvllmStatus {
65
+ available: boolean;
66
+ initialized: boolean;
67
+ version: string | null;
68
+ }
69
+ /**
70
+ * Check if @ruvector/ruvllm-wasm is installed and loadable.
71
+ */
72
+ export declare function isRuvllmWasmAvailable(): Promise<boolean>;
73
+ /**
74
+ * Initialize the WASM module for Node.js. Safe to call multiple times.
75
+ * Uses initSync with object form: { module: bytes } (raw bytes deprecated).
76
+ */
77
+ export declare function initRuvllmWasm(): Promise<void>;
78
+ /**
79
+ * Get ruvllm-wasm status.
80
+ */
81
+ export declare function getRuvllmStatus(): Promise<RuvllmStatus>;
82
+ /**
83
+ * Maximum safe pattern count for HNSW router.
84
+ * v2.0.2 supports 1000+ patterns (fixed connect_node ordering).
85
+ */
86
+ export declare const HNSW_MAX_SAFE_PATTERNS = 1024;
87
+ /**
88
+ * Create a WASM HNSW router for semantic routing.
89
+ * Returns an object with add/route/clear methods.
90
+ *
91
+ * Enforces HNSW_MAX_SAFE_PATTERNS limit (1024 in v2.0.2).
92
+ */
93
+ export declare function createHnswRouter(config: HnswRouterConfig): Promise<{
94
+ addPattern: (pattern: HnswPattern) => boolean;
95
+ route: (query: Float32Array, k?: number) => HnswRouteResult[];
96
+ clear: () => void;
97
+ patternCount: () => number;
98
+ toJson: () => string;
99
+ }>;
100
+ /**
101
+ * Create a SONA instant adaptation loop (<1ms adaptation).
102
+ * v2.0.1: requires SonaConfigWasm object, not raw number.
103
+ */
104
+ export declare function createSonaInstant(config?: SonaConfig): Promise<{
105
+ adapt: (quality: number) => void;
106
+ recordPattern: (embedding: number[], success: boolean) => void;
107
+ suggestAction: (context: string) => string | undefined;
108
+ stats: () => string;
109
+ reset: () => void;
110
+ toJson: () => string;
111
+ }>;
112
+ /**
113
+ * Create a MicroLoRA adapter (ultra-lightweight LoRA, ranks 1-4).
114
+ * v2.0.2: .adapt(input, feedback) takes Float32Array + AdaptFeedbackWasm.
115
+ */
116
+ export declare function createMicroLora(config: MicroLoraConfig): Promise<{
117
+ apply: (input: Float32Array) => Float32Array;
118
+ adapt: (quality: number, learningRate?: number, success?: boolean) => void;
119
+ applyUpdates: (gradients: Float32Array) => void;
120
+ stats: () => string;
121
+ reset: () => void;
122
+ toJson: () => string;
123
+ pendingUpdates: () => number;
124
+ }>;
125
+ type TemplatePreset = 'llama3' | 'mistral' | 'chatml' | 'phi' | 'gemma';
126
+ /**
127
+ * Format chat messages using a chat template.
128
+ * Supports presets (llama3, mistral, chatml, phi, gemma) and auto-detection.
129
+ */
130
+ export declare function formatChat(messages: ChatMessage[], template: TemplatePreset | {
131
+ custom: string;
132
+ } | {
133
+ modelId: string;
134
+ }): Promise<string>;
135
+ /**
136
+ * Create a KV cache for token management.
137
+ */
138
+ export declare function createKvCache(opts?: {
139
+ tailLength?: number;
140
+ maxTokens?: number;
141
+ numKvHeads?: number;
142
+ headDim?: number;
143
+ }): Promise<{
144
+ append: (keys: Float32Array, values: Float32Array) => void;
145
+ stats: () => string;
146
+ clear: () => void;
147
+ tokenCount: () => number;
148
+ }>;
149
+ /**
150
+ * Create a generation config object.
151
+ * Note: f32 precision loss is expected (0.7 → 0.699999...).
152
+ */
153
+ export declare function createGenerateConfig(opts?: GenerateOptions): Promise<string>;
154
+ /**
155
+ * Create a buffer pool for inference memory management.
156
+ */
157
+ export declare function createBufferPool(capacity: number): Promise<{
158
+ prewarm: (count: number) => void;
159
+ stats: () => string;
160
+ hitRate: () => number;
161
+ clear: () => void;
162
+ }>;
163
+ /**
164
+ * Create an inference arena for model memory allocation.
165
+ */
166
+ export declare function createInferenceArena(opts: {
167
+ capacity: number;
168
+ } | {
169
+ hiddenDim: number;
170
+ vocabSize: number;
171
+ batchSize: number;
172
+ }): Promise<{
173
+ reset: () => void;
174
+ used: () => number;
175
+ capacity: () => number;
176
+ remaining: () => number;
177
+ }>;
178
+ export {};
179
+ //# sourceMappingURL=ruvllm-wasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruvllm-wasm.d.ts","sourceRoot":"","sources":["../../../src/ruvector/ruvllm-wasm.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,363 @@
1
+ /**
2
+ * RuVector LLM WASM Integration
3
+ *
4
+ * Wraps @ruvector/ruvllm-wasm for browser-native LLM inference utilities.
5
+ * Provides HNSW routing, SONA instant adaptation, MicroLoRA fine-tuning,
6
+ * chat template formatting, KV cache management, and inference arena.
7
+ *
8
+ * Published API (v2.0.2): RuvLLMWasm, ChatTemplateWasm, ChatMessageWasm,
9
+ * GenerateConfig, HnswRouterWasm, SonaInstantWasm, MicroLoraWasm,
10
+ * KvCacheWasm, BufferPoolWasm, InferenceArenaWasm.
11
+ *
12
+ * v2.0.2 fixes:
13
+ * - HNSW supports 1000+ patterns (fixed connect_node ordering)
14
+ * - MicroLoRA adapt() now takes (input: Float32Array, feedback: AdaptFeedbackWasm)
15
+ *
16
+ * Remaining quirks:
17
+ * - Stats objects return WASM pointers — use .toJson() or named accessors
18
+ * - GenerateConfig float precision loss (f32 roundtrip)
19
+ * - MicroLoRA apply() hardcoded to 768 dims regardless of config
20
+ *
21
+ * @module @claude-flow/cli/ruvector/ruvllm-wasm
22
+ */
23
+ import { readFileSync } from 'node:fs';
24
+ import { createRequire } from 'node:module';
25
+ // ── WASM Module Detection & Init ─────────────────────────────
26
+ let _wasmReady = false;
27
+ /**
28
+ * Check if @ruvector/ruvllm-wasm is installed and loadable.
29
+ */
30
+ export async function isRuvllmWasmAvailable() {
31
+ try {
32
+ const mod = await import('@ruvector/ruvllm-wasm');
33
+ return typeof mod.RuvLLMWasm === 'function';
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ /**
40
+ * Initialize the WASM module for Node.js. Safe to call multiple times.
41
+ * Uses initSync with object form: { module: bytes } (raw bytes deprecated).
42
+ */
43
+ export async function initRuvllmWasm() {
44
+ if (_wasmReady)
45
+ return;
46
+ try {
47
+ const mod = await import('@ruvector/ruvllm-wasm');
48
+ const require_ = createRequire(import.meta.url);
49
+ const wasmPath = require_.resolve('@ruvector/ruvllm-wasm/ruvllm_wasm_bg.wasm');
50
+ const wasmBytes = readFileSync(wasmPath);
51
+ // MUST use object form — initSync(bytes) is deprecated
52
+ mod.initSync({ module: wasmBytes });
53
+ _wasmReady = true;
54
+ }
55
+ catch (err) {
56
+ throw new Error(`Failed to initialize @ruvector/ruvllm-wasm: ${err}`);
57
+ }
58
+ }
59
+ /**
60
+ * Get ruvllm-wasm status.
61
+ */
62
+ export async function getRuvllmStatus() {
63
+ const available = await isRuvllmWasmAvailable();
64
+ if (!available) {
65
+ return { available: false, initialized: false, version: null };
66
+ }
67
+ try {
68
+ const mod = await import('@ruvector/ruvllm-wasm');
69
+ // version is a standalone function, not on RuvLLMWasm class
70
+ const version = typeof mod.getVersion === 'function' ? mod.getVersion() : null;
71
+ return { available: true, initialized: _wasmReady, version };
72
+ }
73
+ catch {
74
+ return { available: true, initialized: _wasmReady, version: null };
75
+ }
76
+ }
77
+ // ── HNSW Router ──────────────────────────────────────────────
78
+ /**
79
+ * Maximum safe pattern count for HNSW router.
80
+ * v2.0.2 supports 1000+ patterns (fixed connect_node ordering).
81
+ */
82
+ export const HNSW_MAX_SAFE_PATTERNS = 1024;
83
+ /**
84
+ * Create a WASM HNSW router for semantic routing.
85
+ * Returns an object with add/route/clear methods.
86
+ *
87
+ * Enforces HNSW_MAX_SAFE_PATTERNS limit (1024 in v2.0.2).
88
+ */
89
+ export async function createHnswRouter(config) {
90
+ await initRuvllmWasm();
91
+ const mod = await import('@ruvector/ruvllm-wasm');
92
+ const router = new mod.HnswRouterWasm(config.dimensions, config.maxPatterns);
93
+ if (config.efSearch) {
94
+ router.setEfSearch(config.efSearch);
95
+ }
96
+ let count = 0;
97
+ return {
98
+ addPattern(pattern) {
99
+ if (count >= HNSW_MAX_SAFE_PATTERNS) {
100
+ throw new Error(`HNSW pattern limit reached (${HNSW_MAX_SAFE_PATTERNS}).`);
101
+ }
102
+ const metadataJson = JSON.stringify(pattern.metadata ?? {});
103
+ // addPattern requires 3 args: (embedding, name, metadata_json)
104
+ const ok = router.addPattern(pattern.embedding, pattern.name, metadataJson);
105
+ if (ok)
106
+ count++;
107
+ return ok;
108
+ },
109
+ route(query, k = 3) {
110
+ return router.route(query, k);
111
+ },
112
+ clear() {
113
+ router.clear();
114
+ count = 0;
115
+ },
116
+ patternCount() {
117
+ return count;
118
+ },
119
+ toJson() {
120
+ return router.toJson();
121
+ },
122
+ };
123
+ }
124
+ // ── SONA Instant Adaptation ──────────────────────────────────
125
+ /**
126
+ * Create a SONA instant adaptation loop (<1ms adaptation).
127
+ * v2.0.1: requires SonaConfigWasm object, not raw number.
128
+ */
129
+ export async function createSonaInstant(config = {}) {
130
+ await initRuvllmWasm();
131
+ const mod = await import('@ruvector/ruvllm-wasm');
132
+ const sonaConfig = new mod.SonaConfigWasm();
133
+ if (config.hiddenDim !== undefined)
134
+ sonaConfig.hiddenDim = config.hiddenDim;
135
+ if (config.learningRate !== undefined)
136
+ sonaConfig.learningRate = config.learningRate;
137
+ if (config.emaDecay !== undefined)
138
+ sonaConfig.emaDecay = config.emaDecay;
139
+ if (config.ewcLambda !== undefined)
140
+ sonaConfig.ewcLambda = config.ewcLambda;
141
+ if (config.microLoraRank !== undefined)
142
+ sonaConfig.microLoraRank = config.microLoraRank;
143
+ if (config.patternCapacity !== undefined)
144
+ sonaConfig.patternCapacity = config.patternCapacity;
145
+ const sona = new mod.SonaInstantWasm(sonaConfig);
146
+ return {
147
+ adapt(quality) {
148
+ sona.instantAdapt(quality);
149
+ },
150
+ recordPattern(embedding, success) {
151
+ sona.recordPattern(embedding, success);
152
+ },
153
+ suggestAction(context) {
154
+ return sona.suggestAction(context);
155
+ },
156
+ stats() {
157
+ return sona.toJson();
158
+ },
159
+ reset() {
160
+ sona.reset();
161
+ },
162
+ toJson() {
163
+ return sona.toJson();
164
+ },
165
+ };
166
+ }
167
+ // ── MicroLoRA ────────────────────────────────────────────────
168
+ /**
169
+ * Create a MicroLoRA adapter (ultra-lightweight LoRA, ranks 1-4).
170
+ * v2.0.2: .adapt(input, feedback) takes Float32Array + AdaptFeedbackWasm.
171
+ */
172
+ export async function createMicroLora(config) {
173
+ await initRuvllmWasm();
174
+ const mod = await import('@ruvector/ruvllm-wasm');
175
+ const loraConfig = new mod.MicroLoraConfigWasm();
176
+ loraConfig.inputDim = config.inputDim;
177
+ loraConfig.outputDim = config.outputDim;
178
+ loraConfig.rank = config.rank ?? 2;
179
+ loraConfig.alpha = config.alpha ?? 1.0;
180
+ const lora = new mod.MicroLoraWasm(loraConfig);
181
+ return {
182
+ apply(input) {
183
+ return lora.apply(input);
184
+ },
185
+ adapt(quality, learningRate = 0.01, success = true) {
186
+ // v2.0.2: adapt(input, feedback) — two args
187
+ const feedback = new mod.AdaptFeedbackWasm();
188
+ feedback.quality = quality;
189
+ feedback.learningRate = learningRate;
190
+ // Note: feedback.success not on prototype in v2.0.2, set via property
191
+ try {
192
+ feedback.success = success;
193
+ }
194
+ catch { /* v2.0.2 quirk */ }
195
+ // Create a dummy input vector matching the configured inputDim
196
+ const input = new Float32Array(config.inputDim);
197
+ lora.adapt(input, feedback);
198
+ },
199
+ applyUpdates(gradients) {
200
+ lora.applyUpdates(gradients);
201
+ },
202
+ stats() {
203
+ return lora.toJson();
204
+ },
205
+ reset() {
206
+ lora.reset();
207
+ },
208
+ toJson() {
209
+ return lora.toJson();
210
+ },
211
+ pendingUpdates() {
212
+ return lora.pendingUpdates();
213
+ },
214
+ };
215
+ }
216
+ /**
217
+ * Format chat messages using a chat template.
218
+ * Supports presets (llama3, mistral, chatml, phi, gemma) and auto-detection.
219
+ */
220
+ export async function formatChat(messages, template) {
221
+ await initRuvllmWasm();
222
+ const mod = await import('@ruvector/ruvllm-wasm');
223
+ // Build template
224
+ let tmpl;
225
+ if (typeof template === 'string') {
226
+ const presets = {
227
+ llama3: () => mod.ChatTemplateWasm.llama3(),
228
+ mistral: () => mod.ChatTemplateWasm.mistral(),
229
+ chatml: () => mod.ChatTemplateWasm.chatml(),
230
+ phi: () => mod.ChatTemplateWasm.phi(),
231
+ gemma: () => mod.ChatTemplateWasm.gemma(),
232
+ };
233
+ const factory = presets[template];
234
+ if (!factory)
235
+ throw new Error(`Unknown template preset: ${template}. Use: ${Object.keys(presets).join(', ')}`);
236
+ tmpl = factory();
237
+ }
238
+ else if ('custom' in template) {
239
+ tmpl = mod.ChatTemplateWasm.custom(template.custom);
240
+ }
241
+ else if ('modelId' in template) {
242
+ tmpl = mod.ChatTemplateWasm.detectFromModelId(template.modelId);
243
+ }
244
+ // Build messages
245
+ const wasmMessages = messages.map(m => {
246
+ switch (m.role) {
247
+ case 'system': return mod.ChatMessageWasm.system(m.content);
248
+ case 'user': return mod.ChatMessageWasm.user(m.content);
249
+ case 'assistant': return mod.ChatMessageWasm.assistant(m.content);
250
+ default: throw new Error(`Unknown role: ${m.role}`);
251
+ }
252
+ });
253
+ return tmpl.format(wasmMessages);
254
+ }
255
+ // ── KV Cache ─────────────────────────────────────────────────
256
+ /**
257
+ * Create a KV cache for token management.
258
+ */
259
+ export async function createKvCache(opts) {
260
+ await initRuvllmWasm();
261
+ const mod = await import('@ruvector/ruvllm-wasm');
262
+ let cache;
263
+ if (opts) {
264
+ const config = new mod.KvCacheConfigWasm();
265
+ if (opts.tailLength !== undefined)
266
+ config.tailLength = opts.tailLength;
267
+ if (opts.maxTokens !== undefined)
268
+ config.maxTokens = opts.maxTokens;
269
+ if (opts.numKvHeads !== undefined)
270
+ config.numKvHeads = opts.numKvHeads;
271
+ if (opts.headDim !== undefined)
272
+ config.headDim = opts.headDim;
273
+ cache = new mod.KvCacheWasm(config);
274
+ }
275
+ else {
276
+ cache = mod.KvCacheWasm.withDefaults();
277
+ }
278
+ return {
279
+ append(keys, values) {
280
+ cache.append(keys, values);
281
+ },
282
+ stats() {
283
+ // Use toJson if available, otherwise stringify
284
+ try {
285
+ return JSON.stringify(cache.stats());
286
+ }
287
+ catch {
288
+ return '{}';
289
+ }
290
+ },
291
+ clear() {
292
+ cache.clear();
293
+ },
294
+ tokenCount() {
295
+ return cache.tokenCount;
296
+ },
297
+ };
298
+ }
299
+ // ── Generate Config ──────────────────────────────────────────
300
+ /**
301
+ * Create a generation config object.
302
+ * Note: f32 precision loss is expected (0.7 → 0.699999...).
303
+ */
304
+ export async function createGenerateConfig(opts = {}) {
305
+ await initRuvllmWasm();
306
+ const mod = await import('@ruvector/ruvllm-wasm');
307
+ const config = new mod.GenerateConfig();
308
+ if (opts.maxTokens !== undefined)
309
+ config.maxTokens = opts.maxTokens;
310
+ if (opts.temperature !== undefined)
311
+ config.temperature = opts.temperature;
312
+ if (opts.topP !== undefined)
313
+ config.topP = opts.topP;
314
+ if (opts.topK !== undefined)
315
+ config.topK = opts.topK;
316
+ if (opts.repetitionPenalty !== undefined)
317
+ config.repetitionPenalty = opts.repetitionPenalty;
318
+ for (const seq of opts.stopSequences ?? []) {
319
+ config.addStopSequence(seq);
320
+ }
321
+ return config.toJson();
322
+ }
323
+ // ── Buffer Pool ──────────────────────────────────────────────
324
+ /**
325
+ * Create a buffer pool for inference memory management.
326
+ */
327
+ export async function createBufferPool(capacity) {
328
+ await initRuvllmWasm();
329
+ const mod = await import('@ruvector/ruvllm-wasm');
330
+ const pool = mod.BufferPoolWasm.withCapacity(capacity);
331
+ return {
332
+ prewarm(count) {
333
+ pool.prewarmAll(count);
334
+ },
335
+ stats() {
336
+ return pool.statsJson();
337
+ },
338
+ hitRate() {
339
+ return pool.hitRate;
340
+ },
341
+ clear() {
342
+ pool.clear();
343
+ },
344
+ };
345
+ }
346
+ // ── Inference Arena ──────────────────────────────────────────
347
+ /**
348
+ * Create an inference arena for model memory allocation.
349
+ */
350
+ export async function createInferenceArena(opts) {
351
+ await initRuvllmWasm();
352
+ const mod = await import('@ruvector/ruvllm-wasm');
353
+ const arena = 'capacity' in opts
354
+ ? new mod.InferenceArenaWasm(opts.capacity)
355
+ : mod.InferenceArenaWasm.forModel(opts.hiddenDim, opts.vocabSize, opts.batchSize);
356
+ return {
357
+ reset() { arena.reset(); },
358
+ used() { return arena.used; },
359
+ capacity() { return arena.capacity; },
360
+ remaining() { return arena.remaining; },
361
+ };
362
+ }
363
+ //# sourceMappingURL=ruvllm-wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ruvllm-wasm.js","sourceRoot":"","sources":["../../../src/ruvector/ruvllm-wasm.ts"],"names":[],"mappings":"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"}