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
@@ -4,212 +4,165 @@
4
4
  * Creates a single binary containing kernel, runtime, Ruflo CLI, models/keys,
5
5
  * AgentDB data, and the verification suite. See ADR-058.
6
6
  */
7
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9
- return new (P || (P = Promise))(function (resolve, reject) {
10
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
13
- step((generator = generator.apply(thisArg, _arguments || [])).next());
14
- });
15
- };
16
- var __generator = (this && this.__generator) || function (thisArg, body) {
17
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
18
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
19
- function verb(n) { return function (v) { return step([n, v]); }; }
20
- function step(op) {
21
- if (f) throw new TypeError("Generator is already executing.");
22
- while (_) try {
23
- 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;
24
- if (y = 0, t) op = [op[0] & 2, t.value];
25
- switch (op[0]) {
26
- case 0: case 1: t = op; break;
27
- case 4: _.label++; return { value: op[1], done: false };
28
- case 5: _.label++; y = op[1]; op = [0]; continue;
29
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
30
- default:
31
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
32
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
33
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
34
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
35
- if (t[2]) _.ops.pop();
36
- _.trys.pop(); continue;
37
- }
38
- op = body.call(thisArg, _);
39
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
40
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
41
- }
42
- };
43
7
  import { createHash, scryptSync, randomBytes, createCipheriv, createDecipheriv, } from 'node:crypto';
44
8
  import { readFileSync, existsSync, writeFileSync, mkdirSync } from 'node:fs';
45
9
  import { resolve, dirname } from 'node:path';
46
10
  import { execSync } from 'node:child_process';
47
11
  import { RvfaWriter, } from './rvfa-format.js';
48
12
  // ── Encryption Constants ─────────────────────────────────────
49
- var SCRYPT_KEY_LEN = 32;
50
- var SCRYPT_SALT_LEN = 32;
51
- var SCRYPT_OPTS = { N: 16384, r: 8, p: 1 };
52
- var AES_IV_LEN = 16;
53
- var AES_TAG_LEN = 16;
54
- var AES_ALG = 'aes-256-gcm';
13
+ const SCRYPT_KEY_LEN = 32;
14
+ const SCRYPT_SALT_LEN = 32;
15
+ const SCRYPT_OPTS = { N: 16384, r: 8, p: 1 };
16
+ const AES_IV_LEN = 16;
17
+ const AES_TAG_LEN = 16;
18
+ const AES_ALG = 'aes-256-gcm';
55
19
  // ── Catalog ──────────────────────────────────────────────────
56
- var RUFLO_COMMANDS = 'init agent swarm memory mcp task session config status start workflow hooks hive-mind daemon neural security performance providers plugins deployment embeddings claims migrate process doctor completions'.split(' ');
57
- var AGENT_TYPES = 'coder reviewer tester planner researcher security-architect security-auditor memory-specialist performance-engineer hierarchical-coordinator mesh-coordinator adaptive-coordinator collective-intelligence-coordinator swarm-memory-manager byzantine-coordinator raft-manager gossip-coordinator consensus-builder crdt-synchronizer quorum-manager security-manager perf-analyzer performance-benchmarker task-orchestrator memory-coordinator smart-agent github-modes pr-manager code-review-swarm issue-tracker release-manager workflow-automation project-board-sync repo-architect multi-repo-swarm sparc-coord sparc-coder specification pseudocode architecture refinement backend-dev mobile-dev ml-developer cicd-engineer api-docs system-architect code-analyzer base-template-generator tdd-london-swarm production-validator'.split(' ');
58
- var HOOK_TYPES = 'pre-edit post-edit pre-command post-command pre-task post-task session-start session-end session-restore notify route explain pretrain build-agents transfer teammate-idle task-completed'.split(' ');
59
- var WORKER_TYPES = 'ultralearn optimize consolidate predict audit map preload deepdive document refactor benchmark testgaps'.split(' ');
60
- var OFFLINE_MODELS = [
20
+ const RUFLO_COMMANDS = 'init agent swarm memory mcp task session config status start workflow hooks hive-mind daemon neural security performance providers plugins deployment embeddings claims migrate process doctor completions'.split(' ');
21
+ const AGENT_TYPES = 'coder reviewer tester planner researcher security-architect security-auditor memory-specialist performance-engineer hierarchical-coordinator mesh-coordinator adaptive-coordinator collective-intelligence-coordinator swarm-memory-manager byzantine-coordinator raft-manager gossip-coordinator consensus-builder crdt-synchronizer quorum-manager security-manager perf-analyzer performance-benchmarker task-orchestrator memory-coordinator smart-agent github-modes pr-manager code-review-swarm issue-tracker release-manager workflow-automation project-board-sync repo-architect multi-repo-swarm sparc-coord sparc-coder specification pseudocode architecture refinement backend-dev mobile-dev ml-developer cicd-engineer api-docs system-architect code-analyzer base-template-generator tdd-london-swarm production-validator'.split(' ');
22
+ const HOOK_TYPES = 'pre-edit post-edit pre-command post-command pre-task post-task session-start session-end session-restore notify route explain pretrain build-agents transfer teammate-idle task-completed'.split(' ');
23
+ const WORKER_TYPES = 'ultralearn optimize consolidate predict audit map preload deepdive document refactor benchmark testgaps'.split(' ');
24
+ const OFFLINE_MODELS = [
61
25
  { name: 'phi-3-mini-q4', format: 'gguf', sizeHint: '2.3GB', params: '3.8B' },
62
26
  { name: 'qwen2.5-coder-3b-q4', format: 'gguf', sizeHint: '1.7GB', params: '3B' },
63
27
  ];
64
28
  // ── API Key Encryption / Decryption ──────────────────────────
65
29
  /** Encrypt API keys from a .env file. Output: salt(32)+iv(16)+tag(16)+ciphertext */
66
30
  export function encryptApiKeys(envPath, passphrase) {
67
- var keys = parseEnvFile(readFileSync(envPath, 'utf-8'));
68
- var plaintext = Buffer.from(JSON.stringify(keys), 'utf-8');
69
- var salt = randomBytes(SCRYPT_SALT_LEN);
70
- var key = scryptSync(passphrase, salt, SCRYPT_KEY_LEN, SCRYPT_OPTS);
71
- var iv = randomBytes(AES_IV_LEN);
72
- var cipher = createCipheriv(AES_ALG, key, iv);
73
- var encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]);
31
+ const keys = parseEnvFile(readFileSync(envPath, 'utf-8'));
32
+ const plaintext = Buffer.from(JSON.stringify(keys), 'utf-8');
33
+ const salt = randomBytes(SCRYPT_SALT_LEN);
34
+ const key = scryptSync(passphrase, salt, SCRYPT_KEY_LEN, SCRYPT_OPTS);
35
+ const iv = randomBytes(AES_IV_LEN);
36
+ const cipher = createCipheriv(AES_ALG, key, iv);
37
+ const encrypted = Buffer.concat([cipher.update(plaintext), cipher.final()]);
74
38
  return Buffer.concat([salt, iv, cipher.getAuthTag(), encrypted]);
75
39
  }
76
40
  /** Decrypt API keys previously encrypted with encryptApiKeys. */
77
41
  export function decryptApiKeys(buf, passphrase) {
78
- var minLen = SCRYPT_SALT_LEN + AES_IV_LEN + AES_TAG_LEN + 1;
42
+ const minLen = SCRYPT_SALT_LEN + AES_IV_LEN + AES_TAG_LEN + 1;
79
43
  if (buf.length < minLen) {
80
- throw new Error("Encrypted buffer too short: need >= " + minLen + "B, got " + buf.length + "B");
44
+ throw new Error(`Encrypted buffer too short: need >= ${minLen}B, got ${buf.length}B`);
81
45
  }
82
- var off = 0;
83
- var salt = buf.subarray(off, off += SCRYPT_SALT_LEN);
84
- var iv = buf.subarray(off, off += AES_IV_LEN);
85
- var tag = buf.subarray(off, off += AES_TAG_LEN);
86
- var ciphertext = buf.subarray(off);
87
- var key = scryptSync(passphrase, salt, SCRYPT_KEY_LEN, SCRYPT_OPTS);
88
- var decipher = createDecipheriv(AES_ALG, key, iv);
46
+ let off = 0;
47
+ const salt = buf.subarray(off, off += SCRYPT_SALT_LEN);
48
+ const iv = buf.subarray(off, off += AES_IV_LEN);
49
+ const tag = buf.subarray(off, off += AES_TAG_LEN);
50
+ const ciphertext = buf.subarray(off);
51
+ const key = scryptSync(passphrase, salt, SCRYPT_KEY_LEN, SCRYPT_OPTS);
52
+ const decipher = createDecipheriv(AES_ALG, key, iv);
89
53
  decipher.setAuthTag(tag);
90
54
  return JSON.parse(Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString('utf-8'));
91
55
  }
92
- var RvfaBuilder = /** @class */ (function () {
93
- function RvfaBuilder(options) {
94
- var _a, _b, _c;
56
+ export class RvfaBuilder {
57
+ opts;
58
+ constructor(options) {
95
59
  this.opts = {
96
60
  arch: options.arch || 'x86_64',
97
61
  profile: options.profile,
98
62
  output: resolve(options.output),
99
63
  rufloVersion: options.rufloVersion || detectRufloVersion(),
100
- models: (_a = options.models) !== null && _a !== void 0 ? _a : defaultModelsForProfile(options.profile),
101
- apiKeys: (_b = options.apiKeys) !== null && _b !== void 0 ? _b : '',
102
- verbose: (_c = options.verbose) !== null && _c !== void 0 ? _c : false
64
+ models: options.models ?? defaultModelsForProfile(options.profile),
65
+ apiKeys: options.apiKeys ?? '',
66
+ verbose: options.verbose ?? false,
103
67
  };
104
68
  }
105
- RvfaBuilder.prototype.build = function () {
106
- return __awaiter(this, void 0, Promise, function () {
107
- var t0, outDir, stages, writer, summary, _i, stages_1, s, st, binary, hLen, hdr, _loop_1, _a, _b, sec, duration, _c, summary_1, s, r;
108
- return __generator(this, function (_d) {
109
- t0 = performance.now();
110
- this.log("Building RVFA appliance (profile=" + this.opts.profile + ", arch=" + this.opts.arch + ")");
111
- outDir = dirname(this.opts.output);
112
- if (!existsSync(outDir))
113
- mkdirSync(outDir, { recursive: true });
114
- stages = [
115
- { id: 'kernel', raw: this.buildKernelSection(), label: 'Kernel (Alpine rootfs)' },
116
- { id: 'runtime', raw: this.buildRuntimeSection(), label: 'Runtime (Node.js + Claude Code)' },
117
- { id: 'ruflo', raw: this.buildRufloSection(), label: 'Ruflo CLI' },
118
- { id: 'models', raw: this.buildModelsSection(), label: "Models (" + this.opts.profile + ")" },
119
- { id: 'data', raw: this.buildDataSection(), label: 'Data (AgentDB)' },
120
- { id: 'verify', raw: this.buildVerifySection(), label: 'Verify (test suite)' },
121
- ];
122
- writer = new RvfaWriter(this.buildHeaderPartial());
123
- summary = [];
124
- for (_i = 0, stages_1 = stages; _i < stages_1.length; _i++) {
125
- s = stages_1[_i];
126
- st = performance.now();
127
- this.log(" Stage: " + s.label + "...");
128
- writer.addSection(s.id, s.raw, { type: s.id });
129
- this.log(" " + fmtBytes(s.raw.length) + " raw (" + elapsed(st) + ")");
130
- summary.push({ id: s.id, size: 0, originalSize: s.raw.length });
131
- }
132
- binary = writer.build();
133
- // Patch compressed sizes from the built header
134
- try {
135
- hLen = binary.readUInt32LE(8);
136
- hdr = JSON.parse(binary.subarray(12, 12 + hLen).toString('utf-8'));
137
- _loop_1 = function (sec) {
138
- var e = summary.find(function (x) { return x.id === sec.id; });
139
- if (e)
140
- e.size = sec.size;
141
- };
142
- for (_a = 0, _b = hdr.sections; _a < _b.length; _a++) {
143
- sec = _b[_a];
144
- _loop_1(sec);
145
- }
146
- }
147
- catch ( /* non-fatal */_e) { /* non-fatal */ }
148
- writeFileSync(this.opts.output, binary);
149
- duration = performance.now() - t0;
150
- this.log('');
151
- this.log('RVFA appliance built successfully.');
152
- this.log(" Output: " + this.opts.output + " Size: " + fmtBytes(binary.length) + " Duration: " + elapsed(t0));
153
- for (_c = 0, summary_1 = summary; _c < summary_1.length; _c++) {
154
- s = summary_1[_c];
155
- r = s.originalSize > 0 && s.size > 0
156
- ? " (" + ((1 - s.size / s.originalSize) * 100).toFixed(1) + "% reduction)" : '';
157
- this.log(" " + s.id + ": " + fmtBytes(s.originalSize) + " -> " + fmtBytes(s.size) + r);
158
- }
159
- return [2 /*return*/, { outputPath: this.opts.output, size: binary.length, sections: summary, duration: duration, profile: this.opts.profile }];
160
- });
161
- });
162
- };
69
+ async build() {
70
+ const t0 = performance.now();
71
+ this.log(`Building RVFA appliance (profile=${this.opts.profile}, arch=${this.opts.arch})`);
72
+ const outDir = dirname(this.opts.output);
73
+ if (!existsSync(outDir))
74
+ mkdirSync(outDir, { recursive: true });
75
+ const stages = [
76
+ { id: 'kernel', raw: this.buildKernelSection(), label: 'Kernel (Alpine rootfs)' },
77
+ { id: 'runtime', raw: this.buildRuntimeSection(), label: 'Runtime (Node.js + Claude Code)' },
78
+ { id: 'ruflo', raw: this.buildRufloSection(), label: 'Ruflo CLI' },
79
+ { id: 'models', raw: this.buildModelsSection(), label: `Models (${this.opts.profile})` },
80
+ { id: 'data', raw: this.buildDataSection(), label: 'Data (AgentDB)' },
81
+ { id: 'verify', raw: this.buildVerifySection(), label: 'Verify (test suite)' },
82
+ ];
83
+ const writer = new RvfaWriter(this.buildHeaderPartial());
84
+ const summary = [];
85
+ for (const s of stages) {
86
+ const st = performance.now();
87
+ this.log(` Stage: ${s.label}...`);
88
+ writer.addSection(s.id, s.raw, { type: s.id });
89
+ this.log(` ${fmtBytes(s.raw.length)} raw (${elapsed(st)})`);
90
+ summary.push({ id: s.id, size: 0, originalSize: s.raw.length });
91
+ }
92
+ const binary = writer.build();
93
+ // Patch compressed sizes from the built header
94
+ try {
95
+ const hLen = binary.readUInt32LE(8);
96
+ const hdr = JSON.parse(binary.subarray(12, 12 + hLen).toString('utf-8'));
97
+ for (const sec of hdr.sections) {
98
+ const e = summary.find((x) => x.id === sec.id);
99
+ if (e)
100
+ e.size = sec.size;
101
+ }
102
+ }
103
+ catch { /* non-fatal */ }
104
+ writeFileSync(this.opts.output, binary);
105
+ const duration = performance.now() - t0;
106
+ this.log('');
107
+ this.log('RVFA appliance built successfully.');
108
+ this.log(` Output: ${this.opts.output} Size: ${fmtBytes(binary.length)} Duration: ${elapsed(t0)}`);
109
+ for (const s of summary) {
110
+ const r = s.originalSize > 0 && s.size > 0
111
+ ? ` (${((1 - s.size / s.originalSize) * 100).toFixed(1)}% reduction)` : '';
112
+ this.log(` ${s.id}: ${fmtBytes(s.originalSize)} -> ${fmtBytes(s.size)}${r}`);
113
+ }
114
+ return { outputPath: this.opts.output, size: binary.length, sections: summary, duration, profile: this.opts.profile };
115
+ }
163
116
  // ── Section Builders ─────────────────────────────────────
164
- RvfaBuilder.prototype.buildKernelSection = function () {
117
+ buildKernelSection() {
165
118
  return jsonBuf({
166
119
  type: 'kernel', distribution: 'alpine', version: '3.23', arch: this.opts.arch,
167
120
  packages: ['busybox', 'dumb-init', 'musl'],
168
121
  init: '/sbin/init -> ruflo-init (PID 1)',
169
122
  features: ['minimal rootfs', 'read-only root filesystem', 'tmpfs for /tmp and /run', 'seccomp profile applied'],
170
123
  sizeTarget: '~5MB compressed',
171
- note: 'Manifest-only: actual rootfs fetched during full build pipeline'
124
+ note: 'Manifest-only: actual rootfs fetched during full build pipeline',
172
125
  });
173
- };
174
- RvfaBuilder.prototype.buildRuntimeSection = function () {
175
- var nodeVersion = 'v22.0.0';
126
+ }
127
+ buildRuntimeSection() {
128
+ let nodeVersion = 'v22.0.0';
176
129
  try {
177
130
  nodeVersion = execSync('node --version', { encoding: 'utf-8' }).trim();
178
131
  }
179
- catch ( /* keep default */_a) { /* keep default */ }
132
+ catch { /* keep default */ }
180
133
  return jsonBuf({
181
134
  type: 'runtime',
182
- node: { version: nodeVersion, target: 'v22', variant: "linux-" + this.opts.arch + "-musl", stripped: true, excludes: ['npm', 'corepack', 'debug-symbols'] },
135
+ node: { version: nodeVersion, target: 'v22', variant: `linux-${this.opts.arch}-musl`, stripped: true, excludes: ['npm', 'corepack', 'debug-symbols'] },
183
136
  claudeCode: { name: 'claude-code-cli', entrypoint: '/usr/local/bin/claude' },
184
- paths: { node: '/usr/local/bin/node', claude: '/usr/local/bin/claude' }
137
+ paths: { node: '/usr/local/bin/node', claude: '/usr/local/bin/claude' },
185
138
  });
186
- };
187
- RvfaBuilder.prototype.buildRufloSection = function () {
188
- var packageMeta = null;
139
+ }
140
+ buildRufloSection() {
141
+ let packageMeta = null;
189
142
  try {
190
- var raw = execSync('npm pack ruflo@latest --dry-run --json 2>/dev/null', { encoding: 'utf-8', timeout: 15000 });
191
- var parsed = JSON.parse(raw);
143
+ const raw = execSync('npm pack ruflo@latest --dry-run --json 2>/dev/null', { encoding: 'utf-8', timeout: 15_000 });
144
+ const parsed = JSON.parse(raw);
192
145
  if (Array.isArray(parsed) && parsed.length > 0)
193
146
  packageMeta = parsed[0];
194
147
  }
195
- catch ( /* manifest-only fallback */_a) { /* manifest-only fallback */ }
148
+ catch { /* manifest-only fallback */ }
196
149
  return jsonBuf({
197
150
  type: 'ruflo', version: this.opts.rufloVersion,
198
- package: packageMeta !== null && packageMeta !== void 0 ? packageMeta : { name: 'ruflo', version: this.opts.rufloVersion },
151
+ package: packageMeta ?? { name: 'ruflo', version: this.opts.rufloVersion },
199
152
  commands: RUFLO_COMMANDS, commandCount: RUFLO_COMMANDS.length,
200
153
  agents: AGENT_TYPES, agentCount: AGENT_TYPES.length,
201
154
  hooks: { count: HOOK_TYPES.length, types: HOOK_TYPES },
202
155
  workers: { count: WORKER_TYPES.length, types: WORKER_TYPES },
203
- mcpTools: 215
156
+ mcpTools: 215,
204
157
  });
205
- };
206
- RvfaBuilder.prototype.buildModelsSection = function () {
207
- var p = this.opts.profile;
208
- var resolveModels = function (names) { return names.map(function (n) { var _a; return (_a = OFFLINE_MODELS.find(function (m) { return m.name === n; })) !== null && _a !== void 0 ? _a : { name: n, format: 'gguf', sizeHint: 'unknown', params: 'unknown' }; }); };
158
+ }
159
+ buildModelsSection() {
160
+ const p = this.opts.profile;
161
+ const resolveModels = (names) => names.map((n) => OFFLINE_MODELS.find((m) => m.name === n) ?? { name: n, format: 'gguf', sizeHint: 'unknown', params: 'unknown' });
209
162
  if (p === 'cloud') {
210
- var content = { type: 'models', profile: 'cloud', provider: 'api-vault', models: [] };
163
+ const content = { type: 'models', profile: 'cloud', provider: 'api-vault', models: [] };
211
164
  if (this.opts.apiKeys && existsSync(this.opts.apiKeys)) {
212
- var enc = encryptApiKeys(this.opts.apiKeys, generateBuildPassphrase());
165
+ const enc = encryptApiKeys(this.opts.apiKeys, generateBuildPassphrase());
213
166
  content.vault = { format: AES_ALG, kdf: 'scrypt', kdfParams: SCRYPT_OPTS, encrypted: enc.toString('base64') };
214
167
  this.log(' API keys encrypted into vault');
215
168
  }
@@ -220,55 +173,55 @@ var RvfaBuilder = /** @class */ (function () {
220
173
  return jsonBuf(content);
221
174
  }
222
175
  if (p === 'hybrid') {
223
- var content = {
176
+ const content = {
224
177
  type: 'models', profile: 'hybrid', provider: 'hybrid', engine: 'ruvllm+api-vault',
225
178
  localModels: resolveModels(this.opts.models),
226
- routing: { tier1: { handler: 'agent-booster', latency: '<1ms' }, tier2: { handler: 'local-model', latency: '~200ms' }, tier3: { handler: 'cloud-api', latency: '2-5s' }, complexityThreshold: 0.3 }
179
+ routing: { tier1: { handler: 'agent-booster', latency: '<1ms' }, tier2: { handler: 'local-model', latency: '~200ms' }, tier3: { handler: 'cloud-api', latency: '2-5s' }, complexityThreshold: 0.3 },
227
180
  };
228
181
  if (this.opts.apiKeys && existsSync(this.opts.apiKeys)) {
229
- var enc = encryptApiKeys(this.opts.apiKeys, generateBuildPassphrase());
182
+ const enc = encryptApiKeys(this.opts.apiKeys, generateBuildPassphrase());
230
183
  content.vault = { format: AES_ALG, kdf: 'scrypt', encrypted: enc.toString('base64') };
231
184
  this.log(' API keys encrypted into vault');
232
185
  }
233
186
  return jsonBuf(content);
234
187
  }
235
188
  // offline
236
- var names = this.opts.models.length > 0 ? this.opts.models : ['phi-3-mini-q4', 'qwen2.5-coder-3b-q4'];
189
+ const names = this.opts.models.length > 0 ? this.opts.models : ['phi-3-mini-q4', 'qwen2.5-coder-3b-q4'];
237
190
  return jsonBuf({
238
191
  type: 'models', profile: 'offline', provider: 'ruvllm', engine: 'ruvllm',
239
192
  models: resolveModels(names),
240
193
  routing: { tier1: { handler: 'agent-booster-wasm', latency: '<1ms' }, tier2: { handler: 'phi-3-mini-q4', latency: '~200ms' }, tier3: { handler: 'qwen2.5-coder-3b-q4', latency: '~2s' }, fallbackToCloud: false },
241
194
  kvCache: { backend: 'rvf', persistence: true },
242
- note: 'Manifest-only: GGUF weights fetched during full build pipeline'
195
+ note: 'Manifest-only: GGUF weights fetched during full build pipeline',
243
196
  });
244
- };
245
- RvfaBuilder.prototype.buildDataSection = function () {
197
+ }
198
+ buildDataSection() {
246
199
  // Empty RVF database header (matches rvf-backend.ts RVF\0 magic)
247
- var rvfMagic = Buffer.from([0x52, 0x56, 0x46, 0x00]);
248
- var hdrJson = Buffer.from(JSON.stringify({
200
+ const rvfMagic = Buffer.from([0x52, 0x56, 0x46, 0x00]);
201
+ const hdrJson = Buffer.from(JSON.stringify({
249
202
  magic: 'RVF\0', version: 1, dimensions: 1536, metric: 'cosine',
250
- quantization: 'fp32', entryCount: 0, createdAt: Date.now(), updatedAt: Date.now()
203
+ quantization: 'fp32', entryCount: 0, createdAt: Date.now(), updatedAt: Date.now(),
251
204
  }), 'utf-8');
252
- var hdrLen = Buffer.alloc(4);
205
+ const hdrLen = Buffer.alloc(4);
253
206
  hdrLen.writeUInt32LE(hdrJson.length, 0);
254
- var rvfDb = Buffer.concat([rvfMagic, hdrLen, hdrJson]);
255
- var manifest = jsonBuf({
207
+ const rvfDb = Buffer.concat([rvfMagic, hdrLen, hdrJson]);
208
+ const manifest = jsonBuf({
256
209
  type: 'data',
257
210
  components: {
258
211
  agentDb: { format: 'rvf', magicBytes: 'RVF\\0', databaseSize: rvfDb.length },
259
- hnswIndex: { type: 'hnsw-index', dimensions: 1536, metric: 'cosine', m: 16, efConstruction: 200, maxElements: 100000, vectorCount: 0 },
212
+ hnswIndex: { type: 'hnsw-index', dimensions: 1536, metric: 'cosine', m: 16, efConstruction: 200, maxElements: 100_000, vectorCount: 0 },
260
213
  sonaPatterns: { type: 'sona-patterns', version: 1, architecture: 'self-optimizing-neural', adaptationTime: '<0.05ms', patterns: [], expertCount: 8, moeConfig: { topK: 2, capacityFactor: 1.25, loadBalancingLoss: 0.01 } },
261
- pluginRegistry: { source: 'ipfs', snapshotted: true, pluginCount: 20 }
262
- }
214
+ pluginRegistry: { source: 'ipfs', snapshotted: true, pluginCount: 20 },
215
+ },
263
216
  });
264
217
  return Buffer.concat([rvfDb, Buffer.from('\n---DATA-MANIFEST---\n'), manifest]);
265
- };
266
- RvfaBuilder.prototype.buildVerifySection = function () {
267
- var scriptPath = resolve(dirname(new URL(import.meta.url).pathname), '../../../../scripts/verify-appliance.sh');
268
- var script;
218
+ }
219
+ buildVerifySection() {
220
+ const scriptPath = resolve(dirname(new URL(import.meta.url).pathname), '../../../../scripts/verify-appliance.sh');
221
+ let script;
269
222
  if (existsSync(scriptPath)) {
270
223
  script = readFileSync(scriptPath);
271
- this.log(" Bundled verify-appliance.sh (" + fmtBytes(script.length) + ")");
224
+ this.log(` Bundled verify-appliance.sh (${fmtBytes(script.length)})`);
272
225
  }
273
226
  else {
274
227
  script = Buffer.from([
@@ -280,66 +233,60 @@ var RvfaBuilder = /** @class */ (function () {
280
233
  ].join('\n'), 'utf-8');
281
234
  this.log(' Using stub verify script (verify-appliance.sh not found)');
282
235
  }
283
- var manifest = jsonBuf({
236
+ const manifest = jsonBuf({
284
237
  type: 'verify-manifest', categories: 35, criticalChecks: 95,
285
238
  script: 'verify-appliance.sh',
286
239
  scriptSha256: createHash('sha256').update(script).digest('hex'),
287
- quickMode: { categories: [1, 2, 3, 4, 5, 25] }
240
+ quickMode: { categories: [1, 2, 3, 4, 5, 25] },
288
241
  });
289
242
  return Buffer.concat([script, Buffer.from('\n---VERIFY-MANIFEST---\n'), manifest]);
290
- };
243
+ }
291
244
  // ── Header ───────────────────────────────────────────────
292
- RvfaBuilder.prototype.buildHeaderPartial = function () {
293
- var providerMap = { cloud: 'api-vault', hybrid: 'hybrid', offline: 'ruvllm' };
294
- var caps = ['cli-26-commands', 'agents-60-plus', 'hooks-17', 'workers-12', 'mcp-215-tools', 'agentdb-rvf', 'hnsw-search', 'sona-patterns', 'security-scanning', 'performance-profiling', 'hive-mind-consensus', 'plugin-registry'];
245
+ buildHeaderPartial() {
246
+ const providerMap = { cloud: 'api-vault', hybrid: 'hybrid', offline: 'ruvllm' };
247
+ const caps = ['cli-26-commands', 'agents-60-plus', 'hooks-17', 'workers-12', 'mcp-215-tools', 'agentdb-rvf', 'hnsw-search', 'sona-patterns', 'security-scanning', 'performance-profiling', 'hive-mind-consensus', 'plugin-registry'];
295
248
  if (this.opts.profile !== 'cloud')
296
249
  caps.push('local-inference-ruvllm');
297
250
  if (this.opts.profile !== 'offline')
298
251
  caps.push('cloud-api-vault');
299
- var boot = {
252
+ const boot = {
300
253
  entrypoint: '/opt/ruflo/bin/cli.js',
301
254
  args: ['--profile', this.opts.profile],
302
255
  env: { NODE_ENV: 'production', CLAUDE_FLOW_MEMORY_BACKEND: 'hybrid', CLAUDE_FLOW_LOG_LEVEL: 'info' },
303
- isolation: this.opts.profile === 'cloud' ? 'container' : 'native'
256
+ isolation: this.opts.profile === 'cloud' ? 'container' : 'native',
304
257
  };
305
- var models = {
258
+ const models = {
306
259
  provider: providerMap[this.opts.profile],
307
260
  engine: this.opts.profile === 'cloud' ? undefined : 'ruvllm-0.1.0',
308
261
  models: this.opts.models.length > 0 ? this.opts.models : undefined,
309
- vaultEncryption: this.opts.profile !== 'offline' ? 'aes-256-gcm' : undefined
262
+ vaultEncryption: this.opts.profile !== 'offline' ? 'aes-256-gcm' : undefined,
310
263
  };
311
264
  return {
312
265
  magic: 'RVFA', version: 1, name: 'ruflo-appliance', appVersion: this.opts.rufloVersion,
313
266
  arch: this.opts.arch, platform: 'linux', profile: this.opts.profile,
314
- created: new Date().toISOString(),
315
- boot: boot,
316
- models: models,
317
- capabilities: caps
267
+ created: new Date().toISOString(), boot, models, capabilities: caps,
318
268
  };
319
- };
320
- RvfaBuilder.prototype.log = function (msg) {
269
+ }
270
+ log(msg) {
321
271
  if (this.opts.verbose)
322
- console.log("[RvfaBuilder] " + msg);
323
- };
324
- return RvfaBuilder;
325
- }());
326
- export { RvfaBuilder };
272
+ console.log(`[RvfaBuilder] ${msg}`);
273
+ }
274
+ }
327
275
  // ── Helpers ──────────────────────────────────────────────────
328
276
  function jsonBuf(obj) {
329
277
  return Buffer.from(JSON.stringify(obj, null, 2), 'utf-8');
330
278
  }
331
279
  function parseEnvFile(content) {
332
- var result = {};
333
- for (var _i = 0, _a = content.split('\n'); _i < _a.length; _i++) {
334
- var line = _a[_i];
335
- var t = line.trim();
280
+ const result = {};
281
+ for (const line of content.split('\n')) {
282
+ const t = line.trim();
336
283
  if (!t || t.startsWith('#'))
337
284
  continue;
338
- var eq = t.indexOf('=');
285
+ const eq = t.indexOf('=');
339
286
  if (eq === -1)
340
287
  continue;
341
- var k = t.substring(0, eq).trim();
342
- var v = t.substring(eq + 1).trim();
288
+ const k = t.substring(0, eq).trim();
289
+ let v = t.substring(eq + 1).trim();
343
290
  if ((v.startsWith('"') && v.endsWith('"')) || (v.startsWith("'") && v.endsWith("'")))
344
291
  v = v.slice(1, -1);
345
292
  if (k)
@@ -348,13 +295,12 @@ function parseEnvFile(content) {
348
295
  return result;
349
296
  }
350
297
  function detectRufloVersion() {
351
- var _a;
352
298
  try {
353
- var p = resolve(dirname(new URL(import.meta.url).pathname), '../../package.json');
299
+ const p = resolve(dirname(new URL(import.meta.url).pathname), '../../package.json');
354
300
  if (existsSync(p))
355
- return (_a = JSON.parse(readFileSync(p, 'utf-8')).version) !== null && _a !== void 0 ? _a : '3.5.0';
301
+ return JSON.parse(readFileSync(p, 'utf-8')).version ?? '3.5.0';
356
302
  }
357
- catch ( /* ignore */_b) { /* ignore */ }
303
+ catch { /* ignore */ }
358
304
  return '3.5.0';
359
305
  }
360
306
  function defaultModelsForProfile(profile) {
@@ -369,15 +315,15 @@ function generateBuildPassphrase() {
369
315
  }
370
316
  function fmtBytes(b) {
371
317
  if (b < 1024)
372
- return b + "B";
318
+ return `${b}B`;
373
319
  if (b < 1048576)
374
- return (b / 1024).toFixed(1) + "KB";
320
+ return `${(b / 1024).toFixed(1)}KB`;
375
321
  if (b < 1073741824)
376
- return (b / 1048576).toFixed(1) + "MB";
377
- return (b / 1073741824).toFixed(2) + "GB";
322
+ return `${(b / 1048576).toFixed(1)}MB`;
323
+ return `${(b / 1073741824).toFixed(2)}GB`;
378
324
  }
379
325
  function elapsed(t) {
380
- var ms = performance.now() - t;
381
- return ms < 1000 ? ms.toFixed(0) + "ms" : (ms / 1000).toFixed(2) + "s";
326
+ const ms = performance.now() - t;
327
+ return ms < 1000 ? `${ms.toFixed(0)}ms` : `${(ms / 1000).toFixed(2)}s`;
382
328
  }
383
329
  //# sourceMappingURL=rvfa-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rvfa-builder.js","sourceRoot":"","sources":["../../../src/appliance/rvfa-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rvfa-builder.js","sourceRoot":"","sources":["../../../src/appliance/rvfa-builder.ts"],"names":[],"mappings":"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"}