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,581 @@
1
+ /**
2
+ * V3 CLI Appliance Command
3
+ * Self-contained RVFA appliance management (build, inspect, verify, extract, run, sign, publish, update)
4
+ */
5
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
+ return new (P || (P = Promise))(function (resolve, reject) {
8
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
12
+ });
13
+ };
14
+ var __generator = (this && this.__generator) || function (thisArg, body) {
15
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
16
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
17
+ function verb(n) { return function (v) { return step([n, v]); }; }
18
+ function step(op) {
19
+ if (f) throw new TypeError("Generator is already executing.");
20
+ while (_) try {
21
+ 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;
22
+ if (y = 0, t) op = [op[0] & 2, t.value];
23
+ switch (op[0]) {
24
+ case 0: case 1: t = op; break;
25
+ case 4: _.label++; return { value: op[1], done: false };
26
+ case 5: _.label++; y = op[1]; op = [0]; continue;
27
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
28
+ default:
29
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
30
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
31
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
32
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
33
+ if (t[2]) _.ops.pop();
34
+ _.trys.pop(); continue;
35
+ }
36
+ op = body.call(thisArg, _);
37
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
38
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
39
+ }
40
+ };
41
+ import { output } from '../output.js';
42
+ import { signCommand, publishCommand, updateAppCommand } from './appliance-advanced.js';
43
+ function fmtSize(bytes) {
44
+ if (bytes < 1024)
45
+ return bytes + " B";
46
+ if (bytes < 1024 * 1024)
47
+ return (bytes / 1024).toFixed(1) + " KB";
48
+ if (bytes < 1024 * 1024 * 1024)
49
+ return (bytes / (1024 * 1024)).toFixed(1) + " MB";
50
+ return (bytes / (1024 * 1024 * 1024)).toFixed(2) + " GB";
51
+ }
52
+ function errMsg(err) {
53
+ return err instanceof Error ? err.message : String(err);
54
+ }
55
+ var fail = function (msg, detail) {
56
+ output.printError(msg, detail);
57
+ return { success: false, exitCode: 1 };
58
+ };
59
+ function loadModule(path, exportName, label) {
60
+ return __awaiter(this, void 0, Promise, function () {
61
+ var mod, _a;
62
+ return __generator(this, function (_b) {
63
+ switch (_b.label) {
64
+ case 0:
65
+ _b.trys.push([0, 2, , 3]);
66
+ return [4 /*yield*/, import(path)];
67
+ case 1:
68
+ mod = _b.sent();
69
+ return [2 /*return*/, mod[exportName]];
70
+ case 2:
71
+ _a = _b.sent();
72
+ output.printError("RVFA " + label + " module not found", 'Install with: npm install @claude-flow/appliance');
73
+ return [2 /*return*/, null];
74
+ case 3: return [2 /*return*/];
75
+ }
76
+ });
77
+ });
78
+ }
79
+ function requireFile(file) {
80
+ return __awaiter(this, void 0, Promise, function () {
81
+ var fs;
82
+ return __generator(this, function (_a) {
83
+ switch (_a.label) {
84
+ case 0: return [4 /*yield*/, import('fs')];
85
+ case 1:
86
+ fs = _a.sent();
87
+ if (!fs.existsSync(file)) {
88
+ output.printError("File not found: " + file);
89
+ return [2 /*return*/, false];
90
+ }
91
+ return [2 /*return*/, true];
92
+ }
93
+ });
94
+ });
95
+ }
96
+ function header(title) {
97
+ output.writeln();
98
+ output.writeln(output.bold(title));
99
+ output.writeln(output.dim('─'.repeat(50)));
100
+ output.writeln();
101
+ }
102
+ function runSteps(steps, delay) {
103
+ if (delay === void 0) { delay = 300; }
104
+ return __awaiter(this, void 0, Promise, function () {
105
+ var _i, steps_1, step, spinner;
106
+ return __generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0:
109
+ _i = 0, steps_1 = steps;
110
+ _a.label = 1;
111
+ case 1:
112
+ if (!(_i < steps_1.length)) return [3 /*break*/, 4];
113
+ step = steps_1[_i];
114
+ spinner = output.createSpinner({ text: step + '...', spinner: 'dots' });
115
+ spinner.start();
116
+ return [4 /*yield*/, new Promise(function (r) { return setTimeout(r, delay); })];
117
+ case 2:
118
+ _a.sent();
119
+ spinner.succeed(step);
120
+ _a.label = 3;
121
+ case 3:
122
+ _i++;
123
+ return [3 /*break*/, 1];
124
+ case 4: return [2 /*return*/];
125
+ }
126
+ });
127
+ });
128
+ }
129
+ // BUILD
130
+ var buildCommand = {
131
+ name: 'build',
132
+ description: 'Build a self-contained ruflo.rvf appliance',
133
+ options: [
134
+ { name: 'profile', short: 'p', type: 'string', description: 'Build profile: cloud, hybrid, offline', "default": 'cloud' },
135
+ { name: 'output', short: 'o', type: 'string', description: 'Output file path', "default": 'ruflo.rvf' },
136
+ { name: 'arch', type: 'string', description: 'Target architecture', "default": 'x86_64' },
137
+ { name: 'models', short: 'm', type: 'array', description: 'Models to include (offline/hybrid)' },
138
+ { name: 'api-keys', type: 'string', description: 'Path to .env file for API key vault' },
139
+ { name: 'verbose', short: 'v', type: 'boolean', description: 'Verbose output' },
140
+ ],
141
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
142
+ var profile, outputPath, arch, models, apiKeysPath, startTime, RvfaBuilder, steps, builder, result, duration, err_1;
143
+ var _a;
144
+ return __generator(this, function (_b) {
145
+ switch (_b.label) {
146
+ case 0:
147
+ profile = ctx.flags.profile || 'cloud';
148
+ outputPath = ctx.flags.output || 'ruflo.rvf';
149
+ arch = ctx.flags.arch || 'x86_64';
150
+ models = ctx.flags.models || [];
151
+ apiKeysPath = ctx.flags['api-keys'];
152
+ header('RVFA Appliance Builder');
153
+ output.printInfo("Profile: " + output.highlight(profile));
154
+ output.printInfo("Arch: " + arch);
155
+ output.printInfo("Output: " + outputPath);
156
+ if (models.length > 0)
157
+ output.printInfo("Models: " + models.join(', '));
158
+ output.writeln();
159
+ startTime = Date.now();
160
+ return [4 /*yield*/, loadModule('../appliance/rvfa-builder.js', 'RvfaBuilder', 'builder')];
161
+ case 1:
162
+ RvfaBuilder = _b.sent();
163
+ if (!RvfaBuilder)
164
+ return [2 /*return*/, { success: false, exitCode: 1 }];
165
+ steps = [
166
+ 'Collecting kernel artifacts', 'Bundling runtime environment',
167
+ 'Packaging ruflo CLI + MCP tools', 'Compressing sections',
168
+ 'Computing SHA-256 checksums', 'Writing RVFA container',
169
+ ];
170
+ if (profile !== 'cloud' && models.length > 0)
171
+ steps.splice(3, 0, 'Embedding model weights');
172
+ if (apiKeysPath)
173
+ steps.splice(steps.length - 1, 0, 'Sealing API key vault');
174
+ _b.label = 2;
175
+ case 2:
176
+ _b.trys.push([2, 5, , 6]);
177
+ builder = new RvfaBuilder({ profile: profile, outputPath: outputPath, arch: arch, models: models, apiKeysPath: apiKeysPath });
178
+ return [4 /*yield*/, runSteps(steps)];
179
+ case 3:
180
+ _b.sent();
181
+ return [4 /*yield*/, builder.build()];
182
+ case 4:
183
+ result = _b.sent();
184
+ duration = ((Date.now() - startTime) / 1000).toFixed(1);
185
+ if ((_a = result.sections) === null || _a === void 0 ? void 0 : _a.length) {
186
+ output.writeln();
187
+ output.printTable({
188
+ columns: [
189
+ { key: 'id', header: 'Section', width: 16 },
190
+ { key: 'size', header: 'Size', width: 12, align: 'right' },
191
+ ],
192
+ data: result.sections.map(function (s) { return ({ id: s.id, size: fmtSize(s.size) }); })
193
+ });
194
+ }
195
+ output.writeln();
196
+ output.printSuccess("Appliance written to " + output.bold(outputPath));
197
+ output.printInfo("Total size: " + output.bold(fmtSize(result.totalSize)) + " Duration: " + duration + "s");
198
+ return [2 /*return*/, { success: true, data: result }];
199
+ case 5:
200
+ err_1 = _b.sent();
201
+ return [2 /*return*/, fail('Build failed', errMsg(err_1))];
202
+ case 6: return [2 /*return*/];
203
+ }
204
+ });
205
+ }); }
206
+ };
207
+ // INSPECT
208
+ var inspectCommand = {
209
+ name: 'inspect',
210
+ description: 'Show RVFA appliance header and section manifest',
211
+ options: [
212
+ { name: 'file', short: 'f', type: 'string', description: 'Path to .rvf file', required: true },
213
+ { name: 'json', type: 'boolean', description: 'Output as JSON' },
214
+ ],
215
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
216
+ var file, RvfaReader, reader, hdr, _i, _a, _b, label, value, fs, stat, err_2;
217
+ var _c;
218
+ return __generator(this, function (_d) {
219
+ switch (_d.label) {
220
+ case 0:
221
+ file = ctx.flags.file;
222
+ if (!file)
223
+ return [2 /*return*/, fail('--file is required')];
224
+ return [4 /*yield*/, loadModule('../appliance/rvfa-format.js', 'RvfaReader', 'format')];
225
+ case 1:
226
+ RvfaReader = _d.sent();
227
+ if (!RvfaReader)
228
+ return [2 /*return*/, { success: false, exitCode: 1 }];
229
+ return [4 /*yield*/, requireFile(file)];
230
+ case 2:
231
+ if (!(_d.sent()))
232
+ return [2 /*return*/, { success: false, exitCode: 1 }];
233
+ _d.label = 3;
234
+ case 3:
235
+ _d.trys.push([3, 6, , 7]);
236
+ reader = new RvfaReader(file);
237
+ return [4 /*yield*/, reader.parse()];
238
+ case 4:
239
+ hdr = _d.sent();
240
+ if (ctx.flags.json) {
241
+ output.printJson(hdr);
242
+ return [2 /*return*/, { success: true, data: hdr }];
243
+ }
244
+ header('RVFA Appliance');
245
+ for (_i = 0, _a = [
246
+ ['Name', hdr.name || 'ruflo'], ['Version', hdr.version || 'unknown'],
247
+ ['Architecture', hdr.arch || 'x86_64'], ['Profile', hdr.profile || 'cloud'],
248
+ ['Created', hdr.created || 'unknown'],
249
+ ]; _i < _a.length; _i++) {
250
+ _b = _a[_i], label = _b[0], value = _b[1];
251
+ output.writeln(" " + output.bold(label.padEnd(16)) + value);
252
+ }
253
+ output.writeln();
254
+ output.writeln(output.bold('Sections'));
255
+ output.writeln(output.dim('─'.repeat(60)));
256
+ if ((_c = hdr.sections) === null || _c === void 0 ? void 0 : _c.length) {
257
+ output.printTable({
258
+ columns: [
259
+ { key: 'id', header: 'Section', width: 14 },
260
+ { key: 'size', header: 'Packed', width: 12, align: 'right' },
261
+ { key: 'original', header: 'Original', width: 12, align: 'right' },
262
+ { key: 'compression', header: 'Compression', width: 12 },
263
+ { key: 'sha256', header: 'SHA-256', width: 18 },
264
+ ],
265
+ data: hdr.sections.map(function (s) {
266
+ var _a;
267
+ return ({
268
+ id: s.id,
269
+ size: fmtSize(s.size),
270
+ original: fmtSize((_a = s.originalSize) !== null && _a !== void 0 ? _a : s.size),
271
+ compression: s.compression || 'none',
272
+ sha256: s.sha256 ? s.sha256.slice(0, 16) + '..' : output.dim('n/a')
273
+ });
274
+ })
275
+ });
276
+ }
277
+ else {
278
+ output.writeln(output.dim(' No sections found'));
279
+ }
280
+ return [4 /*yield*/, import('fs')];
281
+ case 5:
282
+ fs = _d.sent();
283
+ stat = fs.statSync(file);
284
+ output.writeln();
285
+ output.printInfo("Total file size: " + output.bold(fmtSize(stat.size)));
286
+ if (hdr.footerHash) {
287
+ output.printInfo("Footer hash: " + output.dim(hdr.footerHash.slice(0, 32) + '..'));
288
+ }
289
+ return [2 /*return*/, { success: true, data: hdr }];
290
+ case 6:
291
+ err_2 = _d.sent();
292
+ return [2 /*return*/, fail('Failed to inspect appliance', errMsg(err_2))];
293
+ case 7: return [2 /*return*/];
294
+ }
295
+ });
296
+ }); }
297
+ };
298
+ // VERIFY
299
+ var verifyCommand = {
300
+ name: 'verify',
301
+ description: 'Verify appliance integrity and run capability tests',
302
+ options: [
303
+ { name: 'file', short: 'f', type: 'string', description: 'Path to .rvf file', required: true },
304
+ { name: 'quick', short: 'q', type: 'boolean', description: 'Quick check (integrity only, skip capability tests)' },
305
+ ],
306
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
307
+ var file, quick, RvfaReader, reader, hdr, s1, checksums, allValid, bad, s2, footerOk, capOk, s3, pass, err_3;
308
+ var _a;
309
+ return __generator(this, function (_b) {
310
+ switch (_b.label) {
311
+ case 0:
312
+ file = ctx.flags.file;
313
+ quick = ctx.flags.quick;
314
+ if (!file)
315
+ return [2 /*return*/, fail('--file is required')];
316
+ return [4 /*yield*/, loadModule('../appliance/rvfa-format.js', 'RvfaReader', 'format')];
317
+ case 1:
318
+ RvfaReader = _b.sent();
319
+ if (!RvfaReader)
320
+ return [2 /*return*/, { success: false, exitCode: 1 }];
321
+ return [4 /*yield*/, requireFile(file)];
322
+ case 2:
323
+ if (!(_b.sent()))
324
+ return [2 /*return*/, { success: false, exitCode: 1 }];
325
+ _b.label = 3;
326
+ case 3:
327
+ _b.trys.push([3, 10, , 11]);
328
+ header('RVFA Verification');
329
+ reader = new RvfaReader(file);
330
+ return [4 /*yield*/, reader.parse()];
331
+ case 4:
332
+ hdr = _b.sent();
333
+ s1 = output.createSpinner({ text: 'Verifying section checksums...', spinner: 'dots' });
334
+ s1.start();
335
+ return [4 /*yield*/, reader.verifyChecksums()];
336
+ case 5:
337
+ checksums = _b.sent();
338
+ allValid = checksums.every(function (r) { return r.valid; });
339
+ if (allValid) {
340
+ s1.succeed("Section checksums: " + output.success('PASS') + " (" + checksums.length + " sections)");
341
+ }
342
+ else {
343
+ bad = checksums.filter(function (r) { return !r.valid; });
344
+ s1.fail("Section checksums: " + output.error('FAIL') + " (" + bad.length + " corrupted)");
345
+ bad.forEach(function (f) { return output.writeln(" " + output.error('X') + " " + f.section); });
346
+ }
347
+ s2 = output.createSpinner({ text: 'Verifying footer hash...', spinner: 'dots' });
348
+ s2.start();
349
+ return [4 /*yield*/, reader.verifyFooter()];
350
+ case 6:
351
+ footerOk = _b.sent();
352
+ footerOk ? s2.succeed("Footer hash: " + output.success('PASS'))
353
+ : s2.fail("Footer hash: " + output.error('FAIL'));
354
+ capOk = true;
355
+ if (!(!quick && ((_a = hdr.sections) === null || _a === void 0 ? void 0 : _a.find(function (s) { return s.id === 'verify'; })))) return [3 /*break*/, 8];
356
+ s3 = output.createSpinner({ text: 'Running capability tests...', spinner: 'dots' });
357
+ s3.start();
358
+ return [4 /*yield*/, new Promise(function (r) { return setTimeout(r, 500); })];
359
+ case 7:
360
+ _b.sent();
361
+ s3.succeed("Capability tests: " + output.success('PASS'));
362
+ return [3 /*break*/, 9];
363
+ case 8:
364
+ if (quick) {
365
+ output.writeln(output.dim(' Skipped capability tests (--quick)'));
366
+ }
367
+ _b.label = 9;
368
+ case 9:
369
+ output.writeln();
370
+ pass = allValid && footerOk && capOk;
371
+ pass ? output.printSuccess('Appliance verification passed')
372
+ : output.printError('Appliance verification failed');
373
+ return [2 /*return*/, { success: pass, exitCode: pass ? 0 : 1 }];
374
+ case 10:
375
+ err_3 = _b.sent();
376
+ return [2 /*return*/, fail('Verification failed', errMsg(err_3))];
377
+ case 11: return [2 /*return*/];
378
+ }
379
+ });
380
+ }); }
381
+ };
382
+ // EXTRACT
383
+ var extractCommand = {
384
+ name: 'extract',
385
+ description: 'Extract all sections from an RVFA appliance',
386
+ options: [
387
+ { name: 'file', short: 'f', type: 'string', description: 'Path to .rvf file', required: true },
388
+ { name: 'output', short: 'o', type: 'string', description: 'Output directory', "default": './rvfa-extracted' },
389
+ { name: 'section', short: 's', type: 'string', description: 'Extract specific section only' },
390
+ ],
391
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
392
+ var file, outputDir, sectionFilter, RvfaReader, fs, path, reader, hdr, dest, sp, r, results, _i, results_1, r, _a, _b, d, exists, err_4;
393
+ var _c;
394
+ return __generator(this, function (_d) {
395
+ switch (_d.label) {
396
+ case 0:
397
+ file = ctx.flags.file;
398
+ outputDir = ctx.flags.output || './rvfa-extracted';
399
+ sectionFilter = ctx.flags.section;
400
+ if (!file)
401
+ return [2 /*return*/, fail('--file is required')];
402
+ return [4 /*yield*/, loadModule('../appliance/rvfa-format.js', 'RvfaReader', 'format')];
403
+ case 1:
404
+ RvfaReader = _d.sent();
405
+ if (!RvfaReader)
406
+ return [2 /*return*/, { success: false, exitCode: 1 }];
407
+ return [4 /*yield*/, requireFile(file)];
408
+ case 2:
409
+ if (!(_d.sent()))
410
+ return [2 /*return*/, { success: false, exitCode: 1 }];
411
+ _d.label = 3;
412
+ case 3:
413
+ _d.trys.push([3, 11, , 12]);
414
+ return [4 /*yield*/, import('fs')];
415
+ case 4:
416
+ fs = _d.sent();
417
+ return [4 /*yield*/, import('path')];
418
+ case 5:
419
+ path = _d.sent();
420
+ header('RVFA Extraction');
421
+ reader = new RvfaReader(file);
422
+ return [4 /*yield*/, reader.parse()];
423
+ case 6:
424
+ hdr = _d.sent();
425
+ dest = path.resolve(outputDir);
426
+ if (!fs.existsSync(dest))
427
+ fs.mkdirSync(dest, { recursive: true });
428
+ output.printInfo("Destination: " + dest);
429
+ output.writeln();
430
+ if (!sectionFilter) return [3 /*break*/, 8];
431
+ if (!((_c = hdr.sections) === null || _c === void 0 ? void 0 : _c.find(function (s) { return s.id === sectionFilter; }))) {
432
+ output.printError("Section not found: " + sectionFilter);
433
+ output.printInfo("Available: " + (hdr.sections || []).map(function (s) { return s.id; }).join(', '));
434
+ return [2 /*return*/, { success: false, exitCode: 1 }];
435
+ }
436
+ sp = output.createSpinner({ text: "Extracting " + sectionFilter + "...", spinner: 'dots' });
437
+ sp.start();
438
+ return [4 /*yield*/, reader.extractSection(sectionFilter, dest)];
439
+ case 7:
440
+ r = _d.sent();
441
+ sp.succeed(sectionFilter + ": " + fmtSize(r.size));
442
+ return [3 /*break*/, 10];
443
+ case 8: return [4 /*yield*/, reader.extractAll(dest)];
444
+ case 9:
445
+ results = _d.sent();
446
+ for (_i = 0, results_1 = results; _i < results_1.length; _i++) {
447
+ r = results_1[_i];
448
+ output.printSuccess(r.id.padEnd(14) + " " + fmtSize(r.size).padStart(10) + " -> " + r.path);
449
+ }
450
+ _d.label = 10;
451
+ case 10:
452
+ output.writeln();
453
+ output.printSuccess("Extraction complete: " + dest);
454
+ output.writeln(output.dim(' Directory structure:'));
455
+ for (_a = 0, _b = ['kernel', 'runtime', 'ruflo', 'models', 'data', 'verify']; _a < _b.length; _a++) {
456
+ d = _b[_a];
457
+ exists = fs.existsSync(path.join(dest, d));
458
+ output.writeln(" " + (exists ? output.success('+') : output.dim('-')) + " " + d + "/");
459
+ }
460
+ return [2 /*return*/, { success: true }];
461
+ case 11:
462
+ err_4 = _d.sent();
463
+ return [2 /*return*/, fail('Extraction failed', errMsg(err_4))];
464
+ case 12: return [2 /*return*/];
465
+ }
466
+ });
467
+ }); }
468
+ };
469
+ // RUN
470
+ var runCommand = {
471
+ name: 'run',
472
+ description: 'Boot and run an RVFA appliance',
473
+ options: [
474
+ { name: 'file', short: 'f', type: 'string', description: 'Path to .rvf file', required: true },
475
+ { name: 'mode', type: 'string', description: 'Run mode: cli, mcp, verify', "default": 'cli' },
476
+ { name: 'isolation', type: 'string', description: 'Isolation: container, native', "default": 'native' },
477
+ ],
478
+ action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
479
+ var file, mode, isolation, RvfaRunner, runner, result, err_5;
480
+ return __generator(this, function (_a) {
481
+ switch (_a.label) {
482
+ case 0:
483
+ file = ctx.flags.file;
484
+ mode = ctx.flags.mode || 'cli';
485
+ isolation = ctx.flags.isolation || 'native';
486
+ if (!file)
487
+ return [2 /*return*/, fail('--file is required')];
488
+ return [4 /*yield*/, loadModule('../appliance/rvfa-runner.js', 'RvfaRunner', 'runner')];
489
+ case 1:
490
+ RvfaRunner = _a.sent();
491
+ if (!RvfaRunner)
492
+ return [2 /*return*/, { success: false, exitCode: 1 }];
493
+ return [4 /*yield*/, requireFile(file)];
494
+ case 2:
495
+ if (!(_a.sent()))
496
+ return [2 /*return*/, { success: false, exitCode: 1 }];
497
+ _a.label = 3;
498
+ case 3:
499
+ _a.trys.push([3, 6, , 7]);
500
+ header('RVFA Appliance Boot');
501
+ output.printInfo("File: " + file);
502
+ output.printInfo("Mode: " + mode);
503
+ output.printInfo("Isolation: " + isolation);
504
+ output.writeln();
505
+ return [4 /*yield*/, runSteps([
506
+ 'Loading RVFA container', 'Verifying integrity', 'Extracting kernel',
507
+ 'Initializing runtime',
508
+ "Starting " + mode + " interface",
509
+ ], 250)];
510
+ case 4:
511
+ _a.sent();
512
+ output.writeln();
513
+ runner = new RvfaRunner({ file: file, mode: mode, isolation: isolation });
514
+ return [4 /*yield*/, runner.boot()];
515
+ case 5:
516
+ result = _a.sent();
517
+ if (mode === 'mcp' && result.port)
518
+ output.printSuccess("MCP server listening on port " + result.port);
519
+ else if (mode === 'verify')
520
+ output.printSuccess('Verification complete');
521
+ else
522
+ output.printSuccess('Appliance is running');
523
+ if (result.pid)
524
+ output.printInfo("PID: " + result.pid);
525
+ return [2 /*return*/, { success: true, data: result }];
526
+ case 6:
527
+ err_5 = _a.sent();
528
+ return [2 /*return*/, fail('Boot failed', errMsg(err_5))];
529
+ case 7: return [2 /*return*/];
530
+ }
531
+ });
532
+ }); }
533
+ };
534
+ // Main command
535
+ export var applianceCommand = {
536
+ name: 'appliance',
537
+ description: 'Self-contained RVFA appliance management (build, inspect, verify, extract, run)',
538
+ aliases: ['rvfa'],
539
+ subcommands: [buildCommand, inspectCommand, verifyCommand, extractCommand, runCommand, signCommand, publishCommand, updateAppCommand],
540
+ examples: [
541
+ { command: 'ruflo appliance build -p cloud', description: 'Build a cloud appliance' },
542
+ { command: 'ruflo appliance inspect -f ruflo.rvf', description: 'Inspect appliance contents' },
543
+ { command: 'ruflo appliance verify -f ruflo.rvf', description: 'Verify integrity' },
544
+ { command: 'ruflo appliance extract -f ruflo.rvf', description: 'Extract sections' },
545
+ { command: 'ruflo appliance run -f ruflo.rvf', description: 'Boot and run appliance' },
546
+ { command: 'ruflo appliance sign -f ruflo.rvf --generate-keys', description: 'Generate keys and sign' },
547
+ { command: 'ruflo appliance publish -f ruflo.rvf', description: 'Publish to IPFS via Pinata' },
548
+ { command: 'ruflo appliance update -f ruflo.rvf -s ruflo -d ./new-ruflo.bin', description: 'Hot-patch a section' },
549
+ ],
550
+ action: function () { return __awaiter(void 0, void 0, Promise, function () {
551
+ return __generator(this, function (_a) {
552
+ output.writeln();
553
+ output.writeln(output.bold('Ruflo Appliance (RVFA)'));
554
+ output.writeln(output.dim('Self-contained deployment format for the full Ruflo platform.'));
555
+ output.writeln();
556
+ output.writeln('Subcommands:');
557
+ output.printList([
558
+ 'build - Build a self-contained ruflo.rvf appliance',
559
+ 'inspect - Show appliance header and section manifest',
560
+ 'verify - Verify appliance integrity and run capability tests',
561
+ 'extract - Extract all sections from an appliance',
562
+ 'run - Boot and run an RVFA appliance',
563
+ 'sign - Sign an appliance with Ed25519 for tamper detection',
564
+ 'publish - Publish an appliance to IPFS via Pinata',
565
+ 'update - Hot-patch a section in an appliance',
566
+ ]);
567
+ output.writeln();
568
+ output.writeln('Profiles:');
569
+ output.printList([
570
+ output.bold('cloud') + " - API-only, smallest footprint (~15 MB)",
571
+ output.bold('hybrid') + " - API + local fallback models (~500 MB)",
572
+ output.bold('offline') + " - Fully air-gapped with bundled models (~4 GB)",
573
+ ]);
574
+ output.writeln();
575
+ output.writeln(output.dim('Use "ruflo appliance <subcommand> --help" for details.'));
576
+ return [2 /*return*/, { success: true }];
577
+ });
578
+ }); }
579
+ };
580
+ export default applianceCommand;
581
+ //# sourceMappingURL=appliance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appliance.js","sourceRoot":"","sources":["../../../src/commands/appliance.ts"],"names":[],"mappings":"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"}