kynjal-cli 4.0.0 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (502) hide show
  1. package/dist/src/appliance/gguf-engine.d.ts +91 -0
  2. package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
  3. package/dist/src/appliance/gguf-engine.js +286 -525
  4. package/dist/src/appliance/gguf-engine.js.map +1 -1
  5. package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
  6. package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
  7. package/dist/src/appliance/ruvllm-bridge.js +203 -403
  8. package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
  9. package/dist/src/appliance/rvfa-builder.d.ts +44 -0
  10. package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
  11. package/dist/src/appliance/rvfa-builder.js +154 -208
  12. package/dist/src/appliance/rvfa-builder.js.map +1 -1
  13. package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
  14. package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
  15. package/dist/src/appliance/rvfa-distribution.js +260 -423
  16. package/dist/src/appliance/rvfa-distribution.js.map +1 -1
  17. package/dist/src/appliance/rvfa-format.d.ts +111 -0
  18. package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
  19. package/dist/src/appliance/rvfa-format.js +128 -200
  20. package/dist/src/appliance/rvfa-format.js.map +1 -1
  21. package/dist/src/appliance/rvfa-runner.d.ts +69 -0
  22. package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
  23. package/dist/src/appliance/rvfa-runner.js +168 -304
  24. package/dist/src/appliance/rvfa-runner.js.map +1 -1
  25. package/dist/src/appliance/rvfa-signing.d.ts +123 -0
  26. package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
  27. package/dist/src/appliance/rvfa-signing.js +173 -295
  28. package/dist/src/appliance/rvfa-signing.js.map +1 -1
  29. package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
  30. package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
  31. package/dist/src/benchmarks/pretrain/index.js +331 -542
  32. package/dist/src/benchmarks/pretrain/index.js.map +1 -1
  33. package/dist/src/commands/agent.js +574 -697
  34. package/dist/src/commands/agent.js.map +1 -1
  35. package/dist/src/commands/analyze.js +1218 -1548
  36. package/dist/src/commands/analyze.js.map +1 -1
  37. package/dist/src/commands/appliance-advanced.js +158 -267
  38. package/dist/src/commands/appliance-advanced.js.map +1 -1
  39. package/dist/src/commands/appliance.js +318 -493
  40. package/dist/src/commands/appliance.js.map +1 -1
  41. package/dist/src/commands/benchmark.js +372 -523
  42. package/dist/src/commands/benchmark.js.map +1 -1
  43. package/dist/src/commands/claims.js +274 -364
  44. package/dist/src/commands/claims.js.map +1 -1
  45. package/dist/src/commands/cleanup.js +113 -157
  46. package/dist/src/commands/cleanup.js.map +1 -1
  47. package/dist/src/commands/completions.js +477 -118
  48. package/dist/src/commands/completions.js.map +1 -1
  49. package/dist/src/commands/config.js +237 -303
  50. package/dist/src/commands/config.js.map +1 -1
  51. package/dist/src/commands/daemon.js +487 -596
  52. package/dist/src/commands/daemon.js.map +1 -1
  53. package/dist/src/commands/deployment.js +194 -275
  54. package/dist/src/commands/deployment.js.map +1 -1
  55. package/dist/src/commands/doctor.js +504 -686
  56. package/dist/src/commands/doctor.js.map +1 -1
  57. package/dist/src/commands/embeddings.js +1293 -1543
  58. package/dist/src/commands/embeddings.js.map +1 -1
  59. package/dist/src/commands/guidance.js +449 -596
  60. package/dist/src/commands/guidance.js.map +1 -1
  61. package/dist/src/commands/hive-mind.js +854 -938
  62. package/dist/src/commands/hive-mind.js.map +1 -1
  63. package/dist/src/commands/hooks.js +3112 -3519
  64. package/dist/src/commands/hooks.js.map +1 -1
  65. package/dist/src/commands/index.d.ts +115 -0
  66. package/dist/src/commands/index.d.ts.map +1 -0
  67. package/dist/src/commands/index.js +126 -308
  68. package/dist/src/commands/index.js.map +1 -1
  69. package/dist/src/commands/init.js +788 -940
  70. package/dist/src/commands/init.js.map +1 -1
  71. package/dist/src/commands/issues.js +383 -558
  72. package/dist/src/commands/issues.js.map +1 -1
  73. package/dist/src/commands/mcp.js +493 -605
  74. package/dist/src/commands/mcp.js.map +1 -1
  75. package/dist/src/commands/memory.js +833 -1026
  76. package/dist/src/commands/memory.js.map +1 -1
  77. package/dist/src/commands/migrate.js +282 -347
  78. package/dist/src/commands/migrate.js.map +1 -1
  79. package/dist/src/commands/neural.js +1289 -1563
  80. package/dist/src/commands/neural.js.map +1 -1
  81. package/dist/src/commands/performance.js +497 -643
  82. package/dist/src/commands/performance.js.map +1 -1
  83. package/dist/src/commands/plugins.js +668 -841
  84. package/dist/src/commands/plugins.js.map +1 -1
  85. package/dist/src/commands/process.js +392 -447
  86. package/dist/src/commands/process.js.map +1 -1
  87. package/dist/src/commands/progress.js +162 -256
  88. package/dist/src/commands/progress.js.map +1 -1
  89. package/dist/src/commands/providers.js +150 -220
  90. package/dist/src/commands/providers.js.map +1 -1
  91. package/dist/src/commands/route.js +520 -665
  92. package/dist/src/commands/route.js.map +1 -1
  93. package/dist/src/commands/ruvector/backup.js +505 -651
  94. package/dist/src/commands/ruvector/backup.js.map +1 -1
  95. package/dist/src/commands/ruvector/benchmark.js +349 -401
  96. package/dist/src/commands/ruvector/benchmark.js.map +1 -1
  97. package/dist/src/commands/ruvector/import.js +224 -266
  98. package/dist/src/commands/ruvector/import.js.map +1 -1
  99. package/dist/src/commands/ruvector/index.js +37 -75
  100. package/dist/src/commands/ruvector/index.js.map +1 -1
  101. package/dist/src/commands/ruvector/init.js +336 -359
  102. package/dist/src/commands/ruvector/init.js.map +1 -1
  103. package/dist/src/commands/ruvector/migrate.js +335 -322
  104. package/dist/src/commands/ruvector/migrate.js.map +1 -1
  105. package/dist/src/commands/ruvector/optimize.js +375 -431
  106. package/dist/src/commands/ruvector/optimize.js.map +1 -1
  107. package/dist/src/commands/ruvector/setup.js +703 -117
  108. package/dist/src/commands/ruvector/setup.js.map +1 -1
  109. package/dist/src/commands/ruvector/status.js +364 -419
  110. package/dist/src/commands/ruvector/status.js.map +1 -1
  111. package/dist/src/commands/security.js +485 -608
  112. package/dist/src/commands/security.js.map +1 -1
  113. package/dist/src/commands/session.js +504 -626
  114. package/dist/src/commands/session.js.map +1 -1
  115. package/dist/src/commands/start.js +267 -364
  116. package/dist/src/commands/start.js.map +1 -1
  117. package/dist/src/commands/status.js +380 -486
  118. package/dist/src/commands/status.js.map +1 -1
  119. package/dist/src/commands/swarm.js +408 -488
  120. package/dist/src/commands/swarm.js.map +1 -1
  121. package/dist/src/commands/task.js +423 -538
  122. package/dist/src/commands/task.js.map +1 -1
  123. package/dist/src/commands/transfer-store.js +322 -412
  124. package/dist/src/commands/transfer-store.js.map +1 -1
  125. package/dist/src/commands/update.js +196 -291
  126. package/dist/src/commands/update.js.map +1 -1
  127. package/dist/src/commands/workflow.js +386 -486
  128. package/dist/src/commands/workflow.js.map +1 -1
  129. package/dist/src/config-adapter.d.ts +15 -0
  130. package/dist/src/config-adapter.d.ts.map +1 -0
  131. package/dist/src/config-adapter.js +38 -39
  132. package/dist/src/config-adapter.js.map +1 -1
  133. package/dist/src/index.d.ts +77 -0
  134. package/dist/src/index.d.ts.map +1 -0
  135. package/dist/src/index.js +309 -411
  136. package/dist/src/index.js.map +1 -1
  137. package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
  138. package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
  139. package/dist/src/infrastructure/in-memory-repositories.js +246 -507
  140. package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
  141. package/dist/src/init/claudemd-generator.d.ts +25 -0
  142. package/dist/src/init/claudemd-generator.d.ts.map +1 -0
  143. package/dist/src/init/claudemd-generator.js +368 -78
  144. package/dist/src/init/claudemd-generator.js.map +1 -1
  145. package/dist/src/init/executor.d.ts +41 -0
  146. package/dist/src/init/executor.d.ts.map +1 -0
  147. package/dist/src/init/executor.js +1307 -996
  148. package/dist/src/init/executor.js.map +1 -1
  149. package/dist/src/init/helpers-generator.d.ts +60 -0
  150. package/dist/src/init/helpers-generator.d.ts.map +1 -0
  151. package/dist/src/init/helpers-generator.js +657 -12
  152. package/dist/src/init/helpers-generator.js.map +1 -1
  153. package/dist/src/init/index.d.ts +1 -1
  154. package/dist/src/init/index.d.ts.map +1 -1
  155. package/dist/src/init/index.js +1 -1
  156. package/dist/src/init/index.js.map +1 -1
  157. package/dist/src/init/mcp-generator.js +33 -37
  158. package/dist/src/init/mcp-generator.js.map +1 -1
  159. package/dist/src/init/settings-generator.js +76 -77
  160. package/dist/src/init/settings-generator.js.map +1 -1
  161. package/dist/src/init/statusline-generator.js +801 -3
  162. package/dist/src/init/statusline-generator.js.map +1 -1
  163. package/dist/src/init/types.d.ts +1 -1
  164. package/dist/src/init/types.d.ts.map +1 -1
  165. package/dist/src/init/types.js +76 -59
  166. package/dist/src/init/types.js.map +1 -1
  167. package/dist/src/mcp-client.d.ts +92 -0
  168. package/dist/src/mcp-client.d.ts.map +1 -0
  169. package/dist/src/mcp-client.js +81 -125
  170. package/dist/src/mcp-client.js.map +1 -1
  171. package/dist/src/mcp-server.d.ts +161 -0
  172. package/dist/src/mcp-server.d.ts.map +1 -0
  173. package/dist/src/mcp-server.js +470 -757
  174. package/dist/src/mcp-server.js.map +1 -1
  175. package/dist/src/mcp-tools/agent-tools.js +391 -492
  176. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  177. package/dist/src/mcp-tools/agentdb-tools.js +332 -533
  178. package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
  179. package/dist/src/mcp-tools/analyze-tools.js +172 -236
  180. package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
  181. package/dist/src/mcp-tools/auto-install.d.ts +83 -0
  182. package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
  183. package/dist/src/mcp-tools/auto-install.js +80 -142
  184. package/dist/src/mcp-tools/auto-install.js.map +1 -1
  185. package/dist/src/mcp-tools/browser-tools.js +252 -375
  186. package/dist/src/mcp-tools/browser-tools.js.map +1 -1
  187. package/dist/src/mcp-tools/claims-tools.js +473 -565
  188. package/dist/src/mcp-tools/claims-tools.js.map +1 -1
  189. package/dist/src/mcp-tools/config-tools.js +197 -272
  190. package/dist/src/mcp-tools/config-tools.js.map +1 -1
  191. package/dist/src/mcp-tools/coordination-tools.js +500 -572
  192. package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
  193. package/dist/src/mcp-tools/daa-tools.js +286 -364
  194. package/dist/src/mcp-tools/daa-tools.js.map +1 -1
  195. package/dist/src/mcp-tools/embeddings-tools.js +582 -693
  196. package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
  197. package/dist/src/mcp-tools/github-tools.js +260 -311
  198. package/dist/src/mcp-tools/github-tools.js.map +1 -1
  199. package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
  200. package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
  201. package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
  202. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  203. package/dist/src/mcp-tools/memory-tools.js +350 -505
  204. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  205. package/dist/src/mcp-tools/neural-tools.js +315 -412
  206. package/dist/src/mcp-tools/neural-tools.js.map +1 -1
  207. package/dist/src/mcp-tools/performance-tools.js +420 -480
  208. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  209. package/dist/src/mcp-tools/progress-tools.js +204 -278
  210. package/dist/src/mcp-tools/progress-tools.js.map +1 -1
  211. package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
  212. package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
  213. package/dist/src/mcp-tools/security-tools.js +297 -429
  214. package/dist/src/mcp-tools/security-tools.js.map +1 -1
  215. package/dist/src/mcp-tools/session-tools.js +185 -234
  216. package/dist/src/mcp-tools/session-tools.js.map +1 -1
  217. package/dist/src/mcp-tools/swarm-tools.js +207 -260
  218. package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
  219. package/dist/src/mcp-tools/system-tools.js +276 -325
  220. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  221. package/dist/src/mcp-tools/task-tools.js +270 -336
  222. package/dist/src/mcp-tools/task-tools.js.map +1 -1
  223. package/dist/src/mcp-tools/terminal-tools.js +148 -196
  224. package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
  225. package/dist/src/mcp-tools/transfer-tools.js +186 -333
  226. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  227. package/dist/src/mcp-tools/types.d.ts +31 -0
  228. package/dist/src/mcp-tools/types.d.ts.map +1 -0
  229. package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
  230. package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
  231. package/dist/src/mcp-tools/workflow-tools.js +405 -450
  232. package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
  233. package/dist/src/memory/ewc-consolidation.d.ts +295 -0
  234. package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
  235. package/dist/src/memory/ewc-consolidation.js +190 -303
  236. package/dist/src/memory/ewc-consolidation.js.map +1 -1
  237. package/dist/src/memory/intelligence.d.ts +338 -0
  238. package/dist/src/memory/intelligence.d.ts.map +1 -0
  239. package/dist/src/memory/intelligence.js +569 -794
  240. package/dist/src/memory/intelligence.js.map +1 -1
  241. package/dist/src/memory/memory-bridge.d.ts +407 -0
  242. package/dist/src/memory/memory-bridge.d.ts.map +1 -0
  243. package/dist/src/memory/memory-bridge.js +1170 -1640
  244. package/dist/src/memory/memory-bridge.js.map +1 -1
  245. package/dist/src/memory/memory-initializer.d.ts +412 -0
  246. package/dist/src/memory/memory-initializer.d.ts.map +1 -0
  247. package/dist/src/memory/memory-initializer.js +1836 -1851
  248. package/dist/src/memory/memory-initializer.js.map +1 -1
  249. package/dist/src/memory/sona-optimizer.d.ts +227 -0
  250. package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
  251. package/dist/src/memory/sona-optimizer.js +199 -329
  252. package/dist/src/memory/sona-optimizer.js.map +1 -1
  253. package/dist/src/output.d.ts +2 -2
  254. package/dist/src/output.d.ts.map +1 -1
  255. package/dist/src/output.js +242 -272
  256. package/dist/src/output.js.map +1 -1
  257. package/dist/src/parser.d.ts +51 -0
  258. package/dist/src/parser.d.ts.map +1 -0
  259. package/dist/src/parser.js +140 -187
  260. package/dist/src/parser.js.map +1 -1
  261. package/dist/src/plugins/manager.d.ts +133 -0
  262. package/dist/src/plugins/manager.d.ts.map +1 -0
  263. package/dist/src/plugins/manager.js +285 -521
  264. package/dist/src/plugins/manager.js.map +1 -1
  265. package/dist/src/plugins/store/discovery.d.ts +88 -0
  266. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  267. package/dist/src/plugins/store/discovery.js +271 -358
  268. package/dist/src/plugins/store/discovery.js.map +1 -1
  269. package/dist/src/plugins/store/index.d.ts +76 -0
  270. package/dist/src/plugins/store/index.d.ts.map +1 -0
  271. package/dist/src/plugins/store/index.js +48 -105
  272. package/dist/src/plugins/store/index.js.map +1 -1
  273. package/dist/src/plugins/store/search.d.ts +46 -0
  274. package/dist/src/plugins/store/search.d.ts.map +1 -0
  275. package/dist/src/plugins/store/search.js +69 -107
  276. package/dist/src/plugins/store/search.js.map +1 -1
  277. package/dist/src/plugins/store/types.d.ts +274 -0
  278. package/dist/src/plugins/store/types.d.ts.map +1 -0
  279. package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
  280. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
  281. package/dist/src/plugins/tests/standalone-test.js +172 -223
  282. package/dist/src/plugins/tests/standalone-test.js.map +1 -1
  283. package/dist/src/plugins/tests/test-plugin-store.js +190 -228
  284. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
  285. package/dist/src/production/circuit-breaker.d.ts +101 -0
  286. package/dist/src/production/circuit-breaker.d.ts.map +1 -0
  287. package/dist/src/production/circuit-breaker.js +62 -126
  288. package/dist/src/production/circuit-breaker.js.map +1 -1
  289. package/dist/src/production/error-handler.d.ts +92 -0
  290. package/dist/src/production/error-handler.d.ts.map +1 -0
  291. package/dist/src/production/error-handler.js +86 -156
  292. package/dist/src/production/error-handler.js.map +1 -1
  293. package/dist/src/production/monitoring.d.ts +161 -0
  294. package/dist/src/production/monitoring.d.ts.map +1 -0
  295. package/dist/src/production/monitoring.js +139 -220
  296. package/dist/src/production/monitoring.js.map +1 -1
  297. package/dist/src/production/rate-limiter.d.ts +80 -0
  298. package/dist/src/production/rate-limiter.d.ts.map +1 -0
  299. package/dist/src/production/rate-limiter.js +74 -93
  300. package/dist/src/production/rate-limiter.js.map +1 -1
  301. package/dist/src/production/retry.d.ts +48 -0
  302. package/dist/src/production/retry.d.ts.map +1 -0
  303. package/dist/src/production/retry.js +75 -167
  304. package/dist/src/production/retry.js.map +1 -1
  305. package/dist/src/prompt.d.ts +44 -0
  306. package/dist/src/prompt.d.ts.map +1 -0
  307. package/dist/src/prompt.js +436 -560
  308. package/dist/src/prompt.js.map +1 -1
  309. package/dist/src/runtime/headless.d.ts +60 -0
  310. package/dist/src/runtime/headless.d.ts.map +1 -0
  311. package/dist/src/runtime/headless.js +197 -286
  312. package/dist/src/runtime/headless.js.map +1 -1
  313. package/dist/src/ruvector/agent-wasm.d.ts +182 -0
  314. package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
  315. package/dist/src/ruvector/agent-wasm.js +156 -351
  316. package/dist/src/ruvector/agent-wasm.js.map +1 -1
  317. package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
  318. package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
  319. package/dist/src/ruvector/ast-analyzer.js +145 -232
  320. package/dist/src/ruvector/ast-analyzer.js.map +1 -1
  321. package/dist/src/ruvector/coverage-router.d.ts +160 -0
  322. package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
  323. package/dist/src/ruvector/coverage-router.js +287 -419
  324. package/dist/src/ruvector/coverage-router.js.map +1 -1
  325. package/dist/src/ruvector/coverage-tools.js +56 -101
  326. package/dist/src/ruvector/coverage-tools.js.map +1 -1
  327. package/dist/src/ruvector/diff-classifier.d.ts +175 -0
  328. package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
  329. package/dist/src/ruvector/diff-classifier.js +324 -451
  330. package/dist/src/ruvector/diff-classifier.js.map +1 -1
  331. package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
  332. package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
  333. package/dist/src/ruvector/enhanced-model-router.js +260 -336
  334. package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
  335. package/dist/src/ruvector/flash-attention.d.ts +195 -0
  336. package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
  337. package/dist/src/ruvector/flash-attention.js +223 -254
  338. package/dist/src/ruvector/flash-attention.js.map +1 -1
  339. package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
  340. package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
  341. package/dist/src/ruvector/graph-analyzer.js +486 -680
  342. package/dist/src/ruvector/graph-analyzer.js.map +1 -1
  343. package/dist/src/ruvector/index.d.ts +40 -0
  344. package/dist/src/ruvector/index.d.ts.map +1 -0
  345. package/dist/src/ruvector/index.js +36 -106
  346. package/dist/src/ruvector/index.js.map +1 -1
  347. package/dist/src/ruvector/lora-adapter.d.ts +218 -0
  348. package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
  349. package/dist/src/ruvector/lora-adapter.js +155 -248
  350. package/dist/src/ruvector/lora-adapter.js.map +1 -1
  351. package/dist/src/ruvector/model-router.d.ts +220 -0
  352. package/dist/src/ruvector/model-router.d.ts.map +1 -0
  353. package/dist/src/ruvector/model-router.js +175 -248
  354. package/dist/src/ruvector/model-router.js.map +1 -1
  355. package/dist/src/ruvector/moe-router.d.ts +206 -0
  356. package/dist/src/ruvector/moe-router.d.ts.map +1 -0
  357. package/dist/src/ruvector/moe-router.js +228 -286
  358. package/dist/src/ruvector/moe-router.js.map +1 -1
  359. package/dist/src/ruvector/q-learning-router.d.ts +211 -0
  360. package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
  361. package/dist/src/ruvector/q-learning-router.js +257 -338
  362. package/dist/src/ruvector/q-learning-router.js.map +1 -1
  363. package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
  364. package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
  365. package/dist/src/ruvector/ruvllm-wasm.js +270 -434
  366. package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
  367. package/dist/src/ruvector/semantic-router.d.ts +77 -0
  368. package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
  369. package/dist/src/ruvector/semantic-router.js +60 -67
  370. package/dist/src/ruvector/semantic-router.js.map +1 -1
  371. package/dist/src/ruvector/vector-db.d.ts +69 -0
  372. package/dist/src/ruvector/vector-db.d.ts.map +1 -0
  373. package/dist/src/ruvector/vector-db.js +119 -205
  374. package/dist/src/ruvector/vector-db.js.map +1 -1
  375. package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
  376. package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
  377. package/dist/src/services/agentic-flow-bridge.js +32 -105
  378. package/dist/src/services/agentic-flow-bridge.js.map +1 -1
  379. package/dist/src/services/claim-service.d.ts +204 -0
  380. package/dist/src/services/claim-service.d.ts.map +1 -0
  381. package/dist/src/services/claim-service.js +615 -940
  382. package/dist/src/services/claim-service.js.map +1 -1
  383. package/dist/src/services/container-worker-pool.d.ts +197 -0
  384. package/dist/src/services/container-worker-pool.d.ts.map +1 -0
  385. package/dist/src/services/container-worker-pool.js +398 -666
  386. package/dist/src/services/container-worker-pool.js.map +1 -1
  387. package/dist/src/services/headless-worker-executor.d.ts +304 -0
  388. package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
  389. package/dist/src/services/headless-worker-executor.js +441 -467
  390. package/dist/src/services/headless-worker-executor.js.map +1 -1
  391. package/dist/src/services/index.d.ts +4 -4
  392. package/dist/src/services/index.d.ts.map +1 -1
  393. package/dist/src/services/index.js +4 -4
  394. package/dist/src/services/index.js.map +1 -1
  395. package/dist/src/services/registry-api.d.ts +58 -0
  396. package/dist/src/services/registry-api.d.ts.map +1 -0
  397. package/dist/src/services/registry-api.js +92 -200
  398. package/dist/src/services/registry-api.js.map +1 -1
  399. package/dist/src/services/ruvector-training.d.ts +222 -0
  400. package/dist/src/services/ruvector-training.d.ts.map +1 -0
  401. package/dist/src/services/ruvector-training.js +257 -337
  402. package/dist/src/services/ruvector-training.js.map +1 -1
  403. package/dist/src/services/worker-daemon.d.ts +228 -0
  404. package/dist/src/services/worker-daemon.d.ts.map +1 -0
  405. package/dist/src/services/worker-daemon.js +591 -849
  406. package/dist/src/services/worker-daemon.js.map +1 -1
  407. package/dist/src/services/worker-queue.d.ts +194 -0
  408. package/dist/src/services/worker-queue.d.ts.map +1 -0
  409. package/dist/src/services/worker-queue.js +331 -548
  410. package/dist/src/services/worker-queue.js.map +1 -1
  411. package/dist/src/suggest.d.ts +53 -0
  412. package/dist/src/suggest.d.ts.map +1 -0
  413. package/dist/src/suggest.js +45 -55
  414. package/dist/src/suggest.js.map +1 -1
  415. package/dist/src/transfer/anonymization/index.js +29 -37
  416. package/dist/src/transfer/anonymization/index.js.map +1 -1
  417. package/dist/src/transfer/deploy-seraphine.js +128 -155
  418. package/dist/src/transfer/deploy-seraphine.js.map +1 -1
  419. package/dist/src/transfer/export.d.ts +25 -0
  420. package/dist/src/transfer/export.d.ts.map +1 -0
  421. package/dist/src/transfer/export.js +84 -142
  422. package/dist/src/transfer/export.js.map +1 -1
  423. package/dist/src/transfer/index.d.ts +1 -1
  424. package/dist/src/transfer/index.d.ts.map +1 -1
  425. package/dist/src/transfer/index.js +0 -2
  426. package/dist/src/transfer/index.js.map +1 -1
  427. package/dist/src/transfer/ipfs/client.d.ts +109 -0
  428. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  429. package/dist/src/transfer/ipfs/client.js +187 -337
  430. package/dist/src/transfer/ipfs/client.js.map +1 -1
  431. package/dist/src/transfer/ipfs/upload.d.ts +95 -0
  432. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  433. package/dist/src/transfer/ipfs/upload.js +288 -434
  434. package/dist/src/transfer/ipfs/upload.js.map +1 -1
  435. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  436. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  437. package/dist/src/transfer/models/seraphine.js +55 -55
  438. package/dist/src/transfer/models/seraphine.js.map +1 -1
  439. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  440. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  441. package/dist/src/transfer/serialization/cfp.js +30 -31
  442. package/dist/src/transfer/serialization/cfp.js.map +1 -1
  443. package/dist/src/transfer/storage/gcs.d.ts +82 -0
  444. package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
  445. package/dist/src/transfer/storage/gcs.js +165 -232
  446. package/dist/src/transfer/storage/gcs.js.map +1 -1
  447. package/dist/src/transfer/store/discovery.d.ts +84 -0
  448. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  449. package/dist/src/transfer/store/discovery.js +239 -349
  450. package/dist/src/transfer/store/discovery.js.map +1 -1
  451. package/dist/src/transfer/store/download.d.ts +70 -0
  452. package/dist/src/transfer/store/download.d.ts.map +1 -0
  453. package/dist/src/transfer/store/download.js +243 -365
  454. package/dist/src/transfer/store/download.js.map +1 -1
  455. package/dist/src/transfer/store/index.d.ts +84 -0
  456. package/dist/src/transfer/store/index.d.ts.map +1 -0
  457. package/dist/src/transfer/store/index.js +63 -130
  458. package/dist/src/transfer/store/index.js.map +1 -1
  459. package/dist/src/transfer/store/publish.d.ts +76 -0
  460. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  461. package/dist/src/transfer/store/publish.js +184 -258
  462. package/dist/src/transfer/store/publish.js.map +1 -1
  463. package/dist/src/transfer/store/registry.js +50 -72
  464. package/dist/src/transfer/store/registry.js.map +1 -1
  465. package/dist/src/transfer/store/search.d.ts +54 -0
  466. package/dist/src/transfer/store/search.d.ts.map +1 -0
  467. package/dist/src/transfer/store/search.js +64 -96
  468. package/dist/src/transfer/store/search.js.map +1 -1
  469. package/dist/src/transfer/store/tests/standalone-test.js +174 -231
  470. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
  471. package/dist/src/transfer/test-seraphine.js +95 -130
  472. package/dist/src/transfer/test-seraphine.js.map +1 -1
  473. package/dist/src/transfer/tests/test-store.js +194 -239
  474. package/dist/src/transfer/tests/test-store.js.map +1 -1
  475. package/dist/src/transfer/types.d.ts +245 -0
  476. package/dist/src/transfer/types.d.ts.map +1 -0
  477. package/dist/src/types.d.ts +198 -0
  478. package/dist/src/types.d.ts.map +1 -0
  479. package/dist/src/types.js +26 -55
  480. package/dist/src/types.js.map +1 -1
  481. package/dist/src/update/checker.d.ts +34 -0
  482. package/dist/src/update/checker.d.ts.map +1 -0
  483. package/dist/src/update/checker.js +106 -183
  484. package/dist/src/update/checker.js.map +1 -1
  485. package/dist/src/update/executor.d.ts +32 -0
  486. package/dist/src/update/executor.d.ts.map +1 -0
  487. package/dist/src/update/executor.js +135 -198
  488. package/dist/src/update/executor.js.map +1 -1
  489. package/dist/src/update/index.d.ts +33 -0
  490. package/dist/src/update/index.d.ts.map +1 -0
  491. package/dist/src/update/index.js +38 -85
  492. package/dist/src/update/index.js.map +1 -1
  493. package/dist/src/update/rate-limiter.d.ts +20 -0
  494. package/dist/src/update/rate-limiter.d.ts.map +1 -0
  495. package/dist/src/update/rate-limiter.js +19 -31
  496. package/dist/src/update/rate-limiter.js.map +1 -1
  497. package/dist/src/update/validator.d.ts +17 -0
  498. package/dist/src/update/validator.d.ts.map +1 -0
  499. package/dist/src/update/validator.js +38 -64
  500. package/dist/src/update/validator.js.map +1 -1
  501. package/dist/tsconfig.tsbuildinfo +1 -1
  502. package/package.json +1 -1
@@ -2,53 +2,6 @@
2
2
  * V3 CLI RuVector Status Command
3
3
  * Check connection and schema status
4
4
  */
5
- var __assign = (this && this.__assign) || function () {
6
- __assign = Object.assign || function(t) {
7
- for (var s, i = 1, n = arguments.length; i < n; i++) {
8
- s = arguments[i];
9
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
- t[p] = s[p];
11
- }
12
- return t;
13
- };
14
- return __assign.apply(this, arguments);
15
- };
16
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
- return new (P || (P = Promise))(function (resolve, reject) {
19
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
- step((generator = generator.apply(thisArg, _arguments || [])).next());
23
- });
24
- };
25
- var __generator = (this && this.__generator) || function (thisArg, body) {
26
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
27
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
28
- function verb(n) { return function (v) { return step([n, v]); }; }
29
- function step(op) {
30
- if (f) throw new TypeError("Generator is already executing.");
31
- while (_) try {
32
- 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;
33
- if (y = 0, t) op = [op[0] & 2, t.value];
34
- switch (op[0]) {
35
- case 0: case 1: t = op; break;
36
- case 4: _.label++; return { value: op[1], done: false };
37
- case 5: _.label++; y = op[1]; op = [0]; continue;
38
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
39
- default:
40
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
41
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
42
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
43
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
44
- if (t[2]) _.ops.pop();
45
- _.trys.pop(); continue;
46
- }
47
- op = body.call(thisArg, _);
48
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
49
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
50
- }
51
- };
52
5
  import { output } from '../../output.js';
53
6
  /**
54
7
  * Get PostgreSQL connection config from context
@@ -61,7 +14,7 @@ function getConnectionConfig(ctx) {
61
14
  user: ctx.flags.user || process.env.PGUSER || 'postgres',
62
15
  password: ctx.flags.password || process.env.PGPASSWORD || '',
63
16
  ssl: ctx.flags.ssl || process.env.PGSSLMODE === 'require',
64
- schema: ctx.flags.schema || 'claude_flow'
17
+ schema: ctx.flags.schema || 'claude_flow',
65
18
  };
66
19
  }
67
20
  /**
@@ -70,15 +23,15 @@ function getConnectionConfig(ctx) {
70
23
  function formatBytes(bytes) {
71
24
  if (bytes === 0)
72
25
  return '0 B';
73
- var k = 1024;
74
- var sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
75
- var i = Math.floor(Math.log(bytes) / Math.log(k));
26
+ const k = 1024;
27
+ const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
28
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
76
29
  return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
77
30
  }
78
31
  /**
79
32
  * RuVector status command
80
33
  */
81
- export var statusCommand = {
34
+ export const statusCommand = {
82
35
  name: 'status',
83
36
  description: 'Check connection and schema status',
84
37
  options: [
@@ -87,57 +40,57 @@ export var statusCommand = {
87
40
  short: 'v',
88
41
  description: 'Show detailed information',
89
42
  type: 'boolean',
90
- "default": false
43
+ default: false,
91
44
  },
92
45
  {
93
46
  name: 'json',
94
47
  description: 'Output as JSON',
95
48
  type: 'boolean',
96
- "default": false
49
+ default: false,
97
50
  },
98
51
  {
99
52
  name: 'host',
100
53
  short: 'h',
101
54
  description: 'PostgreSQL host',
102
55
  type: 'string',
103
- "default": 'localhost'
56
+ default: 'localhost',
104
57
  },
105
58
  {
106
59
  name: 'port',
107
60
  short: 'p',
108
61
  description: 'PostgreSQL port',
109
62
  type: 'number',
110
- "default": 5432
63
+ default: 5432,
111
64
  },
112
65
  {
113
66
  name: 'database',
114
67
  short: 'd',
115
68
  description: 'Database name',
116
- type: 'string'
69
+ type: 'string',
117
70
  },
118
71
  {
119
72
  name: 'user',
120
73
  short: 'u',
121
74
  description: 'Database user',
122
- type: 'string'
75
+ type: 'string',
123
76
  },
124
77
  {
125
78
  name: 'password',
126
79
  description: 'Database password',
127
- type: 'string'
80
+ type: 'string',
128
81
  },
129
82
  {
130
83
  name: 'ssl',
131
84
  description: 'Enable SSL',
132
85
  type: 'boolean',
133
- "default": false
86
+ default: false,
134
87
  },
135
88
  {
136
89
  name: 'schema',
137
90
  short: 's',
138
91
  description: 'Schema name',
139
92
  type: 'string',
140
- "default": 'claude_flow'
93
+ default: 'claude_flow',
141
94
  },
142
95
  ],
143
96
  examples: [
@@ -145,367 +98,359 @@ export var statusCommand = {
145
98
  { command: 'claude-flow ruvector status --verbose', description: 'Show detailed info' },
146
99
  { command: 'claude-flow ruvector status --json', description: 'Output as JSON' },
147
100
  ],
148
- action: function (ctx) { return __awaiter(void 0, void 0, Promise, function () {
149
- var config, verbose, jsonOutput, statusData, spinner, pg, _a, startTime, client, connectionTime, versionResult, pgVersion, extensionResult, schemaResult, metadataResult, metadata, _i, _b, row, _c, tablesResult, tableStats, _d, _e, row, rowCount, countResult, _f, indexResult, migrationsResult, _g, pgvectorData, ruvectorData, migrations, embeddingsTable, error_1, errorMessage;
150
- return __generator(this, function (_h) {
151
- switch (_h.label) {
152
- case 0:
153
- config = getConnectionConfig(ctx);
154
- verbose = ctx.flags.verbose;
155
- jsonOutput = ctx.flags.json;
156
- if (!jsonOutput) {
157
- output.writeln();
158
- output.writeln(output.bold('RuVector PostgreSQL Status'));
159
- output.writeln(output.dim('='.repeat(60)));
160
- output.writeln();
161
- }
162
- if (!config.database) {
163
- if (jsonOutput) {
164
- output.printJson({ error: 'Database name required' });
165
- }
166
- else {
167
- output.printError('Database name is required. Use --database or -d flag, or set PGDATABASE env.');
168
- }
169
- return [2 /*return*/, { success: false, exitCode: 1 }];
170
- }
171
- statusData = {
172
- connection: {},
173
- pgvector: {},
174
- ruvector: {},
175
- tables: [],
176
- indexes: [],
177
- migrations: []
178
- };
179
- spinner = output.createSpinner({ text: 'Connecting to PostgreSQL...', spinner: 'dots' });
180
- if (!jsonOutput)
181
- spinner.start();
182
- _h.label = 1;
183
- case 1:
184
- _h.trys.push([1, 31, , 32]);
185
- pg = null;
186
- _h.label = 2;
187
- case 2:
188
- _h.trys.push([2, 4, , 5]);
189
- return [4 /*yield*/, import('pg')];
190
- case 3:
191
- pg = _h.sent();
192
- return [3 /*break*/, 5];
193
- case 4:
194
- _a = _h.sent();
195
- if (!jsonOutput)
196
- spinner.fail('PostgreSQL driver not found');
197
- if (jsonOutput) {
198
- output.printJson({ error: 'pg package not installed' });
199
- }
200
- else {
201
- output.printError('Install pg package: npm install pg');
202
- }
203
- return [2 /*return*/, { success: false, exitCode: 1 }];
204
- case 5:
205
- startTime = Date.now();
206
- client = new pg.Client({
207
- host: config.host,
208
- port: config.port,
209
- database: config.database,
210
- user: config.user,
211
- password: config.password,
212
- ssl: config.ssl ? { rejectUnauthorized: false } : false
213
- });
214
- return [4 /*yield*/, client.connect()];
215
- case 6:
216
- _h.sent();
217
- connectionTime = Date.now() - startTime;
218
- if (!jsonOutput)
219
- spinner.succeed("Connected in " + connectionTime + "ms");
220
- statusData.connection = {
221
- host: config.host,
222
- port: config.port,
223
- database: config.database,
224
- user: config.user,
225
- ssl: config.ssl,
226
- latency: connectionTime,
227
- status: 'connected'
228
- };
229
- return [4 /*yield*/, client.query('SELECT version()')];
230
- case 7:
231
- versionResult = _h.sent();
232
- pgVersion = versionResult.rows[0].version;
233
- statusData.connection.pgVersion = pgVersion;
234
- // Check pgvector extension
235
- if (!jsonOutput)
236
- spinner.setText('Checking pgvector extension...');
237
- spinner.start();
238
- return [4 /*yield*/, client.query("\n SELECT extversion FROM pg_extension WHERE extname = 'vector'\n ")];
239
- case 8:
240
- extensionResult = _h.sent();
241
- if (extensionResult.rows.length === 0) {
242
- statusData.pgvector = { installed: false };
243
- if (!jsonOutput) {
244
- spinner.succeed(output.warning('pgvector extension not installed'));
245
- }
246
- }
247
- else {
248
- statusData.pgvector = {
249
- installed: true,
250
- version: extensionResult.rows[0].extversion
251
- };
252
- if (!jsonOutput) {
253
- spinner.succeed("pgvector v" + extensionResult.rows[0].extversion + " installed");
254
- }
255
- }
256
- // Check schema exists
257
- if (!jsonOutput)
258
- spinner.setText("Checking schema \"" + config.schema + "\"...");
259
- spinner.start();
260
- return [4 /*yield*/, client.query("\n SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1\n ", [config.schema])];
261
- case 9:
262
- schemaResult = _h.sent();
263
- if (!(schemaResult.rows.length === 0)) return [3 /*break*/, 11];
264
- statusData.ruvector = { initialized: false };
265
- if (!jsonOutput) {
266
- spinner.succeed(output.warning("Schema \"" + config.schema + "\" not found"));
267
- output.printInfo('Run `claude-flow ruvector init` to initialize');
268
- }
269
- if (jsonOutput) {
270
- output.printJson(statusData);
271
- }
272
- return [4 /*yield*/, client.end()];
273
- case 10:
274
- _h.sent();
275
- return [2 /*return*/, { success: true, data: statusData }];
276
- case 11:
277
- if (!jsonOutput)
278
- spinner.succeed("Schema \"" + config.schema + "\" found");
279
- // Get RuVector metadata
280
- if (!jsonOutput)
281
- spinner.setText('Loading RuVector metadata...');
282
- spinner.start();
283
- _h.label = 12;
284
- case 12:
285
- _h.trys.push([12, 14, , 15]);
286
- return [4 /*yield*/, client.query("\n SELECT key, value FROM " + config.schema + ".metadata\n ")];
287
- case 13:
288
- metadataResult = _h.sent();
289
- metadata = {};
290
- for (_i = 0, _b = metadataResult.rows; _i < _b.length; _i++) {
291
- row = _b[_i];
292
- metadata[row.key] = JSON.parse(row.value);
293
- }
294
- statusData.ruvector = {
295
- initialized: true,
296
- version: metadata.ruvector_version || 'unknown',
297
- dimensions: metadata.dimensions || 1536,
298
- initializedAt: metadata.initialized_at
299
- };
300
- if (!jsonOutput)
301
- spinner.succeed('RuVector metadata loaded');
302
- return [3 /*break*/, 15];
303
- case 14:
304
- _c = _h.sent();
305
- statusData.ruvector = { initialized: true, version: 'unknown' };
306
- if (!jsonOutput)
307
- spinner.succeed(output.warning('Could not load RuVector metadata'));
308
- return [3 /*break*/, 15];
309
- case 15:
310
- // Get table statistics
311
- if (!jsonOutput)
312
- spinner.setText('Gathering table statistics...');
313
- spinner.start();
314
- return [4 /*yield*/, client.query("\n SELECT\n t.table_name,\n pg_relation_size(quote_ident(t.table_schema) || '.' || quote_ident(t.table_name)) as table_size,\n pg_total_relation_size(quote_ident(t.table_schema) || '.' || quote_ident(t.table_name)) as total_size,\n (SELECT count(*) FROM " + config.schema + ".embeddings) as row_count\n FROM information_schema.tables t\n WHERE t.table_schema = $1\n ORDER BY t.table_name\n ", [config.schema])];
315
- case 16:
316
- tablesResult = _h.sent();
317
- tableStats = [];
318
- _d = 0, _e = tablesResult.rows;
319
- _h.label = 17;
320
- case 17:
321
- if (!(_d < _e.length)) return [3 /*break*/, 23];
322
- row = _e[_d];
323
- rowCount = 0;
324
- _h.label = 18;
325
- case 18:
326
- _h.trys.push([18, 20, , 21]);
327
- return [4 /*yield*/, client.query("\n SELECT count(*) as cnt FROM " + config.schema + "." + row.table_name + "\n ")];
328
- case 19:
329
- countResult = _h.sent();
101
+ action: async (ctx) => {
102
+ const config = getConnectionConfig(ctx);
103
+ const verbose = ctx.flags.verbose;
104
+ const jsonOutput = ctx.flags.json;
105
+ if (!jsonOutput) {
106
+ output.writeln();
107
+ output.writeln(output.bold('RuVector PostgreSQL Status'));
108
+ output.writeln(output.dim('='.repeat(60)));
109
+ output.writeln();
110
+ }
111
+ if (!config.database) {
112
+ if (jsonOutput) {
113
+ output.printJson({ error: 'Database name required' });
114
+ }
115
+ else {
116
+ output.printError('Database name is required. Use --database or -d flag, or set PGDATABASE env.');
117
+ }
118
+ return { success: false, exitCode: 1 };
119
+ }
120
+ const statusData = {
121
+ connection: {},
122
+ pgvector: {},
123
+ ruvector: {},
124
+ tables: [],
125
+ indexes: [],
126
+ migrations: [],
127
+ };
128
+ const spinner = output.createSpinner({ text: 'Connecting to PostgreSQL...', spinner: 'dots' });
129
+ if (!jsonOutput)
130
+ spinner.start();
131
+ try {
132
+ // Import pg
133
+ let pg = null;
134
+ try {
135
+ pg = await import('pg');
136
+ }
137
+ catch {
138
+ if (!jsonOutput)
139
+ spinner.fail('PostgreSQL driver not found');
140
+ if (jsonOutput) {
141
+ output.printJson({ error: 'pg package not installed' });
142
+ }
143
+ else {
144
+ output.printError('Install pg package: npm install pg');
145
+ }
146
+ return { success: false, exitCode: 1 };
147
+ }
148
+ const startTime = Date.now();
149
+ const client = new pg.Client({
150
+ host: config.host,
151
+ port: config.port,
152
+ database: config.database,
153
+ user: config.user,
154
+ password: config.password,
155
+ ssl: config.ssl ? { rejectUnauthorized: false } : false,
156
+ });
157
+ await client.connect();
158
+ const connectionTime = Date.now() - startTime;
159
+ if (!jsonOutput)
160
+ spinner.succeed(`Connected in ${connectionTime}ms`);
161
+ statusData.connection = {
162
+ host: config.host,
163
+ port: config.port,
164
+ database: config.database,
165
+ user: config.user,
166
+ ssl: config.ssl,
167
+ latency: connectionTime,
168
+ status: 'connected',
169
+ };
170
+ // Get PostgreSQL version
171
+ const versionResult = await client.query('SELECT version()');
172
+ const pgVersion = versionResult.rows[0].version;
173
+ statusData.connection.pgVersion = pgVersion;
174
+ // Check pgvector extension
175
+ if (!jsonOutput)
176
+ spinner.setText('Checking pgvector extension...');
177
+ spinner.start();
178
+ const extensionResult = await client.query(`
179
+ SELECT extversion FROM pg_extension WHERE extname = 'vector'
180
+ `);
181
+ if (extensionResult.rows.length === 0) {
182
+ statusData.pgvector = { installed: false };
183
+ if (!jsonOutput) {
184
+ spinner.succeed(output.warning('pgvector extension not installed'));
185
+ }
186
+ }
187
+ else {
188
+ statusData.pgvector = {
189
+ installed: true,
190
+ version: extensionResult.rows[0].extversion,
191
+ };
192
+ if (!jsonOutput) {
193
+ spinner.succeed(`pgvector v${extensionResult.rows[0].extversion} installed`);
194
+ }
195
+ }
196
+ // Check schema exists
197
+ if (!jsonOutput)
198
+ spinner.setText(`Checking schema "${config.schema}"...`);
199
+ spinner.start();
200
+ const schemaResult = await client.query(`
201
+ SELECT schema_name FROM information_schema.schemata WHERE schema_name = $1
202
+ `, [config.schema]);
203
+ if (schemaResult.rows.length === 0) {
204
+ statusData.ruvector = { initialized: false };
205
+ if (!jsonOutput) {
206
+ spinner.succeed(output.warning(`Schema "${config.schema}" not found`));
207
+ output.printInfo('Run `claude-flow ruvector init` to initialize');
208
+ }
209
+ if (jsonOutput) {
210
+ output.printJson(statusData);
211
+ }
212
+ await client.end();
213
+ return { success: true, data: statusData };
214
+ }
215
+ if (!jsonOutput)
216
+ spinner.succeed(`Schema "${config.schema}" found`);
217
+ // Get RuVector metadata
218
+ if (!jsonOutput)
219
+ spinner.setText('Loading RuVector metadata...');
220
+ spinner.start();
221
+ try {
222
+ const metadataResult = await client.query(`
223
+ SELECT key, value FROM ${config.schema}.metadata
224
+ `);
225
+ const metadata = {};
226
+ for (const row of metadataResult.rows) {
227
+ metadata[row.key] = JSON.parse(row.value);
228
+ }
229
+ statusData.ruvector = {
230
+ initialized: true,
231
+ version: metadata.ruvector_version || 'unknown',
232
+ dimensions: metadata.dimensions || 1536,
233
+ initializedAt: metadata.initialized_at,
234
+ };
235
+ if (!jsonOutput)
236
+ spinner.succeed('RuVector metadata loaded');
237
+ }
238
+ catch {
239
+ statusData.ruvector = { initialized: true, version: 'unknown' };
240
+ if (!jsonOutput)
241
+ spinner.succeed(output.warning('Could not load RuVector metadata'));
242
+ }
243
+ // Get table statistics
244
+ if (!jsonOutput)
245
+ spinner.setText('Gathering table statistics...');
246
+ spinner.start();
247
+ const tablesResult = await client.query(`
248
+ SELECT
249
+ t.table_name,
250
+ pg_relation_size(quote_ident(t.table_schema) || '.' || quote_ident(t.table_name)) as table_size,
251
+ pg_total_relation_size(quote_ident(t.table_schema) || '.' || quote_ident(t.table_name)) as total_size,
252
+ (SELECT count(*) FROM ${config.schema}.embeddings) as row_count
253
+ FROM information_schema.tables t
254
+ WHERE t.table_schema = $1
255
+ ORDER BY t.table_name
256
+ `, [config.schema]);
257
+ const tableStats = [];
258
+ for (const row of tablesResult.rows) {
259
+ // Get row count for each table
260
+ let rowCount = 0;
261
+ try {
262
+ const countResult = await client.query(`
263
+ SELECT count(*) as cnt FROM ${config.schema}.${row.table_name}
264
+ `);
330
265
  rowCount = parseInt(countResult.rows[0].cnt, 10);
331
- return [3 /*break*/, 21];
332
- case 20:
333
- _f = _h.sent();
334
- return [3 /*break*/, 21];
335
- case 21:
336
- tableStats.push({
337
- name: row.table_name,
338
- rows: rowCount,
339
- size: formatBytes(parseInt(row.table_size, 10)),
340
- totalSize: formatBytes(parseInt(row.total_size, 10))
266
+ }
267
+ catch {
268
+ // Skip if can't count
269
+ }
270
+ tableStats.push({
271
+ name: row.table_name,
272
+ rows: rowCount,
273
+ size: formatBytes(parseInt(row.table_size, 10)),
274
+ totalSize: formatBytes(parseInt(row.total_size, 10)),
275
+ });
276
+ }
277
+ statusData.tables = tableStats;
278
+ if (!jsonOutput)
279
+ spinner.succeed(`Found ${tableStats.length} tables`);
280
+ // Get index information
281
+ if (verbose) {
282
+ if (!jsonOutput)
283
+ spinner.setText('Gathering index information...');
284
+ spinner.start();
285
+ const indexResult = await client.query(`
286
+ SELECT
287
+ i.relname as index_name,
288
+ t.relname as table_name,
289
+ am.amname as index_type,
290
+ pg_relation_size(i.oid) as index_size,
291
+ idx.indisvalid as is_valid,
292
+ idx.indisunique as is_unique
293
+ FROM pg_index idx
294
+ JOIN pg_class i ON i.oid = idx.indexrelid
295
+ JOIN pg_class t ON t.oid = idx.indrelid
296
+ JOIN pg_namespace n ON n.oid = t.relnamespace
297
+ JOIN pg_am am ON am.oid = i.relam
298
+ WHERE n.nspname = $1
299
+ ORDER BY t.relname, i.relname
300
+ `, [config.schema]);
301
+ statusData.indexes = indexResult.rows.map(row => ({
302
+ name: row.index_name,
303
+ table: row.table_name,
304
+ type: row.index_type,
305
+ size: formatBytes(parseInt(row.index_size, 10)),
306
+ valid: row.is_valid,
307
+ unique: row.is_unique,
308
+ }));
309
+ if (!jsonOutput)
310
+ spinner.succeed(`Found ${indexResult.rows.length} indexes`);
311
+ }
312
+ // Get migration status
313
+ if (!jsonOutput)
314
+ spinner.setText('Checking migration status...');
315
+ spinner.start();
316
+ try {
317
+ const migrationsResult = await client.query(`
318
+ SELECT version, name, applied_at
319
+ FROM ${config.schema}.migrations
320
+ ORDER BY version ASC
321
+ `);
322
+ statusData.migrations = migrationsResult.rows.map(row => ({
323
+ version: row.version,
324
+ name: row.name,
325
+ appliedAt: row.applied_at,
326
+ }));
327
+ if (!jsonOutput)
328
+ spinner.succeed(`${migrationsResult.rows.length} migrations applied`);
329
+ }
330
+ catch {
331
+ statusData.migrations = [];
332
+ if (!jsonOutput)
333
+ spinner.succeed(output.warning('Could not read migrations table'));
334
+ }
335
+ await client.end();
336
+ // Output results
337
+ if (jsonOutput) {
338
+ output.printJson(statusData);
339
+ }
340
+ else {
341
+ output.writeln();
342
+ // Connection info
343
+ output.writeln(output.highlight('Connection:'));
344
+ output.printTable({
345
+ columns: [
346
+ { key: 'property', header: 'Property', width: 20 },
347
+ { key: 'value', header: 'Value', width: 40 },
348
+ ],
349
+ data: [
350
+ { property: 'Host', value: config.host },
351
+ { property: 'Port', value: String(config.port) },
352
+ { property: 'Database', value: config.database },
353
+ { property: 'User', value: config.user },
354
+ { property: 'SSL', value: config.ssl ? 'Enabled' : 'Disabled' },
355
+ { property: 'Latency', value: `${connectionTime}ms` },
356
+ ],
357
+ });
358
+ output.writeln();
359
+ // pgvector info
360
+ output.writeln(output.highlight('pgvector Extension:'));
361
+ const pgvectorData = statusData.pgvector;
362
+ output.writeln(` Status: ${pgvectorData.installed ? output.success('Installed') : output.error('Not Installed')}`);
363
+ if (pgvectorData.version) {
364
+ output.writeln(` Version: ${pgvectorData.version}`);
365
+ }
366
+ output.writeln();
367
+ // RuVector info
368
+ output.writeln(output.highlight('RuVector:'));
369
+ const ruvectorData = statusData.ruvector;
370
+ output.writeln(` Initialized: ${ruvectorData.initialized ? output.success('Yes') : output.error('No')}`);
371
+ if (ruvectorData.version) {
372
+ output.writeln(` Version: ${ruvectorData.version}`);
373
+ }
374
+ if (ruvectorData.dimensions) {
375
+ output.writeln(` Dimensions: ${ruvectorData.dimensions}`);
376
+ }
377
+ output.writeln();
378
+ // Table statistics
379
+ output.writeln(output.highlight('Table Statistics:'));
380
+ output.printTable({
381
+ columns: [
382
+ { key: 'name', header: 'Table', width: 30 },
383
+ { key: 'rows', header: 'Rows', width: 12 },
384
+ { key: 'size', header: 'Size', width: 12 },
385
+ { key: 'totalSize', header: 'Total Size', width: 12 },
386
+ ],
387
+ data: tableStats,
388
+ });
389
+ output.writeln();
390
+ // Index information (verbose only)
391
+ if (verbose && statusData.indexes.length > 0) {
392
+ output.writeln(output.highlight('Index Health:'));
393
+ output.printTable({
394
+ columns: [
395
+ { key: 'name', header: 'Index', width: 35 },
396
+ { key: 'table', header: 'Table', width: 20 },
397
+ { key: 'type', header: 'Type', width: 10 },
398
+ { key: 'size', header: 'Size', width: 10 },
399
+ { key: 'status', header: 'Status', width: 10 },
400
+ ],
401
+ data: statusData.indexes.map(idx => ({
402
+ ...idx,
403
+ status: idx.valid ? output.success('Valid') : output.error('Invalid'),
404
+ })),
341
405
  });
342
- _h.label = 22;
343
- case 22:
344
- _d++;
345
- return [3 /*break*/, 17];
346
- case 23:
347
- statusData.tables = tableStats;
348
- if (!jsonOutput)
349
- spinner.succeed("Found " + tableStats.length + " tables");
350
- if (!verbose) return [3 /*break*/, 25];
351
- if (!jsonOutput)
352
- spinner.setText('Gathering index information...');
353
- spinner.start();
354
- return [4 /*yield*/, client.query("\n SELECT\n i.relname as index_name,\n t.relname as table_name,\n am.amname as index_type,\n pg_relation_size(i.oid) as index_size,\n idx.indisvalid as is_valid,\n idx.indisunique as is_unique\n FROM pg_index idx\n JOIN pg_class i ON i.oid = idx.indexrelid\n JOIN pg_class t ON t.oid = idx.indrelid\n JOIN pg_namespace n ON n.oid = t.relnamespace\n JOIN pg_am am ON am.oid = i.relam\n WHERE n.nspname = $1\n ORDER BY t.relname, i.relname\n ", [config.schema])];
355
- case 24:
356
- indexResult = _h.sent();
357
- statusData.indexes = indexResult.rows.map(function (row) { return ({
358
- name: row.index_name,
359
- table: row.table_name,
360
- type: row.index_type,
361
- size: formatBytes(parseInt(row.index_size, 10)),
362
- valid: row.is_valid,
363
- unique: row.is_unique
364
- }); });
365
- if (!jsonOutput)
366
- spinner.succeed("Found " + indexResult.rows.length + " indexes");
367
- _h.label = 25;
368
- case 25:
369
- // Get migration status
370
- if (!jsonOutput)
371
- spinner.setText('Checking migration status...');
372
- spinner.start();
373
- _h.label = 26;
374
- case 26:
375
- _h.trys.push([26, 28, , 29]);
376
- return [4 /*yield*/, client.query("\n SELECT version, name, applied_at\n FROM " + config.schema + ".migrations\n ORDER BY version ASC\n ")];
377
- case 27:
378
- migrationsResult = _h.sent();
379
- statusData.migrations = migrationsResult.rows.map(function (row) { return ({
380
- version: row.version,
381
- name: row.name,
382
- appliedAt: row.applied_at
383
- }); });
384
- if (!jsonOutput)
385
- spinner.succeed(migrationsResult.rows.length + " migrations applied");
386
- return [3 /*break*/, 29];
387
- case 28:
388
- _g = _h.sent();
389
- statusData.migrations = [];
390
- if (!jsonOutput)
391
- spinner.succeed(output.warning('Could not read migrations table'));
392
- return [3 /*break*/, 29];
393
- case 29: return [4 /*yield*/, client.end()];
394
- case 30:
395
- _h.sent();
396
- // Output results
397
- if (jsonOutput) {
398
- output.printJson(statusData);
399
- }
400
- else {
401
- output.writeln();
402
- // Connection info
403
- output.writeln(output.highlight('Connection:'));
404
- output.printTable({
405
- columns: [
406
- { key: 'property', header: 'Property', width: 20 },
407
- { key: 'value', header: 'Value', width: 40 },
408
- ],
409
- data: [
410
- { property: 'Host', value: config.host },
411
- { property: 'Port', value: String(config.port) },
412
- { property: 'Database', value: config.database },
413
- { property: 'User', value: config.user },
414
- { property: 'SSL', value: config.ssl ? 'Enabled' : 'Disabled' },
415
- { property: 'Latency', value: connectionTime + "ms" },
416
- ]
417
- });
418
- output.writeln();
419
- // pgvector info
420
- output.writeln(output.highlight('pgvector Extension:'));
421
- pgvectorData = statusData.pgvector;
422
- output.writeln(" Status: " + (pgvectorData.installed ? output.success('Installed') : output.error('Not Installed')));
423
- if (pgvectorData.version) {
424
- output.writeln(" Version: " + pgvectorData.version);
425
- }
426
- output.writeln();
427
- // RuVector info
428
- output.writeln(output.highlight('RuVector:'));
429
- ruvectorData = statusData.ruvector;
430
- output.writeln(" Initialized: " + (ruvectorData.initialized ? output.success('Yes') : output.error('No')));
431
- if (ruvectorData.version) {
432
- output.writeln(" Version: " + ruvectorData.version);
433
- }
434
- if (ruvectorData.dimensions) {
435
- output.writeln(" Dimensions: " + ruvectorData.dimensions);
436
- }
437
- output.writeln();
438
- // Table statistics
439
- output.writeln(output.highlight('Table Statistics:'));
440
- output.printTable({
441
- columns: [
442
- { key: 'name', header: 'Table', width: 30 },
443
- { key: 'rows', header: 'Rows', width: 12 },
444
- { key: 'size', header: 'Size', width: 12 },
445
- { key: 'totalSize', header: 'Total Size', width: 12 },
446
- ],
447
- data: tableStats
448
- });
449
- output.writeln();
450
- // Index information (verbose only)
451
- if (verbose && statusData.indexes.length > 0) {
452
- output.writeln(output.highlight('Index Health:'));
453
- output.printTable({
454
- columns: [
455
- { key: 'name', header: 'Index', width: 35 },
456
- { key: 'table', header: 'Table', width: 20 },
457
- { key: 'type', header: 'Type', width: 10 },
458
- { key: 'size', header: 'Size', width: 10 },
459
- { key: 'status', header: 'Status', width: 10 },
460
- ],
461
- data: statusData.indexes.map(function (idx) { return (__assign(__assign({}, idx), { status: idx.valid ? output.success('Valid') : output.error('Invalid') })); })
462
- });
463
- output.writeln();
464
- }
465
- // Migration status
466
- output.writeln(output.highlight('Migrations:'));
467
- migrations = statusData.migrations;
468
- if (migrations.length === 0) {
469
- output.writeln(' No migrations applied');
470
- }
471
- else {
472
- output.printTable({
473
- columns: [
474
- { key: 'version', header: 'Version', width: 12 },
475
- { key: 'name', header: 'Name', width: 35 },
476
- { key: 'appliedAt', header: 'Applied At', width: 22 },
477
- ],
478
- data: migrations.map(function (m) { return (__assign(__assign({}, m), { appliedAt: new Date(m.appliedAt).toISOString().replace('T', ' ').substring(0, 19) })); })
479
- });
480
- }
481
- output.writeln();
482
- embeddingsTable = tableStats.find(function (t) { return t.name === 'embeddings'; });
483
- if (embeddingsTable) {
484
- output.printBox([
485
- "Total Vectors: " + embeddingsTable.rows.toLocaleString(),
486
- "Storage Used: " + embeddingsTable.totalSize,
487
- "Schema: " + config.schema,
488
- "Migrations: " + migrations.length + " applied",
489
- ].join('\n'), 'Summary');
490
- }
491
- }
492
- return [2 /*return*/, { success: true, data: statusData }];
493
- case 31:
494
- error_1 = _h.sent();
495
- if (!jsonOutput)
496
- spinner.fail('Status check failed');
497
- errorMessage = error_1 instanceof Error ? error_1.message : String(error_1);
498
- if (jsonOutput) {
499
- output.printJson({ error: errorMessage });
500
- }
501
- else {
502
- output.printError(errorMessage);
503
- }
504
- return [2 /*return*/, { success: false, exitCode: 1 }];
505
- case 32: return [2 /*return*/];
406
+ output.writeln();
407
+ }
408
+ // Migration status
409
+ output.writeln(output.highlight('Migrations:'));
410
+ const migrations = statusData.migrations;
411
+ if (migrations.length === 0) {
412
+ output.writeln(' No migrations applied');
413
+ }
414
+ else {
415
+ output.printTable({
416
+ columns: [
417
+ { key: 'version', header: 'Version', width: 12 },
418
+ { key: 'name', header: 'Name', width: 35 },
419
+ { key: 'appliedAt', header: 'Applied At', width: 22 },
420
+ ],
421
+ data: migrations.map(m => ({
422
+ ...m,
423
+ appliedAt: new Date(m.appliedAt).toISOString().replace('T', ' ').substring(0, 19),
424
+ })),
425
+ });
426
+ }
427
+ output.writeln();
428
+ // Summary
429
+ const embeddingsTable = tableStats.find(t => t.name === 'embeddings');
430
+ if (embeddingsTable) {
431
+ output.printBox([
432
+ `Total Vectors: ${embeddingsTable.rows.toLocaleString()}`,
433
+ `Storage Used: ${embeddingsTable.totalSize}`,
434
+ `Schema: ${config.schema}`,
435
+ `Migrations: ${migrations.length} applied`,
436
+ ].join('\n'), 'Summary');
437
+ }
506
438
  }
507
- });
508
- }); }
439
+ return { success: true, data: statusData };
440
+ }
441
+ catch (error) {
442
+ if (!jsonOutput)
443
+ spinner.fail('Status check failed');
444
+ const errorMessage = error instanceof Error ? error.message : String(error);
445
+ if (jsonOutput) {
446
+ output.printJson({ error: errorMessage });
447
+ }
448
+ else {
449
+ output.printError(errorMessage);
450
+ }
451
+ return { success: false, exitCode: 1 };
452
+ }
453
+ },
509
454
  };
510
455
  export default statusCommand;
511
456
  //# sourceMappingURL=status.js.map