kynjal-cli 4.0.0 → 4.0.2

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
@@ -0,0 +1,69 @@
1
+ /**
2
+ * RVFA Runner -- Boot and run self-contained Ruflo appliances.
3
+ *
4
+ * Supports three run modes (cli, mcp, verify) and two isolation
5
+ * strategies (native Node.js, container via Docker).
6
+ *
7
+ * @module @claude-flow/cli/appliance/rvfa-runner
8
+ */
9
+ import type { RvfaHeader } from './rvfa-format.js';
10
+ export interface RunOptions {
11
+ mode: 'cli' | 'mcp' | 'verify';
12
+ isolation: 'container' | 'native';
13
+ verbose?: boolean;
14
+ /** Passphrase for decrypting the API-key vault in the models section. */
15
+ passphrase?: string;
16
+ }
17
+ export interface RunResult {
18
+ exitCode: number;
19
+ stdout: string;
20
+ stderr: string;
21
+ /** Wall-clock duration in milliseconds. */
22
+ duration: number;
23
+ }
24
+ export declare class RvfaRunner {
25
+ private reader;
26
+ private header;
27
+ private constructor();
28
+ /** Read and parse an RVFA file from disk. Throws on invalid input. */
29
+ static fromFile(rvfaPath: string): Promise<RvfaRunner>;
30
+ /** Create a runner from an already-loaded buffer. */
31
+ static fromBuffer(buf: Buffer): RvfaRunner;
32
+ /**
33
+ * Boot the appliance: verify integrity, then dispatch to the
34
+ * requested isolation strategy and run mode.
35
+ */
36
+ boot(options: RunOptions): Promise<RunResult>;
37
+ /**
38
+ * Run natively via Node.js: extract RUFLO section to a temp dir,
39
+ * configure env vars, optionally decrypt API-key vault, and spawn.
40
+ */
41
+ runNative(options: RunOptions): Promise<RunResult>;
42
+ /**
43
+ * Run in a Docker container: generate a Dockerfile from the
44
+ * extracted sections, build the image, and run it.
45
+ */
46
+ runContainer(options: RunOptions): Promise<RunResult>;
47
+ /**
48
+ * Run the verification suite. Extracts the VERIFY section and
49
+ * executes it; falls back to a basic integrity report.
50
+ */
51
+ runVerify(options: RunOptions): Promise<RunResult>;
52
+ /** Return appliance metadata without booting. */
53
+ getInfo(): {
54
+ header: RvfaHeader;
55
+ sections: {
56
+ id: string;
57
+ size: number;
58
+ originalSize: number;
59
+ }[];
60
+ totalSize: number;
61
+ };
62
+ /**
63
+ * Decrypt an API-key vault (AES-256-GCM).
64
+ * Layout: [16-byte IV][ciphertext][16-byte auth-tag]
65
+ * Key derived via PBKDF2 with salt = "rvfa-vault-{name}".
66
+ */
67
+ private decryptVault;
68
+ }
69
+ //# sourceMappingURL=rvfa-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rvfa-runner.d.ts","sourceRoot":"","sources":["../../../src/appliance/rvfa-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,kBAAkB,CAAC;AAIhE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC/B,SAAS,EAAE,WAAW,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB;AA+CD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAa;IAE3B,OAAO;IAKP,sEAAsE;WACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5D,qDAAqD;IACrD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI1C;;;OAGG;IACG,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAWnD;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAsCxD;;;OAGG;IACG,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA2C3D;;;OAGG;IACG,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAkCxD,iDAAiD;IACjD,OAAO,IAAI;QACT,MAAM,EAAE,UAAU,CAAC;QACnB,QAAQ,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAC/D,SAAS,EAAE,MAAM,CAAC;KACnB;IAYD;;;;OAIG;YACW,YAAY;CAkB3B"}
@@ -6,62 +6,6 @@
6
6
  *
7
7
  * @module @claude-flow/cli/appliance/rvfa-runner
8
8
  */
9
- var __assign = (this && this.__assign) || function () {
10
- __assign = Object.assign || function(t) {
11
- for (var s, i = 1, n = arguments.length; i < n; i++) {
12
- s = arguments[i];
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
14
- t[p] = s[p];
15
- }
16
- return t;
17
- };
18
- return __assign.apply(this, arguments);
19
- };
20
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
21
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
22
- return new (P || (P = Promise))(function (resolve, reject) {
23
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
24
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
25
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
26
- step((generator = generator.apply(thisArg, _arguments || [])).next());
27
- });
28
- };
29
- var __generator = (this && this.__generator) || function (thisArg, body) {
30
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
31
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
32
- function verb(n) { return function (v) { return step([n, v]); }; }
33
- function step(op) {
34
- if (f) throw new TypeError("Generator is already executing.");
35
- while (_) try {
36
- 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;
37
- if (y = 0, t) op = [op[0] & 2, t.value];
38
- switch (op[0]) {
39
- case 0: case 1: t = op; break;
40
- case 4: _.label++; return { value: op[1], done: false };
41
- case 5: _.label++; y = op[1]; op = [0]; continue;
42
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
43
- default:
44
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
45
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
46
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
47
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
48
- if (t[2]) _.ops.pop();
49
- _.trys.pop(); continue;
50
- }
51
- op = body.call(thisArg, _);
52
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
53
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
54
- }
55
- };
56
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
57
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
58
- if (ar || !(i in from)) {
59
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
60
- ar[i] = from[i];
61
- }
62
- }
63
- return to.concat(ar || Array.prototype.slice.call(from));
64
- };
65
9
  import { writeFile, mkdir, rm } from 'node:fs/promises';
66
10
  import { join } from 'node:path';
67
11
  import { spawn } from 'node:child_process';
@@ -70,304 +14,224 @@ import { RvfaReader } from './rvfa-format.js';
70
14
  // ── Internal helpers ────────────────────────────────────────
71
15
  /** Spawn a child process and capture stdout/stderr. */
72
16
  function spawnAsync(cmd, args, opts) {
73
- return new Promise(function (resolve) {
74
- var start = performance.now();
75
- var out = [];
76
- var err = [];
77
- var child = spawn(cmd, args, {
78
- cwd: opts.cwd, env: __assign(__assign({}, process.env), opts.env), stdio: ['pipe', 'pipe', 'pipe']
17
+ return new Promise((resolve) => {
18
+ const start = performance.now();
19
+ const out = [];
20
+ const err = [];
21
+ const child = spawn(cmd, args, {
22
+ cwd: opts.cwd, env: { ...process.env, ...opts.env }, stdio: ['pipe', 'pipe', 'pipe'],
79
23
  });
80
- child.stdout.on('data', function (c) { out.push(c); if (opts.verbose)
24
+ child.stdout.on('data', (c) => { out.push(c); if (opts.verbose)
81
25
  process.stdout.write(c); });
82
- child.stderr.on('data', function (c) { err.push(c); if (opts.verbose)
26
+ child.stderr.on('data', (c) => { err.push(c); if (opts.verbose)
83
27
  process.stderr.write(c); });
84
- child.on('close', function (code) { return resolve({
85
- exitCode: code !== null && code !== void 0 ? code : 1, stdout: Buffer.concat(out).toString(), stderr: Buffer.concat(err).toString(),
86
- duration: performance.now() - start
87
- }); });
88
- child.on('error', function (e) { return resolve({
89
- exitCode: 1, stdout: '', stderr: e.message, duration: performance.now() - start
90
- }); });
28
+ child.on('close', (code) => resolve({
29
+ exitCode: code ?? 1, stdout: Buffer.concat(out).toString(), stderr: Buffer.concat(err).toString(),
30
+ duration: performance.now() - start,
31
+ }));
32
+ child.on('error', (e) => resolve({
33
+ exitCode: 1, stdout: '', stderr: e.message, duration: performance.now() - start,
34
+ }));
91
35
  });
92
36
  }
93
- var fail = function (stderr) { return ({ exitCode: 1, stdout: '', stderr: stderr, duration: 0 }); };
94
- var cleanup = function (dir) { return rm(dir, { recursive: true, force: true })["catch"](function () { }); };
37
+ const fail = (stderr) => ({ exitCode: 1, stdout: '', stderr, duration: 0 });
38
+ const cleanup = (dir) => rm(dir, { recursive: true, force: true }).catch(() => { });
95
39
  /** Check whether the reader has a section with the given id. */
96
40
  function hasSection(reader, id) {
97
- return reader.getSections().some(function (s) { return s.id === id; });
41
+ return reader.getSections().some((s) => s.id === id);
98
42
  }
99
43
  /** Safely extract a section, returning null if absent. */
100
44
  function tryExtract(reader, id) {
101
45
  try {
102
46
  return reader.extractSection(id);
103
47
  }
104
- catch (_a) {
48
+ catch {
105
49
  return null;
106
50
  }
107
51
  }
108
52
  // ── Runner ──────────────────────────────────────────────────
109
- var RvfaRunner = /** @class */ (function () {
110
- function RvfaRunner(reader) {
53
+ export class RvfaRunner {
54
+ reader;
55
+ header;
56
+ constructor(reader) {
111
57
  this.reader = reader;
112
58
  this.header = reader.getHeader();
113
59
  }
114
60
  /** Read and parse an RVFA file from disk. Throws on invalid input. */
115
- RvfaRunner.fromFile = function (rvfaPath) {
116
- return __awaiter(this, void 0, Promise, function () {
117
- var reader;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0: return [4 /*yield*/, RvfaReader.fromFile(rvfaPath)];
121
- case 1:
122
- reader = _a.sent();
123
- return [2 /*return*/, new RvfaRunner(reader)];
124
- }
125
- });
126
- });
127
- };
61
+ static async fromFile(rvfaPath) {
62
+ const reader = await RvfaReader.fromFile(rvfaPath);
63
+ return new RvfaRunner(reader);
64
+ }
128
65
  /** Create a runner from an already-loaded buffer. */
129
- RvfaRunner.fromBuffer = function (buf) {
66
+ static fromBuffer(buf) {
130
67
  return new RvfaRunner(RvfaReader.fromBuffer(buf));
131
- };
68
+ }
132
69
  /**
133
70
  * Boot the appliance: verify integrity, then dispatch to the
134
71
  * requested isolation strategy and run mode.
135
72
  */
136
- RvfaRunner.prototype.boot = function (options) {
137
- return __awaiter(this, void 0, Promise, function () {
138
- var _a, valid, errors;
139
- return __generator(this, function (_b) {
140
- _a = this.reader.verify(), valid = _a.valid, errors = _a.errors;
141
- if (!valid) {
142
- return [2 /*return*/, fail("Integrity check failed:\n" + errors.join('\n'))];
143
- }
144
- if (options.mode === 'verify')
145
- return [2 /*return*/, this.runVerify(options)];
146
- if (options.isolation === 'container')
147
- return [2 /*return*/, this.runContainer(options)];
148
- return [2 /*return*/, this.runNative(options)];
149
- });
150
- });
151
- };
73
+ async boot(options) {
74
+ const { valid, errors } = this.reader.verify();
75
+ if (!valid) {
76
+ return fail(`Integrity check failed:\n${errors.join('\n')}`);
77
+ }
78
+ if (options.mode === 'verify')
79
+ return this.runVerify(options);
80
+ if (options.isolation === 'container')
81
+ return this.runContainer(options);
82
+ return this.runNative(options);
83
+ }
152
84
  /**
153
85
  * Run natively via Node.js: extract RUFLO section to a temp dir,
154
86
  * configure env vars, optionally decrypt API-key vault, and spawn.
155
87
  */
156
- RvfaRunner.prototype.runNative = function (options) {
157
- return __awaiter(this, void 0, Promise, function () {
158
- var workDir, ruflo, entryFile, env, vault, keys, args;
159
- return __generator(this, function (_a) {
160
- switch (_a.label) {
161
- case 0:
162
- workDir = join(tmpdir(), "rvfa-" + this.header.name + "-" + Date.now());
163
- _a.label = 1;
164
- case 1:
165
- _a.trys.push([1, , 6, 8]);
166
- return [4 /*yield*/, mkdir(workDir, { recursive: true })];
167
- case 2:
168
- _a.sent();
169
- ruflo = tryExtract(this.reader, 'ruflo');
170
- if (!ruflo)
171
- return [2 /*return*/, fail('RVFA appliance does not contain a "ruflo" section')];
172
- entryFile = join(workDir, 'ruflo-bundle.js');
173
- return [4 /*yield*/, writeFile(entryFile, ruflo)];
174
- case 3:
175
- _a.sent();
176
- env = __assign(__assign({}, this.header.boot.env), { RVFA_APPLIANCE_NAME: this.header.name, RVFA_APPLIANCE_VERSION: this.header.appVersion, RVFA_RUN_MODE: options.mode, RVFA_PROFILE: this.header.profile });
177
- if (!(options.passphrase && this.header.models.provider !== 'ruvllm')) return [3 /*break*/, 5];
178
- vault = tryExtract(this.reader, 'models');
179
- if (!vault) return [3 /*break*/, 5];
180
- return [4 /*yield*/, this.decryptVault(vault, options.passphrase)];
181
- case 4:
182
- keys = _a.sent();
183
- if (keys)
184
- Object.assign(env, keys);
185
- _a.label = 5;
186
- case 5:
187
- args = __spreadArray([], this.header.boot.args, true);
188
- if (options.mode === 'mcp')
189
- args.push('--mcp', '--transport', 'stdio');
190
- return [2 /*return*/, spawnAsync(this.header.boot.entrypoint || 'node', __spreadArray([entryFile], args, true), {
191
- cwd: workDir,
192
- env: env,
193
- verbose: options.verbose
194
- })];
195
- case 6: return [4 /*yield*/, cleanup(workDir)];
196
- case 7:
197
- _a.sent();
198
- return [7 /*endfinally*/];
199
- case 8: return [2 /*return*/];
88
+ async runNative(options) {
89
+ const workDir = join(tmpdir(), `rvfa-${this.header.name}-${Date.now()}`);
90
+ try {
91
+ await mkdir(workDir, { recursive: true });
92
+ const ruflo = tryExtract(this.reader, 'ruflo');
93
+ if (!ruflo)
94
+ return fail('RVFA appliance does not contain a "ruflo" section');
95
+ const entryFile = join(workDir, 'ruflo-bundle.js');
96
+ await writeFile(entryFile, ruflo);
97
+ const env = {
98
+ ...this.header.boot.env,
99
+ RVFA_APPLIANCE_NAME: this.header.name,
100
+ RVFA_APPLIANCE_VERSION: this.header.appVersion,
101
+ RVFA_RUN_MODE: options.mode,
102
+ RVFA_PROFILE: this.header.profile,
103
+ };
104
+ if (options.passphrase && this.header.models.provider !== 'ruvllm') {
105
+ const vault = tryExtract(this.reader, 'models');
106
+ if (vault) {
107
+ const keys = await this.decryptVault(vault, options.passphrase);
108
+ if (keys)
109
+ Object.assign(env, keys);
200
110
  }
111
+ }
112
+ const args = [...this.header.boot.args];
113
+ if (options.mode === 'mcp')
114
+ args.push('--mcp', '--transport', 'stdio');
115
+ return spawnAsync(this.header.boot.entrypoint || 'node', [entryFile, ...args], {
116
+ cwd: workDir, env, verbose: options.verbose,
201
117
  });
202
- });
203
- };
118
+ }
119
+ finally {
120
+ await cleanup(workDir);
121
+ }
122
+ }
204
123
  /**
205
124
  * Run in a Docker container: generate a Dockerfile from the
206
125
  * extracted sections, build the image, and run it.
207
126
  */
208
- RvfaRunner.prototype.runContainer = function (options) {
209
- return __awaiter(this, void 0, Promise, function () {
210
- var dockerCheck, workDir, ruflo, data, envFlags, _i, _a, _b, k, v, baseImage, cmdArgs, dockerfile, imageName, build;
211
- return __generator(this, function (_c) {
212
- switch (_c.label) {
213
- case 0: return [4 /*yield*/, spawnAsync('docker', ['info'], { verbose: false })];
214
- case 1:
215
- dockerCheck = _c.sent();
216
- if (dockerCheck.exitCode !== 0) {
217
- return [2 /*return*/, fail('Docker is not available. Install Docker or use isolation: "native".')];
218
- }
219
- workDir = join(tmpdir(), "rvfa-container-" + Date.now());
220
- _c.label = 2;
221
- case 2:
222
- _c.trys.push([2, , 9, 11]);
223
- return [4 /*yield*/, mkdir(workDir, { recursive: true })];
224
- case 3:
225
- _c.sent();
226
- ruflo = tryExtract(this.reader, 'ruflo');
227
- if (!ruflo)
228
- return [2 /*return*/, fail('RVFA appliance does not contain a "ruflo" section')];
229
- return [4 /*yield*/, writeFile(join(workDir, 'ruflo-bundle.js'), ruflo)];
230
- case 4:
231
- _c.sent();
232
- data = tryExtract(this.reader, 'data');
233
- if (!data) return [3 /*break*/, 6];
234
- return [4 /*yield*/, writeFile(join(workDir, 'data.bin'), data)];
235
- case 5:
236
- _c.sent();
237
- _c.label = 6;
238
- case 6:
239
- envFlags = [];
240
- for (_i = 0, _a = Object.entries(this.header.boot.env); _i < _a.length; _i++) {
241
- _b = _a[_i], k = _b[0], v = _b[1];
242
- envFlags.push('-e', k + "=" + v);
243
- }
244
- envFlags.push('-e', "RVFA_RUN_MODE=" + options.mode, '-e', "RVFA_PROFILE=" + this.header.profile);
245
- baseImage = this.header.platform === 'alpine' ? 'node:20-alpine' : 'node:20-slim';
246
- cmdArgs = this.header.boot.args.map(function (a) { return ", \"" + a + "\""; }).join('');
247
- dockerfile = [
248
- "FROM " + baseImage,
249
- 'WORKDIR /app', 'COPY ruflo-bundle.js .',
250
- data ? 'COPY data.bin .' : '',
251
- "CMD [\"node\", \"ruflo-bundle.js\"" + cmdArgs + "]",
252
- ].filter(Boolean).join('\n');
253
- return [4 /*yield*/, writeFile(join(workDir, 'Dockerfile'), dockerfile)];
254
- case 7:
255
- _c.sent();
256
- imageName = ("rvfa-" + this.header.name + ":" + this.header.appVersion).toLowerCase();
257
- return [4 /*yield*/, spawnAsync('docker', ['build', '-t', imageName, '.'], {
258
- cwd: workDir, verbose: options.verbose
259
- })];
260
- case 8:
261
- build = _c.sent();
262
- if (build.exitCode !== 0) {
263
- return [2 /*return*/, __assign(__assign({}, build), { stderr: "Docker build failed:\n" + build.stderr })];
264
- }
265
- return [2 /*return*/, spawnAsync('docker', __spreadArray(__spreadArray(['run', '--rm'], envFlags, true), [imageName], false), { verbose: options.verbose })];
266
- case 9: return [4 /*yield*/, cleanup(workDir)];
267
- case 10:
268
- _c.sent();
269
- return [7 /*endfinally*/];
270
- case 11: return [2 /*return*/];
271
- }
127
+ async runContainer(options) {
128
+ const dockerCheck = await spawnAsync('docker', ['info'], { verbose: false });
129
+ if (dockerCheck.exitCode !== 0) {
130
+ return fail('Docker is not available. Install Docker or use isolation: "native".');
131
+ }
132
+ const workDir = join(tmpdir(), `rvfa-container-${Date.now()}`);
133
+ try {
134
+ await mkdir(workDir, { recursive: true });
135
+ const ruflo = tryExtract(this.reader, 'ruflo');
136
+ if (!ruflo)
137
+ return fail('RVFA appliance does not contain a "ruflo" section');
138
+ await writeFile(join(workDir, 'ruflo-bundle.js'), ruflo);
139
+ const data = tryExtract(this.reader, 'data');
140
+ if (data)
141
+ await writeFile(join(workDir, 'data.bin'), data);
142
+ const envFlags = [];
143
+ for (const [k, v] of Object.entries(this.header.boot.env))
144
+ envFlags.push('-e', `${k}=${v}`);
145
+ envFlags.push('-e', `RVFA_RUN_MODE=${options.mode}`, '-e', `RVFA_PROFILE=${this.header.profile}`);
146
+ const baseImage = this.header.platform === 'alpine' ? 'node:20-alpine' : 'node:20-slim';
147
+ const cmdArgs = this.header.boot.args.map((a) => `, "${a}"`).join('');
148
+ const dockerfile = [
149
+ `FROM ${baseImage}`, 'WORKDIR /app', 'COPY ruflo-bundle.js .',
150
+ data ? 'COPY data.bin .' : '', `CMD ["node", "ruflo-bundle.js"${cmdArgs}]`,
151
+ ].filter(Boolean).join('\n');
152
+ await writeFile(join(workDir, 'Dockerfile'), dockerfile);
153
+ const imageName = `rvfa-${this.header.name}:${this.header.appVersion}`.toLowerCase();
154
+ const build = await spawnAsync('docker', ['build', '-t', imageName, '.'], {
155
+ cwd: workDir, verbose: options.verbose,
272
156
  });
273
- });
274
- };
157
+ if (build.exitCode !== 0) {
158
+ return { ...build, stderr: `Docker build failed:\n${build.stderr}` };
159
+ }
160
+ return spawnAsync('docker', ['run', '--rm', ...envFlags, imageName], { verbose: options.verbose });
161
+ }
162
+ finally {
163
+ await cleanup(workDir);
164
+ }
165
+ }
275
166
  /**
276
167
  * Run the verification suite. Extracts the VERIFY section and
277
168
  * executes it; falls back to a basic integrity report.
278
169
  */
279
- RvfaRunner.prototype.runVerify = function (options) {
280
- return __awaiter(this, void 0, Promise, function () {
281
- var start, verifyPayload, _a, valid, errors, lines, workDir;
282
- return __generator(this, function (_b) {
283
- switch (_b.label) {
284
- case 0:
285
- start = performance.now();
286
- verifyPayload = tryExtract(this.reader, 'verify');
287
- if (!verifyPayload) {
288
- _a = this.reader.verify(), valid = _a.valid, errors = _a.errors;
289
- lines = __spreadArray(__spreadArray([
290
- "Appliance: " + this.header.name + " v" + this.header.appVersion,
291
- "Profile: " + this.header.profile,
292
- "Sections: " + this.header.sections.length,
293
- "Integrity: " + (valid ? 'PASS' : 'FAIL')
294
- ], errors.map(function (e) { return " FAIL: " + e; }), true), [
295
- errors.length === 0 ? ' All checks PASS' : '',
296
- ], false);
297
- return [2 /*return*/, {
298
- exitCode: valid ? 0 : 1,
299
- stdout: lines.filter(Boolean).join('\n'), stderr: '',
300
- duration: performance.now() - start
301
- }];
302
- }
303
- workDir = join(tmpdir(), "rvfa-verify-" + Date.now());
304
- _b.label = 1;
305
- case 1:
306
- _b.trys.push([1, , 4, 6]);
307
- return [4 /*yield*/, mkdir(workDir, { recursive: true })];
308
- case 2:
309
- _b.sent();
310
- return [4 /*yield*/, writeFile(join(workDir, 'verify.js'), verifyPayload)];
311
- case 3:
312
- _b.sent();
313
- return [2 /*return*/, spawnAsync('node', [join(workDir, 'verify.js')], {
314
- cwd: workDir, verbose: options.verbose,
315
- env: { RVFA_APPLIANCE_NAME: this.header.name, RVFA_APPLIANCE_VERSION: this.header.appVersion }
316
- })];
317
- case 4: return [4 /*yield*/, cleanup(workDir)];
318
- case 5:
319
- _b.sent();
320
- return [7 /*endfinally*/];
321
- case 6: return [2 /*return*/];
322
- }
170
+ async runVerify(options) {
171
+ const start = performance.now();
172
+ const verifyPayload = tryExtract(this.reader, 'verify');
173
+ if (!verifyPayload) {
174
+ const { valid, errors } = this.reader.verify();
175
+ const lines = [
176
+ `Appliance: ${this.header.name} v${this.header.appVersion}`,
177
+ `Profile: ${this.header.profile}`,
178
+ `Sections: ${this.header.sections.length}`,
179
+ `Integrity: ${valid ? 'PASS' : 'FAIL'}`,
180
+ ...errors.map((e) => ` FAIL: ${e}`),
181
+ errors.length === 0 ? ' All checks PASS' : '',
182
+ ];
183
+ return {
184
+ exitCode: valid ? 0 : 1,
185
+ stdout: lines.filter(Boolean).join('\n'), stderr: '',
186
+ duration: performance.now() - start,
187
+ };
188
+ }
189
+ const workDir = join(tmpdir(), `rvfa-verify-${Date.now()}`);
190
+ try {
191
+ await mkdir(workDir, { recursive: true });
192
+ await writeFile(join(workDir, 'verify.js'), verifyPayload);
193
+ return spawnAsync('node', [join(workDir, 'verify.js')], {
194
+ cwd: workDir, verbose: options.verbose,
195
+ env: { RVFA_APPLIANCE_NAME: this.header.name, RVFA_APPLIANCE_VERSION: this.header.appVersion },
323
196
  });
324
- });
325
- };
197
+ }
198
+ finally {
199
+ await cleanup(workDir);
200
+ }
201
+ }
326
202
  /** Return appliance metadata without booting. */
327
- RvfaRunner.prototype.getInfo = function () {
328
- var sections = this.reader.getSections();
329
- var totalSize = sections.reduce(function (sum, s) { return sum + s.size; }, 0);
203
+ getInfo() {
204
+ const sections = this.reader.getSections();
205
+ const totalSize = sections.reduce((sum, s) => sum + s.size, 0);
330
206
  return {
331
- header: __assign({}, this.header),
332
- sections: sections.map(function (s) { return ({ id: s.id, size: s.size, originalSize: s.originalSize }); }),
333
- totalSize: totalSize
207
+ header: { ...this.header },
208
+ sections: sections.map((s) => ({ id: s.id, size: s.size, originalSize: s.originalSize })),
209
+ totalSize,
334
210
  };
335
- };
211
+ }
336
212
  // ── Private ───────────────────────────────────────────────
337
213
  /**
338
214
  * Decrypt an API-key vault (AES-256-GCM).
339
215
  * Layout: [16-byte IV][ciphertext][16-byte auth-tag]
340
216
  * Key derived via PBKDF2 with salt = "rvfa-vault-{name}".
341
217
  */
342
- RvfaRunner.prototype.decryptVault = function (payload, passphrase) {
343
- return __awaiter(this, void 0, Promise, function () {
344
- var _a, createDecipheriv, pbkdf2Sync, iv, tag, ciphertext, key, decipher, dec, _b;
345
- return __generator(this, function (_c) {
346
- switch (_c.label) {
347
- case 0:
348
- _c.trys.push([0, 2, , 3]);
349
- return [4 /*yield*/, import('node:crypto')];
350
- case 1:
351
- _a = _c.sent(), createDecipheriv = _a.createDecipheriv, pbkdf2Sync = _a.pbkdf2Sync;
352
- if (payload.length < 33)
353
- return [2 /*return*/, null];
354
- iv = payload.subarray(0, 16);
355
- tag = payload.subarray(payload.length - 16);
356
- ciphertext = payload.subarray(16, payload.length - 16);
357
- key = pbkdf2Sync(passphrase, Buffer.from("rvfa-vault-" + this.header.name), 100000, 32, 'sha256');
358
- decipher = createDecipheriv('aes-256-gcm', key, iv);
359
- decipher.setAuthTag(tag);
360
- dec = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
361
- return [2 /*return*/, JSON.parse(dec.toString('utf-8'))];
362
- case 2:
363
- _b = _c.sent();
364
- return [2 /*return*/, null];
365
- case 3: return [2 /*return*/];
366
- }
367
- });
368
- });
369
- };
370
- return RvfaRunner;
371
- }());
372
- export { RvfaRunner };
218
+ async decryptVault(payload, passphrase) {
219
+ try {
220
+ const { createDecipheriv, pbkdf2Sync } = await import('node:crypto');
221
+ if (payload.length < 33)
222
+ return null;
223
+ const iv = payload.subarray(0, 16);
224
+ const tag = payload.subarray(payload.length - 16);
225
+ const ciphertext = payload.subarray(16, payload.length - 16);
226
+ const key = pbkdf2Sync(passphrase, Buffer.from(`rvfa-vault-${this.header.name}`), 100_000, 32, 'sha256');
227
+ const decipher = createDecipheriv('aes-256-gcm', key, iv);
228
+ decipher.setAuthTag(tag);
229
+ const dec = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
230
+ return JSON.parse(dec.toString('utf-8'));
231
+ }
232
+ catch {
233
+ return null;
234
+ }
235
+ }
236
+ }
373
237
  //# sourceMappingURL=rvfa-runner.js.map