kynjal-cli 3.1.3 → 4.0.0

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 (566) hide show
  1. package/.claude/agents/core/coder.md +1 -1
  2. package/.claude/agents/core/planner.md +2 -2
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/core/reviewer.md +1 -1
  5. package/.claude/agents/core/tester.md +1 -1
  6. package/.claude/agents/data/data-ml-model.md +4 -4
  7. package/.claude/agents/development/dev-backend-api.md +4 -4
  8. package/.claude/agents/documentation/docs-api-openapi.md +4 -4
  9. package/.claude/agents/github/code-review-swarm.md +2 -2
  10. package/.claude/agents/github/issue-tracker.md +2 -2
  11. package/.claude/agents/github/pr-manager.md +2 -2
  12. package/.claude/agents/github/release-manager.md +2 -2
  13. package/.claude/agents/github/workflow-automation.md +2 -2
  14. package/.claude/agents/sparc/architecture.md +3 -3
  15. package/.claude/agents/sparc/pseudocode.md +2 -2
  16. package/.claude/agents/sparc/refinement.md +3 -3
  17. package/.claude/agents/sparc/specification.md +2 -2
  18. package/.claude/agents/swarm/adaptive-coordinator.md +1 -1
  19. package/.claude/agents/swarm/hierarchical-coordinator.md +1 -1
  20. package/.claude/agents/swarm/mesh-coordinator.md +1 -1
  21. package/.claude/agents/templates/base-template-generator.md +25 -4
  22. package/.claude/agents/templates/sparc-coordinator.md +3 -3
  23. package/.claude/helpers/auto-commit.sh +1 -1
  24. package/.claude/helpers/auto-memory-hook.mjs +27 -9
  25. package/.claude/helpers/hook-handler.cjs +58 -18
  26. package/.claude/helpers/statusline.cjs +14 -33
  27. package/.claude/helpers/statusline.js +3 -3
  28. package/.claude/settings.json +9 -9
  29. package/.claude/skills/reasoningbank-intelligence/SKILL.md +2 -2
  30. package/.claude/skills/swarm-orchestration/SKILL.md +1 -1
  31. package/README.md +383 -170
  32. package/bin/cli.js +6 -6
  33. package/bin/mcp-server.js +1 -1
  34. package/bin/preinstall.cjs +2 -0
  35. package/dist/src/appliance/gguf-engine.js +664 -0
  36. package/dist/src/appliance/gguf-engine.js.map +1 -0
  37. package/dist/src/appliance/ruvllm-bridge.js +492 -0
  38. package/dist/src/appliance/ruvllm-bridge.js.map +1 -0
  39. package/dist/src/appliance/rvfa-builder.js +383 -0
  40. package/dist/src/appliance/rvfa-builder.js.map +1 -0
  41. package/dist/src/appliance/rvfa-distribution.js +533 -0
  42. package/dist/src/appliance/rvfa-distribution.js.map +1 -0
  43. package/dist/src/appliance/rvfa-format.js +465 -0
  44. package/dist/src/appliance/rvfa-format.js.map +1 -0
  45. package/dist/src/appliance/rvfa-runner.js +373 -0
  46. package/dist/src/appliance/rvfa-runner.js.map +1 -0
  47. package/dist/src/appliance/rvfa-signing.js +469 -0
  48. package/dist/src/appliance/rvfa-signing.js.map +1 -0
  49. package/dist/src/benchmarks/pretrain/index.js +542 -331
  50. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  51. package/dist/src/commands/agent.d.ts.map +1 -1
  52. package/dist/src/commands/agent.js +725 -502
  53. package/dist/src/commands/agent.js.map +1 -1
  54. package/dist/src/commands/analyze.js +1548 -1218
  55. package/dist/src/commands/analyze.js.map +1 -1
  56. package/dist/src/commands/appliance-advanced.d.ts +9 -0
  57. package/dist/src/commands/appliance-advanced.d.ts.map +1 -0
  58. package/dist/src/commands/appliance-advanced.js +324 -0
  59. package/dist/src/commands/appliance-advanced.js.map +1 -0
  60. package/dist/src/commands/appliance.d.ts +8 -0
  61. package/dist/src/commands/appliance.d.ts.map +1 -0
  62. package/dist/src/commands/appliance.js +581 -0
  63. package/dist/src/commands/appliance.js.map +1 -0
  64. package/dist/src/commands/benchmark.js +523 -372
  65. package/dist/src/commands/benchmark.js.map +1 -1
  66. package/dist/src/commands/claims.js +364 -274
  67. package/dist/src/commands/claims.js.map +1 -1
  68. package/dist/src/commands/cleanup.d.ts +13 -0
  69. package/dist/src/commands/cleanup.d.ts.map +1 -0
  70. package/dist/src/commands/cleanup.js +262 -0
  71. package/dist/src/commands/cleanup.js.map +1 -0
  72. package/dist/src/commands/completions.js +118 -477
  73. package/dist/src/commands/completions.js.map +1 -1
  74. package/dist/src/commands/config.js +303 -237
  75. package/dist/src/commands/config.js.map +1 -1
  76. package/dist/src/commands/daemon.d.ts.map +1 -1
  77. package/dist/src/commands/daemon.js +597 -425
  78. package/dist/src/commands/daemon.js.map +1 -1
  79. package/dist/src/commands/deployment.js +275 -194
  80. package/dist/src/commands/deployment.js.map +1 -1
  81. package/dist/src/commands/doctor.d.ts.map +1 -1
  82. package/dist/src/commands/doctor.js +690 -460
  83. package/dist/src/commands/doctor.js.map +1 -1
  84. package/dist/src/commands/embeddings.js +1543 -1293
  85. package/dist/src/commands/embeddings.js.map +1 -1
  86. package/dist/src/commands/guidance.js +596 -449
  87. package/dist/src/commands/guidance.js.map +1 -1
  88. package/dist/src/commands/hive-mind.js +938 -854
  89. package/dist/src/commands/hive-mind.js.map +1 -1
  90. package/dist/src/commands/hooks.d.ts.map +1 -1
  91. package/dist/src/commands/hooks.js +3677 -2570
  92. package/dist/src/commands/hooks.js.map +1 -1
  93. package/dist/src/commands/index.js +322 -122
  94. package/dist/src/commands/index.js.map +1 -1
  95. package/dist/src/commands/init.d.ts +1 -1
  96. package/dist/src/commands/init.d.ts.map +1 -1
  97. package/dist/src/commands/init.js +943 -787
  98. package/dist/src/commands/init.js.map +1 -1
  99. package/dist/src/commands/issues.js +558 -383
  100. package/dist/src/commands/issues.js.map +1 -1
  101. package/dist/src/commands/mcp.d.ts.map +1 -1
  102. package/dist/src/commands/mcp.js +605 -475
  103. package/dist/src/commands/mcp.js.map +1 -1
  104. package/dist/src/commands/memory.d.ts.map +1 -1
  105. package/dist/src/commands/memory.js +1031 -814
  106. package/dist/src/commands/memory.js.map +1 -1
  107. package/dist/src/commands/migrate.js +347 -282
  108. package/dist/src/commands/migrate.js.map +1 -1
  109. package/dist/src/commands/neural.d.ts.map +1 -1
  110. package/dist/src/commands/neural.js +1563 -1283
  111. package/dist/src/commands/neural.js.map +1 -1
  112. package/dist/src/commands/performance.js +643 -497
  113. package/dist/src/commands/performance.js.map +1 -1
  114. package/dist/src/commands/plugins.js +841 -668
  115. package/dist/src/commands/plugins.js.map +1 -1
  116. package/dist/src/commands/process.js +447 -392
  117. package/dist/src/commands/process.js.map +1 -1
  118. package/dist/src/commands/progress.js +256 -162
  119. package/dist/src/commands/progress.js.map +1 -1
  120. package/dist/src/commands/providers.js +220 -150
  121. package/dist/src/commands/providers.js.map +1 -1
  122. package/dist/src/commands/route.js +665 -520
  123. package/dist/src/commands/route.js.map +1 -1
  124. package/dist/src/commands/ruvector/backup.js +651 -505
  125. package/dist/src/commands/ruvector/backup.js.map +1 -1
  126. package/dist/src/commands/ruvector/benchmark.js +401 -349
  127. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  128. package/dist/src/commands/ruvector/import.js +267 -225
  129. package/dist/src/commands/ruvector/import.js.map +1 -1
  130. package/dist/src/commands/ruvector/index.js +75 -37
  131. package/dist/src/commands/ruvector/index.js.map +1 -1
  132. package/dist/src/commands/ruvector/init.js +359 -336
  133. package/dist/src/commands/ruvector/init.js.map +1 -1
  134. package/dist/src/commands/ruvector/migrate.js +322 -335
  135. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  136. package/dist/src/commands/ruvector/optimize.js +431 -375
  137. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  138. package/dist/src/commands/ruvector/setup.js +117 -703
  139. package/dist/src/commands/ruvector/setup.js.map +1 -1
  140. package/dist/src/commands/ruvector/status.js +419 -364
  141. package/dist/src/commands/ruvector/status.js.map +1 -1
  142. package/dist/src/commands/security.d.ts.map +1 -1
  143. package/dist/src/commands/security.js +610 -456
  144. package/dist/src/commands/security.js.map +1 -1
  145. package/dist/src/commands/session.d.ts +1 -1
  146. package/dist/src/commands/session.js +627 -505
  147. package/dist/src/commands/session.js.map +1 -1
  148. package/dist/src/commands/start.d.ts +1 -1
  149. package/dist/src/commands/start.js +368 -271
  150. package/dist/src/commands/start.js.map +1 -1
  151. package/dist/src/commands/status.d.ts +1 -1
  152. package/dist/src/commands/status.d.ts.map +1 -1
  153. package/dist/src/commands/status.js +492 -379
  154. package/dist/src/commands/status.js.map +1 -1
  155. package/dist/src/commands/swarm.js +488 -408
  156. package/dist/src/commands/swarm.js.map +1 -1
  157. package/dist/src/commands/task.d.ts +1 -1
  158. package/dist/src/commands/task.js +539 -424
  159. package/dist/src/commands/task.js.map +1 -1
  160. package/dist/src/commands/transfer-store.js +412 -322
  161. package/dist/src/commands/transfer-store.js.map +1 -1
  162. package/dist/src/commands/update.js +291 -196
  163. package/dist/src/commands/update.js.map +1 -1
  164. package/dist/src/commands/workflow.js +486 -386
  165. package/dist/src/commands/workflow.js.map +1 -1
  166. package/dist/src/config-adapter.js +40 -39
  167. package/dist/src/config-adapter.js.map +1 -1
  168. package/dist/src/index.js +416 -312
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/infrastructure/in-memory-repositories.js +507 -246
  171. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  172. package/dist/src/init/claudemd-generator.js +78 -368
  173. package/dist/src/init/claudemd-generator.js.map +1 -1
  174. package/dist/src/init/executor.js +1019 -1345
  175. package/dist/src/init/executor.js.map +1 -1
  176. package/dist/src/init/helpers-generator.js +60 -635
  177. package/dist/src/init/helpers-generator.js.map +1 -1
  178. package/dist/src/init/index.d.ts +1 -1
  179. package/dist/src/init/index.d.ts.map +1 -1
  180. package/dist/src/init/index.js +1 -1
  181. package/dist/src/init/index.js.map +1 -1
  182. package/dist/src/init/mcp-generator.d.ts +0 -1
  183. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  184. package/dist/src/init/mcp-generator.js +62 -42
  185. package/dist/src/init/mcp-generator.js.map +1 -1
  186. package/dist/src/init/settings-generator.d.ts.map +1 -1
  187. package/dist/src/init/settings-generator.js +167 -100
  188. package/dist/src/init/settings-generator.js.map +1 -1
  189. package/dist/src/init/statusline-generator.d.ts +16 -8
  190. package/dist/src/init/statusline-generator.d.ts.map +1 -1
  191. package/dist/src/init/statusline-generator.js +20 -1300
  192. package/dist/src/init/statusline-generator.js.map +1 -1
  193. package/dist/src/init/types.d.ts +15 -5
  194. package/dist/src/init/types.d.ts.map +1 -1
  195. package/dist/src/init/types.js +66 -76
  196. package/dist/src/init/types.js.map +1 -1
  197. package/dist/src/mcp-client.js +130 -76
  198. package/dist/src/mcp-client.js.map +1 -1
  199. package/dist/src/mcp-server.js +758 -445
  200. package/dist/src/mcp-server.js.map +1 -1
  201. package/dist/src/mcp-tools/agent-tools.js +492 -391
  202. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/agentdb-tools.d.ts +30 -0
  204. package/dist/src/mcp-tools/agentdb-tools.d.ts.map +1 -0
  205. package/dist/src/mcp-tools/agentdb-tools.js +758 -0
  206. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -0
  207. package/dist/src/mcp-tools/analyze-tools.js +236 -172
  208. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/auto-install.js +142 -80
  210. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  211. package/dist/src/mcp-tools/browser-tools.js +375 -252
  212. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/claims-tools.js +565 -473
  214. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/config-tools.d.ts.map +1 -1
  216. package/dist/src/mcp-tools/config-tools.js +284 -190
  217. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  218. package/dist/src/mcp-tools/coordination-tools.d.ts.map +1 -1
  219. package/dist/src/mcp-tools/coordination-tools.js +600 -349
  220. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/daa-tools.js +367 -289
  222. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/embeddings-tools.js +693 -582
  224. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/github-tools.js +312 -261
  226. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +1 -1
  228. package/dist/src/mcp-tools/hive-mind-tools.js +718 -423
  229. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  230. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  231. package/dist/src/mcp-tools/hooks-tools.js +2726 -1978
  232. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  233. package/dist/src/mcp-tools/index.d.ts +2 -0
  234. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  235. package/dist/src/mcp-tools/index.js +2 -0
  236. package/dist/src/mcp-tools/index.js.map +1 -1
  237. package/dist/src/mcp-tools/memory-tools.d.ts.map +1 -1
  238. package/dist/src/mcp-tools/memory-tools.js +514 -329
  239. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  240. package/dist/src/mcp-tools/neural-tools.d.ts.map +1 -1
  241. package/dist/src/mcp-tools/neural-tools.js +428 -326
  242. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  243. package/dist/src/mcp-tools/performance-tools.js +480 -420
  244. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  245. package/dist/src/mcp-tools/progress-tools.js +278 -204
  246. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  247. package/dist/src/mcp-tools/ruvllm-tools.d.ts +9 -0
  248. package/dist/src/mcp-tools/ruvllm-tools.d.ts.map +1 -0
  249. package/dist/src/mcp-tools/ruvllm-tools.js +399 -0
  250. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -0
  251. package/dist/src/mcp-tools/security-tools.js +429 -297
  252. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  253. package/dist/src/mcp-tools/session-tools.js +234 -185
  254. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  255. package/dist/src/mcp-tools/swarm-tools.d.ts +2 -1
  256. package/dist/src/mcp-tools/swarm-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/swarm-tools.js +303 -64
  258. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  260. package/dist/src/mcp-tools/system-tools.js +352 -200
  261. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  262. package/dist/src/mcp-tools/task-tools.d.ts.map +1 -1
  263. package/dist/src/mcp-tools/task-tools.js +357 -189
  264. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  265. package/dist/src/mcp-tools/terminal-tools.js +196 -148
  266. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  267. package/dist/src/mcp-tools/transfer-tools.js +333 -186
  268. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  269. package/dist/src/mcp-tools/wasm-agent-tools.d.ts +9 -0
  270. package/dist/src/mcp-tools/wasm-agent-tools.d.ts.map +1 -0
  271. package/dist/src/mcp-tools/wasm-agent-tools.js +377 -0
  272. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -0
  273. package/dist/src/mcp-tools/workflow-tools.d.ts.map +1 -1
  274. package/dist/src/mcp-tools/workflow-tools.js +471 -335
  275. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  276. package/dist/src/memory/ewc-consolidation.js +345 -173
  277. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  278. package/dist/src/memory/intelligence.js +841 -359
  279. package/dist/src/memory/intelligence.js.map +1 -1
  280. package/dist/src/memory/memory-bridge.js +1964 -0
  281. package/dist/src/memory/memory-bridge.js.map +1 -0
  282. package/dist/src/memory/memory-initializer.js +1895 -1602
  283. package/dist/src/memory/memory-initializer.js.map +1 -1
  284. package/dist/src/memory/sona-optimizer.js +329 -199
  285. package/dist/src/memory/sona-optimizer.js.map +1 -1
  286. package/dist/src/output.d.ts +2 -2
  287. package/dist/src/output.d.ts.map +1 -1
  288. package/dist/src/output.js +273 -242
  289. package/dist/src/output.js.map +1 -1
  290. package/dist/src/parser.js +217 -124
  291. package/dist/src/parser.js.map +1 -1
  292. package/dist/src/plugins/manager.js +531 -278
  293. package/dist/src/plugins/manager.js.map +1 -1
  294. package/dist/src/plugins/store/discovery.js +362 -275
  295. package/dist/src/plugins/store/discovery.js.map +1 -1
  296. package/dist/src/plugins/store/index.js +105 -48
  297. package/dist/src/plugins/store/index.js.map +1 -1
  298. package/dist/src/plugins/store/search.js +107 -69
  299. package/dist/src/plugins/store/search.js.map +1 -1
  300. package/dist/src/plugins/tests/demo-plugin-store.js +160 -113
  301. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  302. package/dist/src/plugins/tests/standalone-test.js +223 -172
  303. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  304. package/dist/src/plugins/tests/test-plugin-store.js +228 -190
  305. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  306. package/dist/src/production/circuit-breaker.js +126 -62
  307. package/dist/src/production/circuit-breaker.js.map +1 -1
  308. package/dist/src/production/error-handler.js +156 -86
  309. package/dist/src/production/error-handler.js.map +1 -1
  310. package/dist/src/production/monitoring.js +220 -139
  311. package/dist/src/production/monitoring.js.map +1 -1
  312. package/dist/src/production/rate-limiter.js +93 -74
  313. package/dist/src/production/rate-limiter.js.map +1 -1
  314. package/dist/src/production/retry.js +167 -75
  315. package/dist/src/production/retry.js.map +1 -1
  316. package/dist/src/prompt.js +560 -436
  317. package/dist/src/prompt.js.map +1 -1
  318. package/dist/src/runtime/headless.js +289 -200
  319. package/dist/src/runtime/headless.js.map +1 -1
  320. package/dist/src/ruvector/agent-wasm.js +511 -0
  321. package/dist/src/ruvector/agent-wasm.js.map +1 -0
  322. package/dist/src/ruvector/ast-analyzer.js +232 -145
  323. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  324. package/dist/src/ruvector/coverage-router.js +419 -287
  325. package/dist/src/ruvector/coverage-router.js.map +1 -1
  326. package/dist/src/ruvector/coverage-tools.js +101 -56
  327. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  328. package/dist/src/ruvector/diff-classifier.js +451 -324
  329. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  330. package/dist/src/ruvector/enhanced-model-router.js +337 -251
  331. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  332. package/dist/src/ruvector/flash-attention.js +254 -223
  333. package/dist/src/ruvector/flash-attention.js.map +1 -1
  334. package/dist/src/ruvector/graph-analyzer.js +680 -486
  335. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  336. package/dist/src/ruvector/index.js +113 -27
  337. package/dist/src/ruvector/index.js.map +1 -1
  338. package/dist/src/ruvector/lora-adapter.js +248 -155
  339. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  340. package/dist/src/ruvector/model-router.js +248 -175
  341. package/dist/src/ruvector/model-router.js.map +1 -1
  342. package/dist/src/ruvector/moe-router.js +286 -228
  343. package/dist/src/ruvector/moe-router.js.map +1 -1
  344. package/dist/src/ruvector/q-learning-router.js +338 -257
  345. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  346. package/dist/src/ruvector/ruvllm-wasm.js +527 -0
  347. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -0
  348. package/dist/src/ruvector/semantic-router.js +67 -60
  349. package/dist/src/ruvector/semantic-router.js.map +1 -1
  350. package/dist/src/ruvector/vector-db.js +205 -119
  351. package/dist/src/ruvector/vector-db.js.map +1 -1
  352. package/dist/src/services/agentic-flow-bridge.js +168 -0
  353. package/dist/src/services/agentic-flow-bridge.js.map +1 -0
  354. package/dist/src/services/claim-service.js +940 -615
  355. package/dist/src/services/claim-service.js.map +1 -1
  356. package/dist/src/services/container-worker-pool.js +669 -399
  357. package/dist/src/services/container-worker-pool.js.map +1 -1
  358. package/dist/src/services/headless-worker-executor.js +467 -441
  359. package/dist/src/services/headless-worker-executor.js.map +1 -1
  360. package/dist/src/services/index.d.ts +5 -5
  361. package/dist/src/services/index.d.ts.map +1 -1
  362. package/dist/src/services/index.js +4 -4
  363. package/dist/src/services/index.js.map +1 -1
  364. package/dist/src/services/registry-api.js +201 -93
  365. package/dist/src/services/registry-api.js.map +1 -1
  366. package/dist/src/services/ruvector-training.js +414 -144
  367. package/dist/src/services/ruvector-training.js.map +1 -1
  368. package/dist/src/services/worker-daemon.js +928 -531
  369. package/dist/src/services/worker-daemon.js.map +1 -1
  370. package/dist/src/services/worker-queue.js +550 -331
  371. package/dist/src/services/worker-queue.js.map +1 -1
  372. package/dist/src/suggest.js +55 -45
  373. package/dist/src/suggest.js.map +1 -1
  374. package/dist/src/transfer/anonymization/index.js +37 -29
  375. package/dist/src/transfer/anonymization/index.js.map +1 -1
  376. package/dist/src/transfer/deploy-seraphine.d.ts +1 -1
  377. package/dist/src/transfer/deploy-seraphine.js +156 -129
  378. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  379. package/dist/src/transfer/export.js +142 -84
  380. package/dist/src/transfer/export.js.map +1 -1
  381. package/dist/src/transfer/index.d.ts +1 -1
  382. package/dist/src/transfer/index.d.ts.map +1 -1
  383. package/dist/src/transfer/index.js +2 -0
  384. package/dist/src/transfer/index.js.map +1 -1
  385. package/dist/src/transfer/ipfs/client.js +337 -179
  386. package/dist/src/transfer/ipfs/client.js.map +1 -1
  387. package/dist/src/transfer/ipfs/upload.js +434 -290
  388. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  389. package/dist/src/transfer/models/seraphine.js +58 -58
  390. package/dist/src/transfer/models/seraphine.js.map +1 -1
  391. package/dist/src/transfer/serialization/cfp.js +37 -33
  392. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  393. package/dist/src/transfer/storage/gcs.js +248 -139
  394. package/dist/src/transfer/storage/gcs.js.map +1 -1
  395. package/dist/src/transfer/store/discovery.js +353 -243
  396. package/dist/src/transfer/store/discovery.js.map +1 -1
  397. package/dist/src/transfer/store/download.js +365 -243
  398. package/dist/src/transfer/store/download.js.map +1 -1
  399. package/dist/src/transfer/store/index.js +130 -63
  400. package/dist/src/transfer/store/index.js.map +1 -1
  401. package/dist/src/transfer/store/publish.js +258 -184
  402. package/dist/src/transfer/store/publish.js.map +1 -1
  403. package/dist/src/transfer/store/registry.js +73 -51
  404. package/dist/src/transfer/store/registry.js.map +1 -1
  405. package/dist/src/transfer/store/search.js +96 -64
  406. package/dist/src/transfer/store/search.js.map +1 -1
  407. package/dist/src/transfer/store/tests/standalone-test.js +231 -174
  408. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  409. package/dist/src/transfer/test-seraphine.js +130 -95
  410. package/dist/src/transfer/test-seraphine.js.map +1 -1
  411. package/dist/src/transfer/tests/test-store.js +239 -194
  412. package/dist/src/transfer/tests/test-store.js.map +1 -1
  413. package/dist/src/types.js +56 -27
  414. package/dist/src/types.js.map +1 -1
  415. package/dist/src/update/checker.js +183 -106
  416. package/dist/src/update/checker.js.map +1 -1
  417. package/dist/src/update/executor.js +198 -135
  418. package/dist/src/update/executor.js.map +1 -1
  419. package/dist/src/update/index.js +85 -38
  420. package/dist/src/update/index.js.map +1 -1
  421. package/dist/src/update/rate-limiter.js +31 -19
  422. package/dist/src/update/rate-limiter.js.map +1 -1
  423. package/dist/src/update/validator.js +64 -38
  424. package/dist/src/update/validator.js.map +1 -1
  425. package/dist/tsconfig.tsbuildinfo +1 -1
  426. package/package.json +13 -10
  427. package/.claude/agents/custom/accessibility-auditor.yaml +0 -56
  428. package/.claude/agents/custom/design-architect.yaml +0 -48
  429. package/.claude/agents/custom/ui-developer.yaml +0 -46
  430. package/.claude/agents/custom/ux-researcher.yaml +0 -60
  431. package/dist/src/benchmarks/pretrain/index.d.ts +0 -58
  432. package/dist/src/benchmarks/pretrain/index.d.ts.map +0 -1
  433. package/dist/src/commands/index.d.ts +0 -108
  434. package/dist/src/commands/index.d.ts.map +0 -1
  435. package/dist/src/config-adapter.d.ts +0 -15
  436. package/dist/src/config-adapter.d.ts.map +0 -1
  437. package/dist/src/index.d.ts +0 -76
  438. package/dist/src/index.d.ts.map +0 -1
  439. package/dist/src/infrastructure/in-memory-repositories.d.ts +0 -68
  440. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +0 -1
  441. package/dist/src/init/claudemd-generator.d.ts +0 -25
  442. package/dist/src/init/claudemd-generator.d.ts.map +0 -1
  443. package/dist/src/init/executor.d.ts +0 -41
  444. package/dist/src/init/executor.d.ts.map +0 -1
  445. package/dist/src/init/helpers-generator.d.ts +0 -60
  446. package/dist/src/init/helpers-generator.d.ts.map +0 -1
  447. package/dist/src/mcp-client.d.ts +0 -92
  448. package/dist/src/mcp-client.d.ts.map +0 -1
  449. package/dist/src/mcp-server.d.ts +0 -161
  450. package/dist/src/mcp-server.d.ts.map +0 -1
  451. package/dist/src/mcp-tools/auto-install.d.ts +0 -83
  452. package/dist/src/mcp-tools/auto-install.d.ts.map +0 -1
  453. package/dist/src/mcp-tools/types.d.ts +0 -31
  454. package/dist/src/mcp-tools/types.d.ts.map +0 -1
  455. package/dist/src/memory/ewc-consolidation.d.ts +0 -271
  456. package/dist/src/memory/ewc-consolidation.d.ts.map +0 -1
  457. package/dist/src/memory/intelligence.d.ts +0 -285
  458. package/dist/src/memory/intelligence.d.ts.map +0 -1
  459. package/dist/src/memory/memory-initializer.d.ts +0 -396
  460. package/dist/src/memory/memory-initializer.d.ts.map +0 -1
  461. package/dist/src/memory/sona-optimizer.d.ts +0 -227
  462. package/dist/src/memory/sona-optimizer.d.ts.map +0 -1
  463. package/dist/src/parser.d.ts +0 -41
  464. package/dist/src/parser.d.ts.map +0 -1
  465. package/dist/src/plugins/manager.d.ts +0 -133
  466. package/dist/src/plugins/manager.d.ts.map +0 -1
  467. package/dist/src/plugins/store/discovery.d.ts +0 -88
  468. package/dist/src/plugins/store/discovery.d.ts.map +0 -1
  469. package/dist/src/plugins/store/index.d.ts +0 -76
  470. package/dist/src/plugins/store/index.d.ts.map +0 -1
  471. package/dist/src/plugins/store/search.d.ts +0 -46
  472. package/dist/src/plugins/store/search.d.ts.map +0 -1
  473. package/dist/src/plugins/store/types.d.ts +0 -274
  474. package/dist/src/plugins/store/types.d.ts.map +0 -1
  475. package/dist/src/production/circuit-breaker.d.ts +0 -101
  476. package/dist/src/production/circuit-breaker.d.ts.map +0 -1
  477. package/dist/src/production/error-handler.d.ts +0 -92
  478. package/dist/src/production/error-handler.d.ts.map +0 -1
  479. package/dist/src/production/monitoring.d.ts +0 -161
  480. package/dist/src/production/monitoring.d.ts.map +0 -1
  481. package/dist/src/production/rate-limiter.d.ts +0 -80
  482. package/dist/src/production/rate-limiter.d.ts.map +0 -1
  483. package/dist/src/production/retry.d.ts +0 -48
  484. package/dist/src/production/retry.d.ts.map +0 -1
  485. package/dist/src/prompt.d.ts +0 -44
  486. package/dist/src/prompt.d.ts.map +0 -1
  487. package/dist/src/runtime/headless.d.ts +0 -60
  488. package/dist/src/runtime/headless.d.ts.map +0 -1
  489. package/dist/src/ruvector/ast-analyzer.d.ts +0 -67
  490. package/dist/src/ruvector/ast-analyzer.d.ts.map +0 -1
  491. package/dist/src/ruvector/coverage-router.d.ts +0 -160
  492. package/dist/src/ruvector/coverage-router.d.ts.map +0 -1
  493. package/dist/src/ruvector/diff-classifier.d.ts +0 -175
  494. package/dist/src/ruvector/diff-classifier.d.ts.map +0 -1
  495. package/dist/src/ruvector/enhanced-model-router.d.ts +0 -146
  496. package/dist/src/ruvector/enhanced-model-router.d.ts.map +0 -1
  497. package/dist/src/ruvector/flash-attention.d.ts +0 -195
  498. package/dist/src/ruvector/flash-attention.d.ts.map +0 -1
  499. package/dist/src/ruvector/graph-analyzer.d.ts +0 -187
  500. package/dist/src/ruvector/graph-analyzer.d.ts.map +0 -1
  501. package/dist/src/ruvector/index.d.ts +0 -34
  502. package/dist/src/ruvector/index.d.ts.map +0 -1
  503. package/dist/src/ruvector/lora-adapter.d.ts +0 -218
  504. package/dist/src/ruvector/lora-adapter.d.ts.map +0 -1
  505. package/dist/src/ruvector/model-router.d.ts +0 -220
  506. package/dist/src/ruvector/model-router.d.ts.map +0 -1
  507. package/dist/src/ruvector/moe-router.d.ts +0 -206
  508. package/dist/src/ruvector/moe-router.d.ts.map +0 -1
  509. package/dist/src/ruvector/q-learning-router.d.ts +0 -211
  510. package/dist/src/ruvector/q-learning-router.d.ts.map +0 -1
  511. package/dist/src/ruvector/semantic-router.d.ts +0 -77
  512. package/dist/src/ruvector/semantic-router.d.ts.map +0 -1
  513. package/dist/src/ruvector/vector-db.d.ts +0 -69
  514. package/dist/src/ruvector/vector-db.d.ts.map +0 -1
  515. package/dist/src/services/claim-service.d.ts +0 -204
  516. package/dist/src/services/claim-service.d.ts.map +0 -1
  517. package/dist/src/services/container-worker-pool.d.ts +0 -197
  518. package/dist/src/services/container-worker-pool.d.ts.map +0 -1
  519. package/dist/src/services/headless-worker-executor.d.ts +0 -304
  520. package/dist/src/services/headless-worker-executor.d.ts.map +0 -1
  521. package/dist/src/services/registry-api.d.ts +0 -58
  522. package/dist/src/services/registry-api.d.ts.map +0 -1
  523. package/dist/src/services/ruvector-training.d.ts +0 -213
  524. package/dist/src/services/ruvector-training.d.ts.map +0 -1
  525. package/dist/src/services/worker-daemon.d.ts +0 -203
  526. package/dist/src/services/worker-daemon.d.ts.map +0 -1
  527. package/dist/src/services/worker-queue.d.ts +0 -194
  528. package/dist/src/services/worker-queue.d.ts.map +0 -1
  529. package/dist/src/suggest.d.ts +0 -53
  530. package/dist/src/suggest.d.ts.map +0 -1
  531. package/dist/src/transfer/export.d.ts +0 -25
  532. package/dist/src/transfer/export.d.ts.map +0 -1
  533. package/dist/src/transfer/ipfs/client.d.ts +0 -109
  534. package/dist/src/transfer/ipfs/client.d.ts.map +0 -1
  535. package/dist/src/transfer/ipfs/upload.d.ts +0 -95
  536. package/dist/src/transfer/ipfs/upload.d.ts.map +0 -1
  537. package/dist/src/transfer/models/seraphine.d.ts +0 -72
  538. package/dist/src/transfer/models/seraphine.d.ts.map +0 -1
  539. package/dist/src/transfer/serialization/cfp.d.ts +0 -49
  540. package/dist/src/transfer/serialization/cfp.d.ts.map +0 -1
  541. package/dist/src/transfer/storage/gcs.d.ts +0 -82
  542. package/dist/src/transfer/storage/gcs.d.ts.map +0 -1
  543. package/dist/src/transfer/store/discovery.d.ts +0 -84
  544. package/dist/src/transfer/store/discovery.d.ts.map +0 -1
  545. package/dist/src/transfer/store/download.d.ts +0 -70
  546. package/dist/src/transfer/store/download.d.ts.map +0 -1
  547. package/dist/src/transfer/store/index.d.ts +0 -84
  548. package/dist/src/transfer/store/index.d.ts.map +0 -1
  549. package/dist/src/transfer/store/publish.d.ts +0 -76
  550. package/dist/src/transfer/store/publish.d.ts.map +0 -1
  551. package/dist/src/transfer/store/search.d.ts +0 -54
  552. package/dist/src/transfer/store/search.d.ts.map +0 -1
  553. package/dist/src/transfer/types.d.ts +0 -245
  554. package/dist/src/transfer/types.d.ts.map +0 -1
  555. package/dist/src/types.d.ts +0 -198
  556. package/dist/src/types.d.ts.map +0 -1
  557. package/dist/src/update/checker.d.ts +0 -34
  558. package/dist/src/update/checker.d.ts.map +0 -1
  559. package/dist/src/update/executor.d.ts +0 -32
  560. package/dist/src/update/executor.d.ts.map +0 -1
  561. package/dist/src/update/index.d.ts +0 -33
  562. package/dist/src/update/index.d.ts.map +0 -1
  563. package/dist/src/update/rate-limiter.d.ts +0 -20
  564. package/dist/src/update/rate-limiter.d.ts.map +0 -1
  565. package/dist/src/update/validator.d.ts +0 -17
  566. package/dist/src/update/validator.d.ts.map +0 -1
@@ -0,0 +1,465 @@
1
+ /**
2
+ * RVFA (RuVector Format Appliance) — Binary format reader/writer
3
+ * for self-contained Ruflo appliances.
4
+ *
5
+ * Binary layout:
6
+ * [4B magic "RVFA"] [4B version u32LE] [4B header_len u32LE]
7
+ * [header_len B JSON header] [section data ...] [32B SHA256 footer]
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
+ import { createHash } from 'node:crypto';
66
+ import { gzipSync, gunzipSync } from 'node:zlib';
67
+ import { readFile } from 'node:fs/promises';
68
+ // ---------------------------------------------------------------------------
69
+ // Constants
70
+ // ---------------------------------------------------------------------------
71
+ export var RVFA_MAGIC = Buffer.from('RVFA');
72
+ export var RVFA_VERSION = 1;
73
+ var MAGIC_SIZE = 4;
74
+ var VERSION_SIZE = 4;
75
+ var HEADER_LEN_SIZE = 4;
76
+ var PREAMBLE_SIZE = MAGIC_SIZE + VERSION_SIZE + HEADER_LEN_SIZE; // 12
77
+ var SHA256_SIZE = 32;
78
+ var MAX_HEADER_JSON_SIZE = 1024 * 1024; // 1 MB
79
+ // ---------------------------------------------------------------------------
80
+ // Helpers
81
+ // ---------------------------------------------------------------------------
82
+ function sha256(data) {
83
+ return createHash('sha256').update(data).digest('hex');
84
+ }
85
+ function sha256Bytes(data) {
86
+ return createHash('sha256').update(data).digest();
87
+ }
88
+ /** Format bytes into a human-readable string (e.g. '2.3 GB'). */
89
+ export function formatSize(bytes) {
90
+ if (bytes < 0)
91
+ return '0 B';
92
+ var units = ['B', 'KB', 'MB', 'GB', 'TB'];
93
+ var idx = 0;
94
+ var value = bytes;
95
+ while (value >= 1024 && idx < units.length - 1) {
96
+ value /= 1024;
97
+ idx++;
98
+ }
99
+ return idx === 0 ? value + " " + units[idx] : value.toFixed(1) + " " + units[idx];
100
+ }
101
+ /** Create a sensible default header for a given profile. */
102
+ export function createDefaultHeader(profile) {
103
+ var modelDefaults = {
104
+ cloud: { provider: 'api-vault', vaultEncryption: 'aes-256-gcm' },
105
+ hybrid: {
106
+ provider: 'hybrid',
107
+ engine: 'ruvllm-0.1.0',
108
+ models: ['phi-3-mini-q4'],
109
+ vaultEncryption: 'aes-256-gcm'
110
+ },
111
+ offline: {
112
+ provider: 'ruvllm',
113
+ engine: 'ruvllm-0.1.0',
114
+ models: ['phi-3-mini-q4']
115
+ }
116
+ };
117
+ var capDefaults = {
118
+ cloud: ['mcp', 'swarm', 'memory', 'hooks', 'neural', 'api-vault'],
119
+ hybrid: ['mcp', 'swarm', 'memory', 'hooks', 'neural', 'ruvllm', 'api-vault'],
120
+ offline: ['mcp', 'swarm', 'memory', 'hooks', 'neural', 'ruvllm']
121
+ };
122
+ return {
123
+ magic: 'RVFA',
124
+ version: RVFA_VERSION,
125
+ name: '',
126
+ appVersion: '3.5.0',
127
+ arch: 'x86_64',
128
+ platform: 'linux',
129
+ profile: profile,
130
+ created: new Date().toISOString(),
131
+ sections: [],
132
+ boot: {
133
+ entrypoint: '/opt/ruflo/bin/ruflo',
134
+ args: ['--appliance'],
135
+ env: {},
136
+ isolation: profile === 'cloud' ? 'container' : 'native'
137
+ },
138
+ models: modelDefaults[profile],
139
+ capabilities: capDefaults[profile]
140
+ };
141
+ }
142
+ /** Type-guard that validates an unknown value is a well-formed RvfaHeader. */
143
+ export function validateHeader(header) {
144
+ if (typeof header !== 'object' || header === null)
145
+ return false;
146
+ var h = header;
147
+ var str = function (v) { return typeof v === 'string'; };
148
+ var obj = function (v) { return typeof v === 'object' && v !== null; };
149
+ var oneOf = function (v, vals) { return vals.includes(v); };
150
+ if (h.magic !== 'RVFA' || typeof h.version !== 'number' || h.version < 1)
151
+ return false;
152
+ if (!str(h.name) || !str(h.appVersion) || !str(h.arch) || !str(h.platform))
153
+ return false;
154
+ if (!oneOf(h.profile, ['cloud', 'hybrid', 'offline']))
155
+ return false;
156
+ if (!str(h.created) || !Array.isArray(h.sections) || !Array.isArray(h.capabilities))
157
+ return false;
158
+ if (!obj(h.boot))
159
+ return false;
160
+ var boot = h.boot;
161
+ if (!str(boot.entrypoint) || !Array.isArray(boot.args) || !obj(boot.env))
162
+ return false;
163
+ if (!oneOf(boot.isolation, ['container', 'microvm', 'native']))
164
+ return false;
165
+ if (!obj(h.models))
166
+ return false;
167
+ if (!oneOf(h.models.provider, ['ruvllm', 'api-vault', 'hybrid']))
168
+ return false;
169
+ for (var _i = 0, _a = h.sections; _i < _a.length; _i++) {
170
+ var sec = _a[_i];
171
+ if (!obj(sec))
172
+ return false;
173
+ var s = sec;
174
+ if (!str(s.id) || !str(s.type) || !str(s.sha256))
175
+ return false;
176
+ if (typeof s.offset !== 'number' || typeof s.size !== 'number')
177
+ return false;
178
+ if (typeof s.originalSize !== 'number')
179
+ return false;
180
+ if (!oneOf(s.compression, ['none', 'gzip', 'zstd']))
181
+ return false;
182
+ }
183
+ return true;
184
+ }
185
+ var RvfaWriter = /** @class */ (function () {
186
+ function RvfaWriter(partial) {
187
+ var _a;
188
+ this.staged = [];
189
+ var profile = (_a = partial.profile) !== null && _a !== void 0 ? _a : 'cloud';
190
+ var defaults = createDefaultHeader(profile);
191
+ this.header = __assign(__assign(__assign({}, defaults), partial), { sections: [] });
192
+ }
193
+ /**
194
+ * Add a section to the appliance image.
195
+ *
196
+ * @param id Section identifier (e.g. 'kernel', 'runtime', 'ruflo').
197
+ * @param data Raw (uncompressed) section payload.
198
+ * @param options Optional compression and MIME type overrides.
199
+ */
200
+ RvfaWriter.prototype.addSection = function (id, data, options) {
201
+ var _a, _b;
202
+ var compression = (_a = options === null || options === void 0 ? void 0 : options.compression) !== null && _a !== void 0 ? _a : 'gzip';
203
+ var mimeType = (_b = options === null || options === void 0 ? void 0 : options.type) !== null && _b !== void 0 ? _b : 'application/octet-stream';
204
+ var compressed;
205
+ var actualCompression = compression;
206
+ if (compression === 'gzip') {
207
+ compressed = gzipSync(data);
208
+ }
209
+ else if (compression === 'zstd') {
210
+ // zstd not available in core Node.js — fall back to gzip
211
+ compressed = gzipSync(data);
212
+ actualCompression = 'gzip';
213
+ }
214
+ else {
215
+ compressed = data;
216
+ }
217
+ var hash = sha256(compressed);
218
+ this.staged.push({
219
+ id: id,
220
+ type: mimeType,
221
+ data: compressed,
222
+ originalSize: data.length,
223
+ sha256: hash,
224
+ compression: actualCompression
225
+ });
226
+ };
227
+ /**
228
+ * Assemble the final RVFA binary image.
229
+ *
230
+ * Layout:
231
+ * [4B magic] [4B version] [4B header_len]
232
+ * [header JSON bytes]
233
+ * [section 0 bytes] [section 1 bytes] ...
234
+ * [32B SHA256 of all section bytes combined]
235
+ */
236
+ RvfaWriter.prototype.build = function () {
237
+ // Build section descriptors with placeholder offsets
238
+ var sectionDescriptors = this.staged.map(function (s) { return ({
239
+ id: s.id,
240
+ type: s.type,
241
+ offset: 0,
242
+ size: s.data.length,
243
+ originalSize: s.originalSize,
244
+ sha256: s.sha256,
245
+ compression: s.compression
246
+ }); });
247
+ // Iteratively compute offsets: the header contains the offsets as JSON,
248
+ // so changing offsets can change the header length. We converge quickly.
249
+ this.header.sections = sectionDescriptors;
250
+ var headerJson = Buffer.from(JSON.stringify(this.header), 'utf-8');
251
+ var prevLen = -1;
252
+ for (var attempt = 0; attempt < 5 && headerJson.length !== prevLen; attempt++) {
253
+ prevLen = headerJson.length;
254
+ var dataAreaStart = PREAMBLE_SIZE + headerJson.length;
255
+ var cursor = dataAreaStart;
256
+ for (var i = 0; i < this.staged.length; i++) {
257
+ sectionDescriptors[i].offset = cursor;
258
+ cursor += this.staged[i].data.length;
259
+ }
260
+ this.header.sections = sectionDescriptors;
261
+ headerJson = Buffer.from(JSON.stringify(this.header), 'utf-8');
262
+ }
263
+ // Build preamble buffers
264
+ var magicBuf = Buffer.from('RVFA');
265
+ var versionBuf = Buffer.alloc(VERSION_SIZE);
266
+ versionBuf.writeUInt32LE(RVFA_VERSION, 0);
267
+ var headerLenBuf = Buffer.alloc(HEADER_LEN_SIZE);
268
+ headerLenBuf.writeUInt32LE(headerJson.length, 0);
269
+ // Concatenate section data
270
+ var sectionBuffers = this.staged.map(function (s) { return s.data; });
271
+ var allSectionData = Buffer.concat(sectionBuffers);
272
+ // Footer: SHA256 of all section data combined
273
+ var footer = sha256Bytes(allSectionData);
274
+ return Buffer.concat([
275
+ magicBuf,
276
+ versionBuf,
277
+ headerLenBuf,
278
+ headerJson,
279
+ allSectionData,
280
+ footer,
281
+ ]);
282
+ };
283
+ return RvfaWriter;
284
+ }());
285
+ export { RvfaWriter };
286
+ // ---------------------------------------------------------------------------
287
+ // RvfaReader
288
+ // ---------------------------------------------------------------------------
289
+ var RvfaReader = /** @class */ (function () {
290
+ function RvfaReader(buf, header) {
291
+ this.buf = buf;
292
+ this.header = header;
293
+ }
294
+ /** Parse an RVFA image from an in-memory Buffer. */
295
+ RvfaReader.fromBuffer = function (buf) {
296
+ if (buf.length < PREAMBLE_SIZE) {
297
+ throw new Error('Buffer too small to contain RVFA preamble');
298
+ }
299
+ // Magic
300
+ var magic = buf.subarray(0, MAGIC_SIZE).toString('ascii');
301
+ if (magic !== 'RVFA') {
302
+ throw new Error("Invalid RVFA magic: expected \"RVFA\", got \"" + magic + "\"");
303
+ }
304
+ // Version
305
+ var version = buf.readUInt32LE(MAGIC_SIZE);
306
+ if (version !== RVFA_VERSION) {
307
+ throw new Error("Unsupported RVFA version: " + version + " (expected " + RVFA_VERSION + ")");
308
+ }
309
+ // Header length
310
+ var headerLen = buf.readUInt32LE(MAGIC_SIZE + VERSION_SIZE);
311
+ if (headerLen > MAX_HEADER_JSON_SIZE) {
312
+ throw new Error("Header JSON exceeds maximum size (" + headerLen + " > " + MAX_HEADER_JSON_SIZE + ")");
313
+ }
314
+ if (PREAMBLE_SIZE + headerLen > buf.length) {
315
+ throw new Error('Buffer too small to contain declared header');
316
+ }
317
+ // Parse header JSON
318
+ var headerSlice = buf.subarray(PREAMBLE_SIZE, PREAMBLE_SIZE + headerLen);
319
+ var parsed;
320
+ try {
321
+ parsed = JSON.parse(headerSlice.toString('utf-8'));
322
+ }
323
+ catch (_a) {
324
+ throw new Error('Failed to parse RVFA header JSON');
325
+ }
326
+ if (!validateHeader(parsed)) {
327
+ throw new Error('RVFA header failed validation');
328
+ }
329
+ var header = parsed;
330
+ // Bounds-check every section offset
331
+ var totalSize = buf.length;
332
+ for (var _i = 0, _b = header.sections; _i < _b.length; _i++) {
333
+ var sec = _b[_i];
334
+ if (sec.offset < 0 || sec.size < 0) {
335
+ throw new Error("Section \"" + sec.id + "\" has negative offset or size");
336
+ }
337
+ if (sec.offset + sec.size > totalSize - SHA256_SIZE) {
338
+ throw new Error("Section \"" + sec.id + "\" extends beyond buffer " +
339
+ ("(offset=" + sec.offset + ", size=" + sec.size + ", bufLen=" + totalSize + ")"));
340
+ }
341
+ }
342
+ // Check for overlapping sections
343
+ var sorted = __spreadArray([], header.sections, true).sort(function (a, b) { return a.offset - b.offset; });
344
+ for (var i = 1; i < sorted.length; i++) {
345
+ var prev = sorted[i - 1];
346
+ var curr = sorted[i];
347
+ if (prev.offset + prev.size > curr.offset) {
348
+ throw new Error("Sections \"" + prev.id + "\" and \"" + curr.id + "\" overlap " +
349
+ ("(" + prev.offset + "+" + prev.size + " > " + curr.offset + ")"));
350
+ }
351
+ }
352
+ return new RvfaReader(buf, header);
353
+ };
354
+ /** Read an RVFA image from a file path. */
355
+ RvfaReader.fromFile = function (path) {
356
+ return __awaiter(this, void 0, Promise, function () {
357
+ var data;
358
+ return __generator(this, function (_a) {
359
+ switch (_a.label) {
360
+ case 0:
361
+ if (path.includes('\0')) {
362
+ throw new Error('Path contains null bytes');
363
+ }
364
+ return [4 /*yield*/, readFile(path)];
365
+ case 1:
366
+ data = _a.sent();
367
+ return [2 /*return*/, RvfaReader.fromBuffer(data)];
368
+ }
369
+ });
370
+ });
371
+ };
372
+ /** Return the parsed header. */
373
+ RvfaReader.prototype.getHeader = function () {
374
+ return this.header;
375
+ };
376
+ /** List all sections declared in the header. */
377
+ RvfaReader.prototype.getSections = function () {
378
+ return this.header.sections;
379
+ };
380
+ /**
381
+ * Extract and decompress a section by its id.
382
+ *
383
+ * @param id The section identifier (e.g. 'kernel', 'runtime').
384
+ * @returns The decompressed section payload.
385
+ */
386
+ RvfaReader.prototype.extractSection = function (id) {
387
+ var sec = this.header.sections.find(function (s) { return s.id === id; });
388
+ if (!sec) {
389
+ throw new Error("Section \"" + id + "\" not found");
390
+ }
391
+ if (sec.offset + sec.size > this.buf.length - SHA256_SIZE) {
392
+ throw new Error("Section \"" + id + "\" exceeds buffer bounds");
393
+ }
394
+ var raw = this.buf.subarray(sec.offset, sec.offset + sec.size);
395
+ if (sec.compression === 'gzip') {
396
+ return gunzipSync(raw);
397
+ }
398
+ if (sec.compression === 'zstd') {
399
+ // zstd not natively supported — attempt gzip fallback (mirrors writer)
400
+ try {
401
+ return gunzipSync(raw);
402
+ }
403
+ catch (_a) {
404
+ throw new Error('zstd decompression is not supported in this environment');
405
+ }
406
+ }
407
+ // compression === 'none'
408
+ return Buffer.from(raw);
409
+ };
410
+ /**
411
+ * Verify the integrity of the RVFA image.
412
+ *
413
+ * Checks:
414
+ * 1. Magic bytes
415
+ * 2. Version number
416
+ * 3. SHA256 of each section's compressed data
417
+ * 4. SHA256 footer (all section data combined)
418
+ */
419
+ RvfaReader.prototype.verify = function () {
420
+ var errors = [];
421
+ // 1. Magic
422
+ var magic = this.buf.subarray(0, MAGIC_SIZE).toString('ascii');
423
+ if (magic !== 'RVFA') {
424
+ errors.push("Invalid magic: \"" + magic + "\"");
425
+ }
426
+ // 2. Version
427
+ var version = this.buf.readUInt32LE(MAGIC_SIZE);
428
+ if (version !== RVFA_VERSION) {
429
+ errors.push("Unsupported version: " + version);
430
+ }
431
+ // 3. Per-section SHA256
432
+ var sectionDataParts = [];
433
+ for (var _i = 0, _a = this.header.sections; _i < _a.length; _i++) {
434
+ var sec = _a[_i];
435
+ if (sec.offset + sec.size > this.buf.length - SHA256_SIZE) {
436
+ errors.push("Section \"" + sec.id + "\" extends beyond buffer");
437
+ continue;
438
+ }
439
+ var raw = this.buf.subarray(sec.offset, sec.offset + sec.size);
440
+ sectionDataParts.push(raw);
441
+ var actual = sha256(raw);
442
+ if (actual !== sec.sha256) {
443
+ errors.push("Section \"" + sec.id + "\" SHA256 mismatch: " +
444
+ ("expected " + sec.sha256 + ", got " + actual));
445
+ }
446
+ }
447
+ // 4. Footer SHA256
448
+ if (this.buf.length >= SHA256_SIZE) {
449
+ var allSections = Buffer.concat(sectionDataParts);
450
+ var expectedFooter = sha256Bytes(allSections);
451
+ var actualFooter = this.buf.subarray(this.buf.length - SHA256_SIZE);
452
+ if (!expectedFooter.equals(actualFooter)) {
453
+ errors.push("Footer SHA256 mismatch: expected " + expectedFooter.toString('hex') + ", " +
454
+ ("got " + actualFooter.toString('hex')));
455
+ }
456
+ }
457
+ else {
458
+ errors.push('Buffer too small to contain SHA256 footer');
459
+ }
460
+ return { valid: errors.length === 0, errors: errors };
461
+ };
462
+ return RvfaReader;
463
+ }());
464
+ export { RvfaReader };
465
+ //# sourceMappingURL=rvfa-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rvfa-format.js","sourceRoot":"","sources":["../../../src/appliance/rvfa-format.ts"],"names":[],"mappings":"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"}